无需重新编码的FFmpeg修剪和拼接mp3 [英] FFMPEG trim and concat mp3 without re-encoding

查看:0
本文介绍了无需重新编码的FFmpeg修剪和拼接mp3的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

日安,

我想知道是否可以在不使用ffmpeg重新编码的情况下将mp3文件的一部分"联接"到另一个文件。我需要在音频mp3文件前面加上静音以确保其长度为60秒。

即,如果我的音频文件.mp3为40秒,则需要在不重新编码的情况下添加20秒的静默时间。

我的想法是以与我的音频相同的CBR和采样率(44100和40kbps)获得60秒长的静默mp3(silence.mp3)。然后,我需要"修剪"该文件,并适当地连接/加入音频文件(.mp3)。

我有一个计算所需秒数的Linux脚本,我尝试使用以下Filter_Complex表达式:

ffmpeg -i silence.mp3 -i a.mp3 -filter_complex "[1]adelay=20000[b];[0][b]amix=2" out.mp3

但是,这会花费太长时间,因为它执行重新编码需要很长时间才能处理。我正在寻找一种不需要重新编码的解决方案,它可以将Silence.mp3的正确大小部分连接到.mp3。这些命令需要包括必须从整个Silence.mp3文件中使用的静默长度作为参数。

感谢您的任何建议。

推荐答案

您的要求是不重新编码,但您的方法就是这样做的。

假设您已准备好所需持续时间的静音MP3。

创建文本文件list.txt

file silence.mp3
outpoint 20
file main.mp3

和联接

ffmpeg -f concat -i list.txt -c copy merged.mp3

我假设Silence.mp3的属性在声道计数和采样率方面与主音频文件匹配。

这篇关于无需重新编码的FFmpeg修剪和拼接mp3的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆