【问题标题】:FFmpeg audio concat/join not work properly in flutterFFmpeg 音频 concat/join 在颤振中无法正常工作
【发布时间】:2022-01-24 09:24:28
【问题描述】:

我正在使用ffmpeg_kit_flutter 和以下命令连接/加入音频。但是联合文件时长不对。

"-i \"concat:${audioFile1}|${audioFile2}\" -acodec copy $outPath";

我有两个音频文件,第一个音频文件持续时间为 27s,第二个音频文件持续时间为 1m 47s。

加入两个文件后,实际文件时长为 2m 14s。

  • 但是当我们在第一个输入中输入第一个文件,在第二个输入中输入第二个文件时,输出文件的持续时间是 2m 53s。
  • 如果我们在第一个输入中输入第二个文件,在第二个输入中输入第一个文件,则输出文件持续时间为 2m 6s。

以下是我的代码:

var cmd = "-i \"concat:${audioFile2.path}|${audioFile1.path}\" -acodec copy $outPath";

FFmpegKit.executeAsync(cmd, (session) async {
      final returnCode = await session.getReturnCode();
      log("returnCode $returnCode");
    });

请帮助我在加入两个文件后如何获得正确的持续时间?

【问题讨论】:

    标签: flutter dart audio ffmpeg


    【解决方案1】:

    使用这个命令,

    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";
    

    【讨论】:

      猜你喜欢
      • 2019-08-29
      • 1970-01-01
      • 2021-11-07
      • 1970-01-01
      • 1970-01-01
      • 2021-12-27
      • 1970-01-01
      • 2022-01-18
      • 2016-10-06
      相关资源
      最近更新 更多