首页 > 解决方案 > 在 FFMPEG 中叠加介绍标题/视频并一步修复丢失的关键帧

问题描述

如何一步最佳地应用介绍视频(用可能丢失的关键帧替换几秒钟的视频,但保留原始音频)?

我有一批输入视频和一批相关的(自动生成的)“介绍”视频覆盖在它们上面(在这种情况下,替换前 3 秒的视频)。由于某些输入视频以这样一种方式剪切,即第一个关键帧丢失/损坏,以实现所需的音频起点,这一事实使情况变得复杂。

我目前的工作(但缓慢)两步过程是:

./ffmpeg.exe -i videoA.mp4 -force_key_frames "expr:gte(t,n_forced*3)" videoA-fixed.mp4

./ffmpeg.exe -i videoA-fixed.mp4 -i intro-videoA.mp4 -filter_complex "[0:0][1:0]overlay=enable='between(t,0,3)'[out]" -shortest -map [out] -map 0:1 -pix_fmt yuv420p -c:a copy -c:v libx264 -crf 18 mergedVideo.mp4

我尝试将 force_key_frames 参数添加到后一个命令,但 ffmpeg 似乎不喜欢那样。将它放在 filter_complex 之前会产生错误“过滤器图描述 [0:0][1:0]overlay=enable='between(t,0,3)'[out] 中的流说明符 ':0' 不匹配任何流。”

标签: ffmpeg

解决方案


推荐阅读