我想使用ffmpeg修剪某些mp3,而无需重新编码。我使用的命令是
ffmpeg -i "inputfile.mp3" -t 00:00:12.414 -c copy out.mp3
但是,out.mp3的长度为12.460s,当我在Audacity中加载文件时,我可以看到它是在错误的位置而不是12.414s处剪切的。
这是为什么?我在Google上搜索了一下,并尝试了其他一些命令,例如ffmpeg -i "inputfile.mp3" -ss 0 -to 00:00:12.414 -c copy out.mp3
(有趣的是,该长度导致12.434s的不同),但始终无法获得毫秒数的补偿。
PS。我不确定SO是否合适,因为它在技术上与编程无关,但是我在ffmpeg上发现的用于修剪音频文件的大多数东西都是stackoverflow问题,例如。 G。 ffmpeg trimming videos with millisecond precision
答案 0 :(得分:1)
您无法以这种精确度修整MP3(也不损失最大的编解码器输出)。在编码过程中添加了MP3帧左右的填充。 (另请参见:https://wiki.hydrogenaud.io/index.php?title=Gapless,以及完成这项工作所需的所有技巧。)
如果您需要精确的定时,请使用WAV中未压缩的压缩文件(如PCM)或FLAC等无损压缩文件。