向ffmpeg视频添加边框[ffmpeg python]
我正在制作一张圣诞卡,我需要将视频嵌入右边(边框内)的一张卡中,并在左边显示一些文本 为了简单起见,假设我有一个带孔的透明盒子。我想在那个洞里展示视频 我正在使用向ffmpeg视频添加边框[ffmpeg python],ffmpeg,Ffmpeg,我正在制作一张圣诞卡,我需要将视频嵌入右边(边框内)的一张卡中,并在左边显示一些文本 为了简单起见,假设我有一个带孔的透明盒子。我想在那个洞里展示视频 我正在使用ffmpeg-python,如果能看到如何实现它的示例,那将是一件非常棒的事情。发布本地ffmpeg解决方案也很好,尽管我相信已经有一些这样的例子 据我所知,我需要始终从主节点(例如最大的节点)开始,并将视频放在孔内 但是,当我尝试以下方法时: import ffmpeg in_file = ffmpeg.input('video.m
ffmpeg-python
,如果能看到如何实现它的示例,那将是一件非常棒的事情。发布本地ffmpeg解决方案也很好,尽管我相信已经有一些这样的例子
据我所知,我需要始终从主节点(例如最大的节点)开始,并将视频放在孔内
但是,当我尝试以下方法时:
import ffmpeg
in_file = ffmpeg.input('video.mp4')
border_box = ffmpeg.input('box.png')
(
ffmpeg.overlay(
border_box, in_file, x=50, y=50
)
.output('out.mp4')
.run()
)
它不起作用。但反之亦然,例如,在视频中放置边框框不起作用,因为它覆盖了视频的边框
我认为需要做的事情
box.png创建无限视频
透明的原因是因为它实际上不是一个矩形。我可以在心形内放置视频等。您的代码应该可以工作 使用命令行中的
FFmpeg
构建示例输入box.png
和video.mp4
:
以160x120分辨率构建5秒视频:
ffmpeg -y -r 10 -f lavfi -i mandelbrot=rate=10:size=160x120 -t 5 -c:v libx264 video.mp4
video.mp4的最后一帧(分辨率160x128):
构建分辨率为260x220的单个png图像:
ffmpeg -y -f lavfi -i testsrc=260x220 -frames:v 1 box.png
box.png
(决议260x228):
在Python中执行代码:
import os
import ffmpeg
in_file = ffmpeg.input('video.mp4')
border_box = ffmpeg.input('box.png')
(
ffmpeg.overlay(
border_box, in_file, x=50, y=50
)
.output('out.mp4')
.run()
)
out.mp4的最后一帧(分辨率260x220):
我使用最新版本的ffmpeg
(4.2)和ffmpeg-python
(0.2.0)包执行了测试 box.png
是纯色,还是显示图像、艺术等?它是一个框架,有设计,所以是图像。我想我也可以在视频上加垫,然后覆盖图像。这似乎是正确的方法?如果你提供一个模型图像来显示你想要的结果,这将是最容易回答的。我已经做了编辑