我正在使用 ffmpeg_kit_flutter 连接/加入音频使用以下命令。但是联合文件的持续时间是不对的。
"-i \"concat:${audioFile1}|${audioFile2}\" -acodec copy $outPath";
我有两个音频文件,第一个音频文件持续时间为 27s,第二个音频文件持续时间为 1m 47s。加入两个文件后,实际文件持续时间为 2m 14s。
以下是我的代码:
var cmd = "-i \"concat:${audioFile2.path}|${audioFile1.path}\" -acodec copy $outPath";
FFmpegKit.executeAsync(cmd, (session) async {
final returnCode = await session.getReturnCode();
log("returnCode $returnCode");
});
请帮助我在加入两个文件后如何获得正确的持续时间?
最佳答案
使用这个命令,
var cmd ="-i ${audioFile1.path} -i ${audioFile2.path} -filter_complex 'concat=n=2:v=0:a=1[a]' -map '[a]' -codec:a libmp3lame -qscale:a 2 $outPath";
代替var cmd = "-i \"concat:${audioFile2.path}|${audioFile1.path}\" -acodec copy $outPath";
关于flutter - FFmpeg 音频 concat/join 在 flutter 中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70461149/