このモジュールでは、ビデオからオーディオを抽出したり、MP4ファイルからMP3を抽出したりするための、非常にコンパクトで重要なプログラムを作成します。
必要なパッケージのインストール
ビデオファイルから音声を抽出するために必要なパッケージをインストールする必要があります。
pipパッケージマネージャで簡単にインストールできます。
$ sudo pip3 install moviepy |
以上で、コードを書き始めることができます。
動画から音声を抽出するコード
1
2
3
4
5
6
7
8
9
10
|
from moviepy.editor import *
def mp4tomp3(mp4file,mp3file):
videoclip = VideoFileClip(mp4file)
audioclip = videoclip.audio
audioclip.write_audiofile(mp3file)
audioclip.close()
videoclip.close()
mp4tomp3( "video.mp4" , "audio.mp3" )
|
Understanding The Code
1行目:必要なライブラリのインポート
1
|
from moviepy.editor import *
|
まず、変換を助けるために moviepy
をインポートする必要があります。
これは、ビデオ編集のためのライブラリで、カット、連結、タイトル挿入、ビデオ合成(ノンリニア編集)、ビデオ処理、カスタムエフェクトの作成などを行う、非常に便利なツールです。
3-8行目:機能を定義する
3
4
5
6
7
8
|
def mp4tomp3(mp4file,mp3file):
videoclip = VideoFileClip(mp4file)
audioclip = videoclip.audio
audioclip.write_audiofile(mp3file)
audioclip.close()
videoclip.close()
|
ここでは、2つの引数を取る関数を定義しています。
- mp4file: 変換したいMP4ファイルの名前が入ります。
- mp3file:音声抽出の結果得られたmp3ファイルの名前
次に4行目で、mp4ファイルを読み込み、必要な処理を実行できるようにします。
次に、先に作成したVideoClipFileオブジェクトから音声を抽出し、引数で指定されたファイルに格納します。
最後に、不要なエラーが発生しないように、オーディオとビデオオブジェクトのハンドルを閉じて、この関数を終了します。
10行目:関数を呼び出す
10
|
mp4tomp3( "video.mp4" , "audio.mp3" )
|
最後に、ビデオの名前と、それを保存したいオーディオファイルの名前を指定して、この関数を呼び出します。
これで、カレントディレクトリに audio.mp3 というファイルが作成されます。
動画ファイルから音声を変換・抽出する
moviepy` ライブラリは非常にポータブルで、Windows、Linux、MacOSのいずれでも同じような結果を得ることができます。
このコードを実行すると、小さな tqdm
プログレスバーが表示され、抽出処理が完了すると消えるはずです。
あとは好きな音楽プレイヤーで再生してください。
この記事もチェック:Pythonで音楽ファイル(mp3)を読み込んで音楽を再生する方法
まとめ
この小さなコード片は、時々とても便利に使うことができます。