ffmpeg - ffmpeg filter_complex 修剪不同步
问题描述
命令行:
ffmpeg -i <INPUT> -filter-complex "<FILTER_COMPLEX>" -map "[ofa]" -map "[ofv]" -acodec aac -vcodec libx264 test.mp4
FILTER_COMPLEX
内容:
[0:v]split=3[sv1][sv2][sv3];
[0:a]asplit=3[sa1][sa2][sa3];
[sv1]trim=start=200:duration=5,setpts=PTS-STARTPTS[ov1];[sa1]atrim=start=200:duration=5[oa1];
[sv2]trim=start=300:duration=5,setpts=PTS-STARTPTS[ov2];[sa2]atrim=start=300:duration=5[oa2];
[sv3]trim=start=400:duration=5,setpts=PTS-STARTPTS[ov3];[sa3]atrim=start=400:duration=5[oa3];
[ov1][ov2][ov3]concat=n=3:v=1:a=0[ofv];
[oa1][oa2][oa3]concat=n=3:v=0:a=1[ofa]
结果,输出的视频声音不同步,视频重定向到 00:00:00,但声音保持在原始时间位置。
因此,如何使用ffmpeg从一个视频中截取几个片段,重新组合成一个新的视频文件,并保持音画同步。
我试过[sa1]atrim=start=200:duration=5,setpts=PTS-STARTPTS[oa1]
但出现错误:
Media type mismatch between the 'Parsed_atrim_4' filter output pad 0 (audio) and the 'Parsed_setpts_5' filter input pad 0 (video)
Cannot create the link atrim:0 -> setpts:0
Error initializing complex filters.
Invalid argument
解决方案
推荐阅读
- reactjs - React - 循环渲染
- excel - Excel 要求我更新新文件的链接
- php - 如何让 have_posts() 查找所有语言的帖子?
- python - Python 和 Visio 365:自动保存到 .svg
- python - Python:将列中的每一行与所有其他条目进行比较
- c# - 从表中提取一个特定条目?
- seedstack - 我想使用带有存储库的种子堆栈在数据库上应用 Max() 函数
- google-cloud-platform - 在 mac zsh 终端上安装 apache-beam[gcp] 时出错 - “zsh: no match found: apache-beam[gcp]”
- python - 如何根据熊猫中另一个数据集中的列过滤一个数据集
- coq - Coq 构造函数不能接受两个不同类型的参数?