我正在尝试在两个起始点之间剪辑MP3,例如从10秒开始到16秒结束(时间间隔为6秒)。
我正在使用此命令:
ffmpeg -ss 10 -i input.mp3 -t 6 output.mp3
结果output.mp3
包含我指定的6秒,然后是8或9秒的空音频。我的命令有问题吗?
编辑:
ffmpeg -ss 10 -t 6 -i input.mp3 output.mp3
说-t is not an input option, keeping it for the next output; consider fixing your command line.
并给我一个文件,从10秒开始有8秒的音频,然后是9或10秒的静音。
ffmpeg -ss 10 -to 16 -i input.mp3 output.mp3
生成的文件长度是原始文件的两倍 - 基本上相同的音频文件会再次重复。\
测试输出:
我使用了Quicktime,最后它有静音。 finder中输出文件的描述就像14秒。当我使用VLC时,它会播放正确的6秒并停止,即使它在VLC文件浏览器中的持续时间为14.我的MPlayer无法正常工作。我也在Finder中做了预览音频,它正常播放6秒然后停止。但是MP3的圆形导引杆还没有到达终点。它还说14秒而不是6秒。
我的目标是通过REST API将此6秒文件传输到前端。我希望用户能够正确下载此文件。理想情况下,它不会有不一致的元数据(14秒而不是6秒)。
答案 0 :(得分:66)
对我而言
ffmpeg -ss 10 -t 6 -i input.mp3 output.mp3
或
ffmpeg -ss 10 -i input.mp3 -t 6 output.mp3
工作正常,只需6秒的音频。这是mplayer输出(最后一行):
A: 5.8 (05.7) of 6.0 (06.0) 0.5%
另外
ffmpeg -ss 10 -to 16 -i input.mp3 output.mp3
以同样的方式工作。我使用ffmpeg version 1.2.4
。我猜你的ffmpeg以某种方式“破坏”或输入文件以某种方式(在任何一种情况下报告错误)。
您可以使用portforwardpodcast
或
sox input.mp3 output.mp3 trim 10 6
答案 1 :(得分:40)
ffmpeg - Trim audio file without re-encoding
使用ffmpeg修剪音频文件而不重新编码。
从10秒开始修剪,以16秒结束(总时间为6秒)
ffmpeg -i input.mp3 -ss 10 -t 6 -acodec copy output.mp3
从00:02:54.583修剪到文件末尾
ffmpeg -i input.mp3 -ss 00:02:54.583 -acodec copy output.mp3
从00:02:54.583修剪5分钟(300秒)
ffmpeg -i input.mp3 -ss 00:02:54.583 -t 300 -acodec copy output.mp3
答案 2 :(得分:2)
我使用mp3cut获得了CBR和VBR mp3文件的巨大成功。
mp3cut -o output.mp3 -t 00:10-00:16 input.mp3
http://manpages.ubuntu.com/manpages/lucid/man1/mp3cut.1.html