gpt4 book ai didi

ffmpeg - 为 ffmpeg 视频添加边框 [ffmpeg-python]

转载 作者:行者123 更新时间:2023-12-04 22:55:04 30 4
gpt4 key购买 nike

我正在制作一张圣诞贺卡,我需要将视频嵌入到右侧(边框内)的卡片中,并在左侧显示一些文本。

为简单起见,假设我有一个带有透明孔的盒子。我想在那个洞里显示视频。

我正在使用 ffmpeg-python很高兴看到如何实现它的示例。发布 native 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 创建无限视频
  • 叠加,同时适当缩放两个流
  • 创建输出

  • 这是我想要实现的目标:
    enter image description here

    透明的原因是因为它实际上不是一个矩形。我可以将视频放在心形等内。

    最佳答案

    您的代码应该可以工作。

    构建示例输入 box.pngvideo.mp4使用 FFmpeg在命令行中:

    制作分辨率为 160x120 的 5 秒视频:

    ffmpeg -y -r 10 -f lavfi -i mandelbrot=rate=10:size=160x120 -t 5 -c:v libx264 video.mp4
    video.mp4 的最后一帧(分辨率 160x128):
    enter image description here

    构建分辨率为 260x220 的单个 png 图像:
    ffmpeg -y -f lavfi -i testsrc=260x220 -frames:v 1 box.png
    box.png (分辨率 260x228):
    enter image description here

    在 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):
    enter image description here

    我使用最新版本的 ffmpeg 执行了测试。 (4.2) 和 ffmpeg-python (0.2.0) 包。

    关于ffmpeg - 为 ffmpeg 视频添加边框 [ffmpeg-python],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59362239/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com