当前位置:  开发笔记 > 编程语言 > 正文

播放MP3至前30秒

如何解决《播放MP3至前30秒》经验,为你挑选了6个好方法。

原始问题

我希望能够从现有的MP3文件生成一个新的(完全有效的)MP3文件,用作预览 - 先试后买的风格.新文件应仅包含曲目的前n秒.

现在,我知道我可以在传送文件时在n秒(从比特率和标题大小计算)"切断流" ,但这有点脏,并且在VBR轨道上是真正的PITA.我希望能够生成一个合适的MP3文件.

任何想法?

答案

这两个mp3splitffmpeg都是很好的解决方案.我选择了ffmpeg,因为它通常安装在Linux服务器上,也很容易用于Windows.这里有一些更好的命令行参数,用于使用ffmpeg生成预览

-t 在指定的秒数后切断

-y 强制文件覆盖

-ab 设置比特率,例如-ab 96k

-ar 设置采样率,例如-ar 22050为22.05kHz

-map_meta_data : 将跟踪元数据从infile复制到outfile

而不是设置-ab和-ar,您可以像Tim Farley建议的那样复制原始曲目设置:

-acodec copy

Tim Farley.. 130

我还推荐使用ffmpeg,但是John Boker建议的命令行有一个意想不到的副作用:它将文件重新编码为默认比特率(至少我在这里的版本是64 kb/s).这可能会让您的客户对声音文件的质量产生错误的印象,而且还需要更长的时间.

这是一个命令行,在没有转码的情况下切片到30秒:

ffmpeg -t 30 -i inputfile.mp3 -acodec copy outputfile.mp3

-acodec开关告诉ffmpeg使用不转码的特殊"复制"编解码器.它闪电般快速.

注意:该命令是根据Oben Sonne的评论更新的



1> Tim Farley..:

我还推荐使用ffmpeg,但是John Boker建议的命令行有一个意想不到的副作用:它将文件重新编码为默认比特率(至少我在这里的版本是64 kb/s).这可能会让您的客户对声音文件的质量产生错误的印象,而且还需要更长的时间.

这是一个命令行,在没有转码的情况下切片到30秒:

ffmpeg -t 30 -i inputfile.mp3 -acodec copy outputfile.mp3

-acodec开关告诉ffmpeg使用不转码的特殊"复制"编解码器.它闪电般快速.

注意:该命令是根据Oben Sonne的评论更新的


最近的`ffmpeg`版本(至少从0.10.6开始)根据位置不同地解释选项.输入相关的选项必须出现在`-i ...'之前,输出相关的选项必须出现在`-i ...`之后.这意味着`ffmpeg -t 30 -i inputfile.mp3 -acodec copy outputfile.mp3`将*现在*是正确的答案.
如果要设置开始时间(偏移量),可以使用[`-ss hh:mm:ss [.xxx]`](https://ffmpeg.org/ffmpeg.html#Main-options).示例:`ffmpeg -t 30 -ss 00:00:15.500 -i inputfile.mp3 -acodec copy outputfile.mp3`将切片为*30秒*从*00h 00m 15s 500ms*开始.

2> the.jxc..:

如果你想删除前30秒(并保留剩余部分),那么使用:

ffmpeg -ss 30 -i inputfile.mp3 -acodec copy outputfile.mp3



3> John Boker..:

尝试:

ffmpeg -t 30 -i inputfile.mp3 outputfile.mp3



4> Michał Šraje..:

你可以使用mp3cut:

cutmp3 -i foo.mp3 -O 30s.mp3 -a 0:00.0 -b 0:30.0

这是在ubuntu回购中,所以只是:sudo apt-get install cutmp3.



5> 小智..:

这个命令也很完美.我将音乐从20秒缩短到40秒.

-y:强制输出文件覆盖.

ffmpeg -i test.mp3 -ss 00:00:20 -to 00:00:40 -c copy -y temp.mp3



6> Ryan Duffiel..:

您可能想尝试Mp3Splt.

我之前在C#服务中使用过它,它只包含了mp3splt.exe win32进程.我假设你的Linux/PHP场景可以做类似的事情.


使用MP3Split成功进行mp3剪辑
推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有