- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试使用 concat、blend 和 amx 滤镜合并两个视频文件。
当我只使用视频流时,我成功了两个视频。然后添加音频流代码(过滤器脚本)FFmpeg 不起作用。
两个视频交叉淡入淡出(干得好)
ffmpeg -y -i "A.mp4"-i "B.mp4"-filter_complex
“[0:v]分割[v000][v010];[1:v]分割[v100][v110];[v000]修剪=0:17[v001];
[v010]trim=17:27[v011t];[v011t]setpts=PTS-STARTPTS[v011];[v100]trim=0:10[v101];
[v110]trim=10:50[v111t];[v111t]setpts=PTS-STARTPTS[v111];[v101]
[v011]blend=all_expr='A*(if(gte(T,10),1,T/10))+B*(1-
(if(gte(T,10),1,T/10)))'[outv];[v001][outv][v111]
concat=n=3[outv2]"-vcodec libx264 -map [outv2] -t 50 d:\Output\1.mp4
1 + 音频流
ffmpeg -y -i“A.mp4”-i“B.mp4”
-filter_complex "[0:v]分割[v000][v010];[1:v]分割[v100][v110];[v000]trim=0:17[v001];[v010]trim=17:27[ v011t];[v011t]setpts=PTS-STARTPTS[v011];[v100]trim=0:10[v101];[v110]trim=10:50[v111t];[v111t]setpts=PTS-STARTPTS[v111] ;[0:a]asplit[a000][a010];[1:a]asplit[a100][a110];[a000]atrim=0:17[a001];[v010]atrim=17:27[a011t] ;[a011t]asetpts=PTS-STARTPTS[a011];[a100]atrim=0:10[a101];[a110]atrim=10:50[a111t];[a111t]asetpts=PTS-STARTPTS[a111];[ v101][v011]blend=all_expr='A*(if(gte(T,10),1,T/10))+B*(1-(if(gte(T,10),1,T/10) )))'[outv];[a101][a011]amix=inputs=2:duration=first:dropout_transition=3[outa];[v001][outv][v111] [a001][outa][a111] concat =n=6:v=1:a=1:不安全=1 [outv2][outa2]"
-vcodec libx264 -acodec aac -map [outv2] -map [outa2] -t 50 d:\Output\1.mp4
错误信息“Parsed_blend_16”过滤器输出板 0(视频)和“Parsed_concat_18”过滤器输入板 1(音频)之间的媒体类型不匹配[AVFilterGraph @ 026d3680] 无法创建链接 Blend:0 -> concat:1初始化复杂过滤器时出错。无效参数
如何解决?
ps。我认为过滤器脚本太复杂了。你能让我知道如何使用 ffmpeg 的交叉淡入淡出更简单的方法吗?
最佳答案
已解决如果您想在脚本中同时使用视频和音频流,您应该先编写视频流脚本,然后再编写音频。
"[0:v]split[v000][v010];[1:v]split[v100][v110];
[v000]trim=0:17[v001];[v010]trim=17:27[v011t];[v011t]setpts=PTS-STARTPTS[v011];
[v100]trim=0:10[v101];[v110]trim=10:50[v111t];[v111t]setpts=PTS-STARTPTS[v111];
[v101][v011]blend=all_expr='A*(if(gte(T,10),1,T/10))+B*(1-
(if(gte(T,10),1,T/10)))'[outv];
[v001][outv][v111] concat=n=3 [outv2];
[0:a]asplit[a000][a010];[1:a]asplit[a100][a110];[a000]atrim=0:17[a001];
[a010]atrim=17:27[a011t];[a011t]asetpts=PTS-STARTPTS[a011];
[a100]atrim=0:10[a101];[a110]atrim=10:50[a111t];
[a111t]asetpts=PTS-STARTPTS[a111];
[a101][a011]acrossfade=d=10[outa];
[a001][outa][a111] concat=n=3:v=0:a=1:unsafe=1 [outa2]"
关于c - 如何对音频流使用混合和连接过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58703758/
我是一名优秀的程序员,十分优秀!