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。
- 但是当我们在第一个输入中输入第一个文件,在第二个输入中输入第二个文件时,输出文件持续时间为 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");
});
请帮助我如何在加入两个文件后获得正确的持续时间?
使用这个命令,
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";
我是 concat/join 音频,使用 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");
});
请帮助我如何在加入两个文件后获得正确的持续时间?
使用这个命令,
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";