aae*_*eim 2 video transparency overlay ffmpeg video-editing
我正在尝试为一个小视频添加透视图,然后将其叠加在另一个视频上。
到目前为止,我可以将视频变小,为其添加透视图并将其叠加到其他视频上。但是在应用透视滤镜后,多余的区域不会变透明,它们只会拉伸像素。
透视过滤器没有太多文档,但据我所知,无法将额外像素设置为透明。
所以我猜我需要将某种 alpha 蒙版应用到所需的区域?
这是我用于透视的命令:
ffmpeg -i /synced_folder/testvid.mp4 -vf perspective=0:0:W:H/4:0:H:W:3*H/4:0:1:0 /synced_folder/output5.mp4
Run Code Online (Sandbox Code Playgroud)
不要认为这很重要,但我正在使用 centOS 的 VM 上运行 ffmpeg。
这需要一种非常规的方法。透视滤镜旨在纠正录制过程中某些类型的失真,而不是用于 DVE 类型的叠加。边缘的像素将被扩展以填充画布。
这里的技巧是为视频添加透明填充,然后添加透视。被扩展的像素将是透明像素,它们在叠加时变得不可见。
ffmpeg -i base.mp4 -i overlay.mp4
filter_complex" [1]pad=iw+4:ih+4:2:2:black@0,perspective=0:0:W:H/4:0:H:W:3*H/4:0:1:0[p];
[0][p]overlay=-2:-2" output.mp4
Run Code Online (Sandbox Code Playgroud)
我填充了 2 个像素的边框,选择是因为通常的像素格式是 4:2:0。边框颜色为黑色,但 alpha 为0
.
严格来说,应该修正透视值以考虑边界,但这是一个很小的变化。叠加层也会偏移以将可见视频与预期目的地对齐。
归档时间: |
|
查看次数: |
2162 次 |
最近记录: |