ffmpeg - 与 xfade 合并时,ffmpeg 失败并显示“重复超过 1k 帧”
问题描述
当我尝试使用相同的编解码器(由 ffmpeg 在上一步中生成)合并 8 个或更多视频剪辑时,我收到一条More than 1000 frames duplicated
警告,并且生成的输出未正确合并。7 个视频剪辑不会发生这种情况。
我尝试删除第 8 个剪辑以检查该剪辑是否有问题,但它发生了同样的情况。也重新排序剪辑没有成功。
我使用的命令是:
ffmpeg -i scenes/step-000.mp4 -i scenes/step-001.mp4 -i scenes/step-002.mp4 -i scenes/step-003.mp4 -i scenes/step-004.mp4 -i scenes/step-005.mp4 -i scenes/step-008.mp4 -i scenes/step-009.mp4 -filter_complex_script temp/2021-03-17-14-51-13-6.txt -y -map "[video]" -map "[audio]" -pix_fmt yuv420p -movflags +faststart output.mp4
的内容filter_complex_script
是:
[0][1] xfade=transition=fade:duration=2:offset=2.48 [vtmp1]; [vtmp1][2] xfade=transition=fade:duration=2:offset=12.56 [vtmp2]; [vtmp2][3] xfade=transition=fade:duration=2:offset=100.58 [vtmp3]; [vtmp3][4] xfade=transition=fade:duration=2:offset=167.60 [vtmp4]; [vtmp4][5] xfade=transition=fade:duration=2:offset=222.62 [vtmp5]; [vtmp5][6] xfade=transition=fade:duration=2:offset=232.70 [vtmp6]; [vtmp6][7] xfade=transition=fade:duration=2:offset=282.72 [video]; [0:a][1:a] acrossfade=d=2:c1=tri:c2=tri [atmp1]; [atmp1][2:a] acrossfade=d=2:c1=tri:c2=tri [atmp2]; [atmp2][3:a] acrossfade=d=2:c1=tri:c2=tri [atmp3]; [atmp3][4:a] acrossfade=d=2:c1=tri:c2=tri [atmp4]; [atmp4][5:a] acrossfade=d=2:c1=tri:c2=tri [atmp5]; [atmp5][6:a] acrossfade=d=2:c1=tri:c2=tri [atmp6]; [atmp6][7:a] acrossfade=d=2:c1=tri:c2=tri [audio]
FFMPEG 版本 4.3.2-tessus
解决方案
你ffmpeg
的太老了。下载最新版本:最好是来自“git master”的构建。
推荐阅读
- azure - Azure 数据工厂和 Azure Databricks 中的自定义脚本
- python - setup.py '_io.TextIOWrapper' 对象没有属性 'split'
- c# - 如果速度为 0 或更低,如何锁定相机水平旋转?
- javascript - 如何等待 Firebase 存储图像上传,然后运行下一个函数
- node.js - 将 Joi 升级到最新版本后出错 - 架构只能包含普通对象(名称)
- html - 旧的取消链接内容仍然出现在我的网站页面上
- ios - 我可以以编程方式在资产目录之间切换吗?
- react-native - 如何用带有链接的文本组件替换字符串中的@mention - React Native
- python - 如何解决此错误 [缺少 1 个必需的位置参数:'request']?
- performance - 为什么 findAncestorWidgetOfExactType 是 O(N) 而dependOnInheritedWidgetOfExactType 是 O(1)