【发布时间】:2016-01-21 15:46:24
【问题描述】:
我正在尝试使用 ffmpeg 将背景视频与另一个半透明视频叠加。
感谢Overlaying multiple videos with ffmpeg,我设法将视频叠加在背景视频上。
问题是我不知道如何使叠加视频半透明。
到目前为止,我正在使用以下命令:
ffmpeg -i VID_105470127_044810.mp4 -vf "movie=VID_21550603_142437.mp4 [a]; [in][a] overlay=10:10 [c]" combined.mp4
ffmpeg -i VID_105470127_044810.mp4 -i VID_21550603_142437.mp4 -filter_complex "overlay, overlay=10:10" combined.mp4
我尝试使用淡入淡出效果,但这不是我想要的。请指出我在哪里寻找以及我可以尝试什么来实现这一目标。
更新 #1
看起来混合过滤器正是我需要的,但出现了另一个问题:
ffmpeg -i video1280x720.mp4 -vf "movie=video640x640.mp4 [a]; [in][a] overlay=10:10 [c]" combined.mp4
[Parsed_blend_3 @ 0x7f8041500da0] First input link top parameters (size 1280x720, SAR 1:1) do not match the corresponding second input link bottom parameters (640x640, SAR 1:1)
[Parsed_blend_3 @ 0x7f8041500da0] Failed to configure output pad on Parsed_blend_3
所以,如果我能用不同的分辨率解决问题,我的任务就完成了。 请指教前进的方向。
更新#2
为了解决不同分辨率的问题,我决定裁剪视频,然后进行混合滤镜
ffmpeg -i VID_1920x1080.mp4 -filter:v "crop=640:640:0:0" -c:a copy VID_1920x1080_cropped.mp4
ffmpeg -i VID_1920x1080_cropped.mp4 -i VID_21550603_142437.mp4 \
-filter_complex "[1:0] setdar=dar=1,format=rgba [a]; [0:0]setdar=dar=1,format=rgba [b]; [b][a]blend=all_mode='overlay':all_opacity=0.8" blended.mp4
【问题讨论】:
-
混合滤镜 FWIW 似乎有不透明度选项
-
是的,我已经发现了控制不透明度的参数,但实际上我目前的问题是混合两个不同分辨率的视频
-
可能先覆盖太小的那个[?]
标签: ffmpeg