FFmpeg 音频 concat/join 在 flutter 中无法正常工作

FFmpeg audio concat/join not work properly in flutter

我是 concat/join 音频,使用 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";