第一个输入链接主时间基 (1/12800) 与相应的第二个输入链接 xfade 时间基 (1/90000) 不匹配

第一个输入链接主时间基 (1/12800) 与相应的第二个输入链接 xfade 时间基 (1/90000) 不匹配

First input link main timebase (1/12800) do not match the corresponding second input link xfade timebase (1/90000)当我运行以下 ffmpeg cmd 时出现错误:

ffmpeg -y -progress .progressinfo.dat 
 -i "E:/tmp/_MERGED.Test0.mp4" -i "E:/tmp/f3.ts" 
 -filter_complex "
 [0][1:v]xfade=transition=fade:duration=1:offset=1.645,format=yuv420p ; 
 [0:a][1:a]acrossfade=d=1" 
 -movflags +faststart  "E:/_MERGED.Test.mp4" 

我该如何解决?

答案1

您可以使用以下方法校正时间基准settb筛选

如果音频有问题,请使用asettb过滤器。

在里面文档例如,settb后跟setpts=PTS-STARTPTS,用于修复时间戳。


命令行:

ffmpeg -y -progress .progressinfo.dat 
       -i "E:/tmp/_MERGED.Test0.mp4" 
       -i "E:/tmp/f3.ts" 
       -filter_complex "[0:v]settb=AVTB,setpts=PTS-STARTPTS[v0];
                        [1:v]settb=AVTB,setpts=PTS-STARTPTS[v1];
                        [v0][v1]xfade=transition=fade:duration=1:offset=1.645,format=yuv420p;
                        [0:a]asettb=AVTB,asetpts=PTS-STARTPTS[a0];
                        [1:a]asettb=AVTB,asetpts=PTS-STARTPTS[a1];
                        [a0][a1]acrossfade=d=1" 
        -movflags +faststart 
        "E:\tmp\out_MERGED.Test.mp4"

答案2

因此,在得到了 Rotem 的大量帮助(再次感谢 Rotem)以及不同的尝试和解决了许多由此产生的问题之后,我想我已经找到了解决方案 - 那就是放弃尝试一次性完成它,而是将其分成 3 个 - (a)视频合并 + (b)音频合并 + (c)将视频和音频混合在一起。

为此,我找到了一个非常有用的网页 https://romander.github.io/ffmpeg-script-generator/,它给了我所需的命令(使用“分别生成音频和视频脚本?(分开脚本更有效)“复选框)。

(注意,我还添加了-crf 0ffmpeg 视频合并(a)和最终合并(c)命令)。

相关内容