如何将mp3从x裁剪到x+;n使用ffmpeg?
接下来,我决定使用ffmpeg来裁剪MP3。在上个月,我发现了这样做的方法:如何将mp3从x裁剪到x+;n使用ffmpeg?,mp3,ffmpeg,crop,Mp3,Ffmpeg,Crop,接下来,我决定使用ffmpeg来裁剪MP3。在上个月,我发现了这样做的方法: ffmpeg -t 30 -acodec copy -i inputfile.mp3 outputfile.mp3 问题是我不想裁剪前30秒,我想从x裁剪到x+n,比如从30秒裁剪到100秒。我该怎么做呢 我正在阅读,但这并不是很简单,特别是因为我刚刚发现了ffmpeg,并且我不熟悉音频/视频编辑软件,所以任何指针都会很受欢迎。看看-t和-ss参数。他们应该做你想做的事 -持续时间 限制转码/捕获的视频 将序列设置为
ffmpeg -t 30 -acodec copy -i inputfile.mp3 outputfile.mp3
问题是我不想裁剪前30秒,我想从x裁剪到x+n,比如从30秒裁剪到100秒。我该怎么做呢
我正在阅读,但这并不是很简单,特别是因为我刚刚发现了ffmpeg,并且我不熟悉音频/视频编辑软件,所以任何指针都会很受欢迎。看看-t和-ss参数。他们应该做你想做的事 -持续时间 限制转码/捕获的视频 将序列设置为中指定的持续时间 秒。hh:mm:ss[.xxx]语法也是 支持 -党卫军阵地' 以秒为单位搜索给定的时间位置。 hh:mm:ss[.xxx]语法也受支持
例如,
ffmpeg-ss 30-t 70-i inputfile.mp3-acodec copy outputfile.mp3
应该在您提到的范围内(30s-100s)执行此操作。对Michael Madsens的回答进行一些扩展:
我发现以下任何一项都可以满足我的音频文件修剪要求:
ffmpeg-ss
-t
-i输入文件-c:复制输出文件
-i输入文件-tffmpeg-ss
-c:复制输出文件
-acodec
是codec:a
的别名,也可以指定为c:a
如
-t持续时间(输入/输出)
- 当用作输入选项(在-i之前)时,限制从输入文件读取数据的持续时间
- 当用作输出选项时(在输出url之前),在输出持续时间达到持续时间后停止写入输出
-ss位置(输入/输出)
- 当用作输入选项(在-i之前)时,在此输入文件中查找位置
- 当用作输出选项时(在输出url之前),解码但丢弃输入,直到时间戳到达位置
持续时间
和位置
遵循以下步骤:
或[-][HH:]MM:SS[.m..]
[-]S+[.m..][S | ms | us]
作为输入或输出的查找和持续时间之间的差异 请注意,在大多数格式中,不可能精确搜索,因此ffmpeg将在定位之前搜索到最近的搜索点。当转码和-精确搜索被启用时(默认),搜索点和位置之间的这个额外段将被解码并丢弃。当执行流复制或使用-noaccurate_seek时,它将被保留 我对以下文件进行了两次测试:
Input #0, mp3, from 'test16s.mp3':
Duration: 00:00:16.20, start: 0.025057, bitrate: 128 kb/s
Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 128 kb/s
与原始版本相比,Audacity调整了输出,并获得以下结果:
ffmpeg-ss3-t5-itest16s.mp3-c:一份拷贝。mp3
- 开始:3s+00756样本(3.017142857s)
- 结束:8s+02062样本(8.04675737s)
- 持续时间:5s+01306个样本(5.029614512s)
ffmpeg-ss3-itest16s.mp3-t5-c:一份拷贝。mp3
- 开始:3s+00756样本(3.017142857s)
- 结束:8s+00910样本(8.020634921s)
- 持续时间:5s+00154个样本(5.003492063s)
ffmpeg-itest16s.mp3-ss3-t5-c:一份拷贝。mp3
- 警告:这创建了一个文件,一些mp3解码器在尝试打开时出错
- 开始:2s+42184个样本(2.956553288s)
- 结束:8s+01071样品(8.024285714s)
- 持续时间:5s+02987个样本(5.067732426s)
ffmpeg-t5-itest16s.mp3-ss3-c:一份拷贝。mp3
- 警告:这创建了一个文件,一些mp3解码器在尝试打开时出错
- 开始:2s+42184个样本(2.956553288s)
- 结束:5s+02043个样本(5.046326531s)
- 持续时间:2s+03959样本(2.089773243)
ffmpeg-ss
-i test16s.mp3-t5-c:a copy out.mp3
- =3,2.99,2.98,2.97
- 开始时间:3s+00756samples(3.017142857s),持续时间:5s+00154
- =2.96
- 开始:同上,持续时间:4s+41951
- =2.95
- 开始:2s+43704(2.991020408),结束:7s+42707持续时间:4s+43103
- =2.94,2.93
- 开始:同上,持续时间:4s+41951
- =2.92
- 启动时间:2s+42552(2.964897959s),持续时间:4s+43103
- =3,2.99,2.98,2.97
ffmpeg-ss
-t5-itest16s.mp3-c:a copy out.mp3
- =3
- 开始时间:3s+00756(3.017142857s),持续时间:5s+01306(5.029614512s)
- =2.99,2.98,2.97
- 开始:相同,持续时间:5s+00155
- =2.96
- 起始:相同,持续时间:4s+43103
- =2.95
- 开始:2s+43704(2.991020408),结束:7s+43859持续时间:5s+00155
- =2.94,2.93
- 起始:相同,持续时间:4s+43103
- =2.92
- 启动:2s+42552(2.964897959s),持续时间:5s+00155
- =3
- 搜索步骤:1152个样本,26.122449 ms
- 寻道位置误差高达70毫秒
-I
选项使-I first不能跳到前30秒,-ss应该总是在-i-t之前,而-i-t应该在-i之后。ffmpeg-ss 30-i inputfile.mp3-t 70-acodec copy outputfi