gpt4 book ai didi

c - 如何对音频流使用混合和连接过滤器?

转载 作者:行者123 更新时间:2023-11-30 14:35:03 27 4
gpt4 key购买 nike

我尝试使用 concat、blend 和 amx 滤镜合并两个视频文件。

当我只使用视频流时,我成功了两个视频。然后添加音频流代码(过滤器脚本)FFmpeg 不起作用。

  1. 两个视频交叉淡入淡出(干得好)

    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

  2. 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com