ffmpeg - 在 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' 不匹配任何流。”
解决方案
推荐阅读
- python - Inno Setup 在包含一个空文件夹进行安装时给出错误“找不到匹配的文件”
- html - 如何让一个 div 固定位置,其他元素直接在这个 div 下开始
- ssas - Currentmember.Level 的返回值是多少?(MDX)
- opencv - iOS中的OpenCV相机旋转
- sql - 如何在sql server中找到所有包含给定表主键外键的表?
- vb.net - 当 Progressbar.value = 最大值 | 我想自动重启
- django - 视图 formApp.views.formRegister 没有返回 HttpResponse 对象
- vue.js - Nuxt.config.js noscript innerHtml 在浏览器上呈现
- java - 如何更改 intellij IDEA 上特定代码行的字体?
- python - PermissionError: [WinError 5] 运行脚本时