【python】動画ファイル(MOV、MP4)を音声ファイル(MP3・WAV)に変換する方法

スマホ(iphone)で作成した動画キャプチャ(mp4)を、PCに取り込んで、音声ファイルのみ抽出したmp3に変換したいと思います。

実行環境

windows 11

必要なプラグインをインストールする

「ffmpeg」と「ffmpeg-python」をインストールします。

$ pip install ffmpeg
$ pip install ffmpeg-python

変換用のプログラムファイルを作成

MP4からMP3に変換する

「mp4tomp3.py」と名付けて、pythonのファイルを作成します。

import ffmpeg 
input_file_path = "変換したいmp4のファイルパス"
output_file_path = "出力するmp3のパス"
 
stream = ffmpeg.input(input_file_path) 
stream = ffmpeg.output(stream, output_file_path) 
ffmpeg.run(stream)

コマンドラインから、以下を実行したらmp3が出力されます。

$ python mp4tomp3.py

音質は文句なしで、mp4と比較してファイルサイズが100分の1になりました。

これで、スムーズに動画制作がすすめられます。

MP4からWAVに変換する

「mp4towav.py」と名付けて、pythonのファイルを作成します。

import ffmpeg 

input_file_path = "変換したいmp4のファイルパス"
output_file_path = "出力するwavのパス"
 
# 入力 
stream = ffmpeg.input(input_file_path) 
# 出力 
stream = ffmpeg.output(stream, output_file_path) 
# 実行 
ffmpeg.run(stream)

コマンドラインから、以下を実行したらwavが出力されます。

$ python mp4towav.py

MOVからMP3に変換する

「movtomp3.py」と名付けて、pythonのファイルを作成します。

import os
import subprocess as sp
input_file_path = "変換したいmovのファイルパス"

file_name = os.path.splitext(os.path.basename(input_file_path))[0]

cmd_list = ['ffmpeg', '-i', input_file_path, file_name + '.mp3']
cmd = ' '.join(cmd_list)
sp.call(cmd, shell=True)

コマンドラインから、以下を実行したらwavが出力されます。

$ python movtomp3.py

フォルダ内のファイルを一括置換できるようにしました

harusdia.hatenablog.com