gpt4 book ai didi

ffmpeg 多个文本/ Logo 元素

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

我正在尝试将多个项目添加到 ffmpeg 命令并且卡住了。

到目前为止,在命令中,我正在自动更新一个用作视频的图像,我还想添加一个 Logo 和两行文本。

我一直成功,直到最后一项,即 Logo 覆盖。

这是代码的相关部分:

ffmpeg \
-f image2 -loop 1 \
-y \
-i "/var/www/html/image_rotate.png" \
-re \
-i audio.mp3 \
-vf "movie=/var/www/html/overlay_logo.png [watermark]; [in][watermark] overlay=0:0 [out], drawtext=fontsize=10:fontfile=/var/www/html/OpenSans-Regular.ttf:textfile=/var/www/html/text1.txt:box=1:boxcolor=#000000:fontcolor=#FFFFFF:x=0:y=(h-text_h-20):reload=1, drawtext=fontsize=10:fontfile=/var/www/html/OpenSans-Regular.ttf:textfile=/var/www/htmltext2.txt:box=1:boxcolor=#000000:fontcolor=#FFFFFF:x=0:y=(h-text_h-30)" \

这给了我以下错误:
Simple filtergraph ... was expected to have exactly 1 input and 1 output. However, it had >1 input(s) and >1 output(s). Please adjust, or use a complex filtergraph (-filter_complex) instead.

如果我删除我添加的最后一部分(覆盖 Logo ),我不会收到错误消息。
如果我添加多个 -vf 它只处理一个(文本或 Logo )。

我不确定如何实现这一目标。

最佳答案

当您需要在过滤时处理多个流时,推荐的方法是使用 filter_complex。

ffmpeg \
-loop 1 \
-i "/var/www/html/image_rotate.png" \
-i "/var/www/html/overlay_logo.png" \
-i audio.mp3 \
-filter_complex "[0][1]overlay=0:0,drawtext=fontsize=10:fontfile=/var/www/html/OpenSans-Regular.ttf:textfile=/var/www/html/text1.txt:box=1:boxcolor=#000000:fontcolor=#FFFFFF:x=0:y=(h-text_h-20):reload=1, drawtext=fontsize=10:fontfile=/var/www/html/OpenSans-Regular.ttf:textfile=/var/www/htmltext2.txt:box=1:boxcolor=#000000:fontcolor=#FFFFFF:x=0:y=(h-text_h-30)" \
-y \
-shortest \

Logo 现在作为常规输入提供。

关于ffmpeg 多个文本/ Logo 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52372285/

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