audio - 批量 FFMPEG-Normalize 并通过 Python 转换?

标签 audio ffmpeg python mp3

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

我的脚本是从 Python 运行的,我正在通过子进程调用 FFMPEG。
我无法让 FFMPEG-Normalize 输出 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 规范化是用 Python 编写的,也许有
除了 subprocess 之外的另一种调用方式?
我错过了什么吗? (我知道我是 !)

太感谢了 !

最佳答案

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

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

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

请注意,对于 MP3,您可以使用 MP3Gain无需重新编码文件即可更改音量。

关于audio - 批量 FFMPEG-Normalize 并通过 Python 转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47187643/

相关文章:

ffmpeg - 实时直播 - RPI FFmpeg 和 H5 播放器

python - 如何设置 Pandas 索引的频率?

python - Tensorflow Deeplab 图像颜色图去除混淆

python - Flask-登录重置 MongoDB 密码 - 查询不起作用

audio - 如何在Simple Audio Engine中循环播放声音效果

php - 将音频文件长度保存在数据库中

ffmpeg - 为什么ffplay可以在没有sdp的情况下播放rtp流?

ffmpeg - 快速编码视频编解码器?

python - 以root身份运行pygame脚本时,没有声音输出吗?

c++ - FFTW 的功率谱不起作用,但在 MATLAB 中它可以