use*_*501 74 audio mp3 ffmpeg m4a audio-conversion
我有一大堆音频文件(大约 1000 个),我想将它们从 m4a 转换为 mp3,这样我就可以在带有 USB 端口的 CD 播放器上播放它们。
我尝试做一些简单的事情,例如:ffmpeg -i FILE.m4a FILE.mp3
但这似乎将比特率降低到非常低的值,这不是我想要的。
同样,我不想使用恒定比特率(例如 320k)进行转换,因为我正在转换的某些文件是 320k m4a,而有些文件的质量与 96k m4a 一样低。
强制 320k 似乎没有意义,因为某些文件会变得比它们需要的大很多倍。同样,通过将我所有的 320k 文件转换为远低于 96k 的文件来销毁它们也是没有意义的。(目前,文件正在转换为大约 50k。)
有谁知道我怎么能做到这一点?我真正想做的是告诉 ffmpeg 将目录中的所有 m4a 文件转换为 mp3,同时尽可能保留当前的音频质量。(当然,从有损文件格式转换为有损文件格式可能会产生一些额外的损失。)
谢谢你的帮助。如果这是不可能的,是否有某种脚本可以在单独转换文件时检测到所需的质量?
PS:我正在使用英特尔 Mac,但也有一个 Ubuntu 盒子。
llo*_*gan 92
您可以使用中的-q:a
选项ffmpeg
来创建可变比特率 (VBR) MP3 输出:
ffmpeg -i input.m4a -c:v copy -c:a libmp3lame -q:a 4 output.mp3
Run Code Online (Sandbox Code Playgroud)
-q:a
使用什么值使用
-q:a
(或别名-qscale:a
)控制质量。值是特定于编码器的,因此对于 libmp3lame,范围是 0-9,其中较低的值表示较高的质量。
- 0-3 通常会产生透明的结果
- 4(默认)应该接近感知透明度
- 6 通常产生“可接受”的质量。
该选项
-q:a
映射到-V
独立lame
命令行界面工具中的选项。
您必须进行试验,看看您可以接受什么值。另请参阅Hydrogen Audio:推荐的 LAME 编码器设置。
在 Linux 和 macOS 中,您可以使用 Bash“for 循环”对目录中的所有文件进行编码:
$ mkdir newfiles
$ for f in *.m4a; do ffmpeg -i "$f" -codec:v copy -codec:a libmp3lame -q:a 2 newfiles/"${f%.m4a}.mp3"; done
Run Code Online (Sandbox Code Playgroud)
T.T*_*dua 39
MP3正式停产(从 2017 年开始)和过时的编解码器(我现在称它为死)。World 已经切换到AAC(更高效和高质量的编解码器),每个人都应该使用它,而不是 mp3:
ffmpeg -i filenameee.m4a -acodec copy output.aac
Run Code Online (Sandbox Code Playgroud)
更新:尽管我不建议这样做,但不幸的是,一些低质量和过时的硬件开发人员仍在生产使用的设备,mp3
并且有些人仍然要求使用这种格式......好吧,它是:
ffmpeg -i filenameee.m4a -acodec libmp3lame -ab 256k output.mp3
Run Code Online (Sandbox Code Playgroud)
小智 5
This worked for me:
ffmpeg -i testing.m4v -b:a 192K -vn testing.mp3
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
88696 次 |
最近记录: |