gpt4 book ai didi

ffmpeg - 无法在 filter_complex_script(电影过滤器)中使用输入文件

转载 作者:行者123 更新时间:2023-12-04 23:04:47 24 4
gpt4 key购买 nike

我正在尝试使用 ffmpeg 而不是 GUI 编辑器来编辑一些视频片段。
此示例有效,可读取 PNG 文件并在其上覆盖调整大小的视频:

ffmpeg -y \
-loop 1 -i 'Title.png' \
-i 'Presentation.mp4' \
-filter_complex_script 'my.nodes' \
-map "[video]" -map 1:a -codec:a copy output.mkv
文件 my.nodes 包含:
[1:v]scale=430:240[a];
[1:v]scale=1280:720[b];
[0:v][a]overlay=0:0[c];
[c][b]overlay=overlay_w*2:overlay_h:shortest=1[video]

但是,我不想将输入文件称为数字(1:v 等),而是使用“电影”过滤器将文件输入为源过滤器,如下所示:
ffmpeg -y \
-filter_complex_script 'my_improved.nodes' \
-map "[video]" output.mkv
文件 my_improved.nodes 包含:
movie=Title.png[title];
movie=Presentation.mp4[talk];
[talk]scale=430:240[a];
[talk]scale=1280:720[b];
[title][a]overlay=0:0[c];
[c][b]overlay=overlay_w*2:overlay_h:shortest=1[video]
这给出了错误:
Invalid file index 0 in filtergraph description movie=Title.png[title];
movie=Presentation.mp4[talk];
[talk]scale=430:240[a];
[talk]scale=1280:720[b];
[title][a]overlay=0:0[c];
[c][b]overlay=overlay_w*2:overlay_h:shortest=1[video]
.

如何将视频/图像名称嵌入过滤器本身?

最佳答案

我解决了,但我认为错误信息有点模糊。
这有效:

movie=Title.png[title];
movie=Presentation.mp4, split=2[talk1][talk2];
[talk1]scale=430:240[a];
[talk2]scale=1280:720[b];
[title][a]overlay=0:0[c];
[c][b]overlay=overlay_w*2:overlay_h:shortest=1[video]
在非工作示例中,我输入了 movie=Presentation.mp4[talk];给一个输出节点 [talk] .
然后在“比例”行中使用了两次,因此有效地消耗了第一个输入,而第二个输入不可用(似乎)。
通过添加 split=2[talk1][talk2]到第二行,我有两个输出节点,然后可以被“比例”线消耗。
我可以使用 [1:v] 似乎不一致问题中工作版本中输入的两倍,但不是 [talk]在非工作版本中是输入的两倍。

关于ffmpeg - 无法在 filter_complex_script(电影过滤器)中使用输入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72779032/

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