“Pythonで学ぶ:ポッドキャストテクニック〜完成動画からMP3音声抽出”
Youtube動画兼ポッドキャスト配信もしている方は、動画が完成したら複数のプラットフォームにアップするかと思います。
その際、スポティファイなどであれば、動画ごとアップすれば適切に音声だけ切り抜いてまとめてくれますが、音声メディアしか対応していない場合だったりする場合は面倒。
そこで完成動画からMP3の高音質版である320kbpsで抽出するPythonサンプルコードを紹介します。
必要なライブラリ:moviepy
moviepy
は動画編集および処理に使用される非常に強力なPythonライブラリです。
以下にmoviepy
を使用してできる10の機能を挙げてみます。
- 動画から音声抽出: 動画ファイルから音声トラックを抽出し、それを別のファイルとして保存する。
- ビデオクリッピング: 動画から特定の部分を切り取り、新しい短いクリップを作成する。
- ビデオ合成: 複数のビデオクリップを組み合わせて、単一のビデオファイルを作成する。
- ビデオのトリミング: 動画の長さを変更し、特定の時間範囲を残す。
- ビデオの回転とフリップ: 動画を回転させたり、水平または垂直に反転させたりする。
- ビデオの速度変更: 動画の再生速度を速めたり、遅めたりする。
- ビデオへのテキストの追加: 動画にテキストオーバーレイを追加し、タイトルや説明を挿入する。
- ビデオのリサイズ: 動画の解像度やサイズを変更する。
- ビデオへの画像の追加: 動画の特定のポイントに画像を挿入する。
- オーディオの差し替え: 動画のオリジナルのオーディオトラックを別のオーディオファイルに置き換える。
今回はこの中の音声抽出を使ってみます。
手順〜抽出まで
- 必要なライブラリをインポートする。
- 動画ファイルを読み込む。
- 動画ファイルから音声トラックを抽出する。
- 抽出した音声をファイルとして保存する。
のステップが必要です。
抽出する音声ファイルは320kbpsになるように指示しています。
それではまず、ライブラリをインストールしてみましょう。
pip install moviepy
Python環境がまだの方はM1Macになりますが、当サイトの環境構築を参考にしてください。
from moviepy.editor import VideoFileClip def extract_audio(video_file_path, audio_file_path): # 動画ファイルを読み込む video = VideoFileClip(video_file_path) # 音声部分を抽出し、指定されたファイルパスに保存する audio = video.audio audio.write_audiofile(audio_file_path) # 使用例 video_file_path = 'あなたのパス' # 動画ファイルのパス audio_file_path = 'あなたのパス' # 保存する音声ファイルのパス extract_audio(video_file_path, audio_file_path)
ここでのbitrate=’320k’が、音声のビットレートを設定する部分です。
160kbpsでいい場合や他のビットレートが必要な場合はここを変更してください。
主要な動画編集アプリを使って制作している方はアプリ内で音声のみ書き出すことができますので、そのステップをシェアしておきます。
Final Cut Proの音声だけ書き出す方法
Final Cut Proの場合は簡単です。
いつも通り書き出し設定を呼び出します。
書き出しの詳細設定のところではいつも通りなら、フォーマットがビデオとオーディオになっているかと思います。
ここを選択してオーディオのみに変えるだけ。
あとは形式の指定がありますので、最適な形式で書き出しましょう。
DaVinci Resolveの音声だけ書き出す方法
- タイムラインの準備
- DaVinci Resolveを開き、音声を書き出したいプロジェクトをロードします。
- 編集したいタイムラインを選択し、音声を書き出す部分を確認します。
- [Deliver] ページへ移動
- ワークフローの下部にある[Deliver]アイコン(出力アイコン)をクリックして、書き出しオプションにアクセスします。
- 書き出し設定の選択
- [Render Settings]パネルで、[Custom]を選択します。
- 「Format」ドロップダウンメニューから、「Audio Only」を選択します。
- オーディオ形式の選択
- 「Audio Format」ドロップダウンメニューから、希望するオーディオ形式(例:MP3、WAVなど)を選択します。
- 必要に応じて、他のオーディオ設定(ビットレート、サンプルレートなど)を調整します。
- 書き出し範囲の指定
- [Render Settings]パネルの下部にある[Render Range]セクションで、書き出したい範囲を指定します。全体を書き出す場合は、「Entire Timeline」を選択します。
- 書き出しキューへの追加
- [Render Settings]パネルの右下にある[Add to Render Queue]ボタンをクリックします。
- 書き出しの開始
- [Render Queue]タブを開き、追加されたジョブの横にある[Start Render]ボタンをクリックして、音声の書き出しを開始します。
Adobe Premiere Proの音声だけ書き出す方法
- プロジェクトの準備
- Premiere Proを開き、音声を書き出したいプロジェクトをロードします。
- [File] メニューから [Export] を選択
- メニューバーから「File」>「Export」>「Media…」を選択して、エクスポート設定ウィンドウを開きます。
- エクスポート設定の調整
- エクスポート設定ウィンドウで、「Format」ドロップダウンメニューから「WAV」や「MP3」などのオーディオ形式を選択します。Premiere Proでは「WAV」や「MP3」が一般的な選択肢です。
- 「Output Name」をクリックして、書き出されるファイルの名前と保存場所を設定します。
- オーディオのみを書き出す設定を選択
- 「Source Range」で書き出す範囲を指定します。全体を書き出す場合は、「Entire Sequence」を選択します。
- 「Export Video」チェックボックスをオフにして、ビデオの書き出しを無効にします。これにより、オーディオのみが書き出されます。
- 書き出し
- 設定が完了したら、「Export」ボタンをクリックして、音声の書き出しを開始します。