Pythonで動画から音声を抽出する方法|ffmpegを使った自動化手順
Pythonとffmpegで動画から音声を抽出する方法
Pythonとffmpegを使うと、動画から音声を抽出し、MP3やWAV形式などで保存することができます。
たとえば、YouTube動画や撮影した動画から音声だけを取り出して、ポッドキャスト用の音声素材にしたり、字幕用のスクリプトを作成したりするのに役立ちます。
この記事では、Pythonからffmpegを使って動画から音声を抽出する手順を紹介します。
ffmpegとは
ffmpegは、音声や動画の変換・編集を行うための強力なツールです。
動画から音声を取り出したり、音声の形式を変換したり、編集したりすることができます。
Pythonは動画ファイルの読み書きにはシンプルですが、音声抽出にはffmpegを使用すると非常に便利です。
ffmpegをインストールする
まずはffmpegをインストールし、使用できるようにします。
Macの場合は、Homebrewを使って簡単にインストールできます。
brew install ffmpeg
インストールが完了したら、次のコマンドで正常にインストールできたか確認します。
ffmpeg -version
バージョン情報が表示されれば、ffmpegの設定は完了です。
動画から音声を抽出する
次に、実際にPythonスクリプトで動画から音声を抽出してみます。
たとえば、次のような動画ファイルがあるとします。
video.mp4
この動画から音声を抽出して、MP3形式で保存したい場合の例です。
Pythonコード
import subprocess
video_path = "video.mp4"
audio_output_path = "output.mp3"
command = [
"ffmpeg",
"-i", video_path,
"-q:a", "0",
"-map", "a",
audio_output_path
]
subprocess.run(command)
このコードを実行すると、video.mp4から音声を抜き出し、output.mp3というファイルが作成されます。
コードの意味
各コマンドの意味を解説します。
| 指定 | 意味 |
|---|---|
-i video.mp4 |
入力する動画ファイルを指定します |
-q:a 0 |
音声の品質を指定します(0は最高品質) |
-map a |
音声ストリームだけを選択します |
output.mp3 |
出力する音声ファイルの名前 |
音声をWAV形式にしたい場合は、出力ファイル名の拡張子を.wavに変更します。
まとめ
Pythonとffmpegを使うことで、簡単に動画から音声を抽出することができます。これまで紹介した内容のポイントは次の通りです。
- Pythonでffmpegを実行するだけで、動画から音声を抽出できる
- 音声ファイルの品質を
-q:aオプションで調整可能 -map aを使って、音声のみを抽出する設定
これを活用することで、動画編集の手間を大きく省けます。複数の動画を一括処理して音声を取り出すことも可能ですので、学んでおく価値があります。