批处理FFMPEGNormalize和转换通过Python?

2024-10-01 00:20:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在编写一个脚本来帮助我批量转换和 将音频文件规范化(wma) 在寻找有用的工具时,我幸运地发现了FFMPEG Normalize!在

我的脚本是从Python运行的,我通过子进程调用FFMPEG。 我不能让FFMPEG规范化输出Mp3文件-因此我是 执行另一个FFMPEG调用来转换生成的wav文件。 你知道如何使FFMPEG规范化也转换成mp3吗? 第二个问题是我的文件夹中只有部分文件 处理,我不明白为什么。在路径上的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 normalize是用Python编写的,也许有 另一种方法来调用它而不是子进程? 我错过什么了吗?(我知道我是!)在

非常感谢你!在


Tags: 文件脚本进程oscall规范化mp3ffmpeg
1条回答
网友
1楼 · 发布于 2024-10-01 00:20:43

ffmpeg-normalize工具也允许您使用-a acodec <acodec>选项设置音频编码器。在

例如,EBU R128规范化一堆WAV文件并用libmp3lame将它们编码为MP3:

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

请注意,对于MP3,您可以使用MP3Gain更改音量,而不必重新编码文件。在

相关问题 更多 >