cin*_*lug 2 video ffmpeg overlay images
我正在尝试制作包含静态图像和覆盖在其上的较小视频的视频。叠加视频的尺寸和位置会动态发送到运行 FFMPEG 的服务器脚本,因此我需要在叠加视频之前对其进行缩放。所以,我使用的数值仅用于测试。原始视频的尺寸为 72:48px。我试过这样的命令:
ffmpeg -i background.jpg -vf "movie=overlay.mp4, scale=128:96 [inner]; [in][inner] overlay=70:70 [out]" -y output.mp4
Run Code Online (Sandbox Code Playgroud)
但是,它会立即生成一个空视频。另一方面,如果我尝试-loop 1
在ffmpeg
命令后立即插入,视频的处理似乎需要无穷无尽的时间并且永远不会完成。
我想要实现的是避免首先创建缩放视频。有可能吗,我做错了什么?
用
ffmpeg -loop 1 -i background.jpg \
-vf "movie=overlay.mp4,scale=128:96[inner];[in][inner]overlay=70:70:shortest=1[out]" \
-y output.mp4
Run Code Online (Sandbox Code Playgroud)
图像需要循环播放,但这将创建一个无休止的流,因此覆盖过滤器中的最短参数在电影结束时停止过滤器。
包括覆盖的音频
ffmpeg -loop 1 -i background.jpg -i overlay.mp4 \
-filter_complex "[1]scale=128:96[inner];[0][inner]overlay=70:70:shortest=1[out]" \
-map "[out]" -map 1:a -c:a copy -y output.mp4
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6888 次 |
最近记录: |