2017-11-08 4 views
0

私は現在、バッチ変換に役立つスクリプトに取り組んでいます。 オーディオファイル(wma to mp3)を正規化 便利なツールを検索すると、FFMPEG-Normalizeでつまずくことができました!バッチFFMPEG-正規化してPython経由で変換しますか?

私のスクリプトはPythonから実行されており、私はFFMPEGをサブプロセス経由で呼び出しています。 私はFFmpeg-Normalizeを出力してMP3ファイルを出力できませんでした。したがって、結果として得られるwavファイルを変換するために別のFFMPEGコールを実行しています です。 FFMPEGを正規化してmp3に変換する方法も知っていますか? 2番目の問題は、私のフォルダ内のファイルの一部だけが処理された であるということです。理由を理解できません。私がパスに持っている8つのファイルのうち、 時にはそれらのすべてが処理され、時には3または5だけ...非常に 変です!ここで が私のコードです:

for file in sorted(os.listdir(pathdes)): 
    os.chdir(pathdes) 
    subprocess.call(['ffmpeg-normalize','-m','-l','-0.1',file]) 
    file = 'normalized-' + file 
    file = file[:-3] + "wav" 
    file2 = file[:-3] + "mp3" 
    os.chdir(pathdes) 
    subprocess.call(['ffmpeg', '-i', file,'-b:a','320k', file2]) 

私はFFMPEGの正規化を理解するにはPythonで書かれた、多分 は、サブプロセス以外のそれを呼び出すための別の方法がありますか? 何か不足していますか? (私は知っている!)

ありがとう!

+0

'ffmpeg-normalize'プログラムは、単に'インポート 'できるような方法で書かれていないという意味で、pythonではないと付け加えるべきです。 – slhck

答えて

0

ffmpeg-normalizeツールでは、-a,--acodec <acodec>オプションを使用してオーディオエンコーダを設定することもできます。 MP3のために特別に、あなたは再することなく、音量を変更するMP3Gainを使用することができることを

ffmpeg-normalize --ebu --acodec libmp3lame --extra-options "-b:a 192k" *.wav 

注:EBU WAVファイルの束をR128-正常化とlibmp3lameでMP3にそれらをエンコードするために例えば

、 - ファイルをエンコードします。

+0

コマンド= ['ffmpeg-normalize'、 ' - デバッグ'、 ' - acodec'、 'libmp3lame'、 ' - 追加オプション'、 ' - b:320k'、 ' - format'、 'mp3 '、' - m '、' - l '、' - 0.1 '、ファイル] – Boris

+0

ありがとう!上記のmp3に変換する完全なコマンドです。 (--formatも同様)正規化されたファイルを取得しなかった理由は、その場合のファイルが0dbに近いクリップを含んでいたためです。 – Boris

関連する問題