原始问题
我希望能够从现有的 MP3 文件生成一个新的(完全有效的)MP3 文件以用作预览 - 先试后买的风格。新文件应该只包含第一个n轨道的秒数。
现在,我知道我可以“砍流”n交付文件时的秒数(根据比特率和标头大小计算),但这有点脏,而且是 VBR 轨道上的真正 PITA。我希望能够生成正确的 MP3 文件。
有人有什么想法吗?
Answers
Both mp3split
and ffmpeg
都是很好的解决方案。我选择 ffmpeg,因为它通常安装在 Linux 服务器上,而且也。这里有一些更好的命令行参数,用于使用 ffmpeg 生成预览
-
-t <seconds>
在指定秒数后进行斩波
-
-y
强制覆盖文件
-
-ab <bitrate>
设置比特率,例如-ab 96k
-
-ar <rate Hz>
设置采样率,例如-ar 2205022.05kHz
-
-map_meta_data <outfile>:<infile>
将轨道元数据从 infile 复制到 outfile
您可以复制原始轨道设置,而不是设置 -ab 和 -ar,如 Tim Farley 建议的那样:
我还推荐 ffmpeg,但 John Boker 建议的命令行有一个意想不到的副作用:它将文件重新编码为默认比特率(至少在我这里的版本中为 64 kb/s)。这可能会让您的客户对您的声音文件的质量产生错误的印象,而且还需要更长的时间。
以下命令行将在不进行转码的情况下分割为 30 秒:
ffmpeg -t 30 -i inputfile.mp3 -acodec copy outputfile.mp3
-acodec 开关告诉 ffmpeg 使用不转码的特殊“复制”编解码器。速度快如闪电。
注意:该命令已根据 Oben Sonne 的评论进行了更新
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)