我正在尝试制作视频的 RTMP 流并在其上放置一些图形数据。我有一个命令可以创建我需要的输出。唯一的问题是,尽管 PNG 图像在渲染过程中在磁盘上更新,但在输出视频中,叠加层始终保持不变。我希望 ffmpeg 在每次更改时(或每分钟左右)从磁盘中获取 PNG 图像并将其用作叠加层。那可能吗?
这是我用来呈现输出的命令:
ffmpeg \
-re -y \
-f lavfi \
-i "movie=filename=video/videobg.mp4:loop=0, setpts=N/(FRAME_RATE*TB)" \
-loop 1 \
-i images/forecast.png \
-filter_complex "[1:v]format=argb,geq=r='r(X,Y)':a='0.9*alpha(X,Y)'[overlay]; [0:v][overlay]overlay" \
-i data/musicbg.mp3 \
-ac 1 \
-ar 44100 \
-b:a 128k \
-vcodec libx264 \
-pix_fmt yuv420p \
-r 30 \
-g 60 \
output.mp4
Run Code Online (Sandbox Code Playgroud)