0
0

More than 1 year has passed since last update.

Pythonでmp4をmp3 , wavに変換  (ubuntu版)

Last updated at Posted at 2022-01-22

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)

$ pip3 install ffmpeg
イメージ7606.jpg

ただ、これでは、エラーが出ました。
違う物をインストールしたのが原因?

ffmpegをアンインストール
$ pip3 uninstall ffmpeg

変わりにffmpeg-pythonをインストール
$ pip install ffmpeg-python

ERROR:

AttributeError: module 'ffmpeg' has no attribute 'input'
イメージ7607.jpg

調べると、ffmpegをインストールしないと駄目みたいです。

ffmpegをインストール

$ sudo apt info ffmpeg
イメージ7610.jpg

$ sudo apt-get -y install ffmpeg
イメージ7611.jpg

$ rehash

$ ffmpeg --version
イメージ7612.jpg

実行

$ ./mp4_to_mp3.py
イメージ7615.jpg

無事 mp3ファイルが作成されました。
イメージ7616.jpg

複数のファイルも一度に変換

指定フォルダ内のファイルを一度に変換

作成前:
イメージ7619.jpg

作成後:
イメージ7618.jpg

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0