Pythonでffmpegを使用して、mp4からmp3やwavファイルを作成してみました。
テスト用の動画ファイルのサンプル素材は、以下からお借りしています。
ダウンロードしたファイル
free-video1-sea-cafinet.mp4
#サンプルコード
とりあえず、サンプルコードを作成。
mp4_to_mp3.py
#!/usr/bin/python3.8
# -*- coding: utf-8 -*-
import sys, re, glob, ffmpeg
TYPE:str = "mp3"
FILE_PATH:str = "/home/smb/*.[Mm][Pp]4"
# mp4 -> [mp3][wav]
def mp4_to_mp3(path,type):
ffmpeg.run(
ffmpeg.output(
ffmpeg.input(path) ,
re.sub("\.(mp4|MP4)$","."+type,path)
))
if ( __name__ == "__main__" ):
[mp4_to_mp3(path,TYPE) for path in glob.glob(FILE_PATH)]
TYPEに"mp3"か"wav"を設定し、
FILE_PATHには、mp4ファイルのあるディレクトリを設定。
#モジュールインストール(ffmpeg)
ただ、これでは、エラーが出ました。
違う物をインストールしたのが原因?
ffmpegをアンインストール
$ pip3 uninstall ffmpeg
変わりにffmpeg-pythonをインストール
$ pip install ffmpeg-python
#ERROR:
AttributeError: module 'ffmpeg' has no attribute 'input'
調べると、ffmpegをインストールしないと駄目みたいです。
ffmpegをインストール
$ sudo apt-get -y install ffmpeg
$ rehash
実行
#複数のファイルも一度に変換
指定フォルダ内のファイルを一度に変換