如何使用ffmpeg修剪mp3文件?


10

这是一个困扰我一段时间的Linux音频MP3难题:

如何减少MP3音频文件的开头几秒钟?(我无法ffmpeg -ss使用00:01或1.000格式)

到目前为止,要执行我想要的操作,我会采取GUI方式进行操作,这对于单个文件而言可能会更慢,而对于一批文件而言肯定会更慢。


1
更新。后来,我偶然发现了ffmpeg对--ss时间格式非常挑剔的事实,例如,通过指定-ss 00:00:09,我能够最轻松地削减前9秒的时间(请注意,它需要所有3个数字(以hh:mm:ss格式表示)我使用的版本可能较旧... FFmpeg版本SVN-r18709,版权所有(c)2000-2009 Fabrice Bellard等。
马克·哈德森

Answers:


5

为了在Linux下编辑mp3,我建议sox。它具有易于使用的trim效果,man sox可以满足您的要求(请参见datails-搜索(按/)以查找“修剪开始”)。例:

sox input.mp3 output.mp3 trim 1 5

您没有提到它,但是如果您的目的只是消除文件开头的静音,您会发现silence效果更加有用(man sox,搜索“ perio-periods”)


谢谢,太棒了:它有效。trim为了简单起见,我最终使用。唯一的sox FAIL formats: can't open output file 'blah.mp3': SoX was compiled without MP3 encoding support失败者是--so,请重新输入ffmpeg:/
Mark Hudson,

这似乎很不正常。在我的计算机上,它可以正常播放mp3。这是构建时配置的问题。您是如何安装的?
rozcietrzewiacz 2011年

@rozcietrzewiacz,如果您从分发存储库安装sox,则很可能在没有MP3支持的情况下获得sox(由于许可证问题)。例如Fedora 17:no handler for file extension mp3
maxschlepzig 2013年

4

您可以尝试使用mp3splt,它可以拆分MP3和Ogg文件,并具有不重新编码文件的优点,从而避免了质量损失。


1
我喜欢; 谢谢。它很简单,但是有很多选项...例如:这是我刚刚使用的命令,它将分割时间添加到文件名中: mp3splt "$file" 4.12 27.55.7...它允许自定义输出名称格式和多个分割点。
Peter.O 2011年

1

确保您的时间规格以小时开头。

引用ffmpeg手册页

位置可以是秒,也可以是“ hh:mm:ss [.xxx]”形式

这意味着,当您选择第二种语法时,只有.xxx一部分是可选的。否则,ffmpeg可能会将其误解析为秒。

持续时间相同:

duration可以是以秒为单位的数字,也可以是“ hh:mm:ss [.xxx]”

另一个陷阱是ffmpeg参数的顺序(例如,输入文件的-ss/ -t选项必须在该-i选项之前)。

$ wget http://traffic.libsyn.com/twiv/TWiV179.mp3
$ ffmpeg -ss 1:05:59.3 -t 00:02:03.9 -i TWiV179.mp3 -acodec copy \
     what_is_a_hmm_twiv179.mp3

使用该规范,-ss 1:05:59.3 -t 2:03.9您将获得不同的结果(即2秒长)。

(在ffmpeg版本0.10.7的Fedora 17上进行了测试。)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.