【问题标题】:FFMPEG - Can you overlay part of a video with a couple of images?FFMPEG - 你能用几张图片覆盖视频的一部分吗?
【发布时间】:2011-10-25 22:06:28
【问题描述】:

我需要为视频添加叠加层,我想知道是否有使用 FFMPEG 的简单方法。

我有一组图像(横幅和肖像),我想在视频的部分时间段内将它们叠加在视频底部。例如,大约 5 秒后,我希望覆盖显示,然后在视频结束前大约 5 秒,我希望覆盖消失。

这可以使用 FFMPEG 命令行选项吗?

【问题讨论】:

  • 抱歉,我没有太多使用 FFMPEG 的经验。我通读了这篇文章,看来我需要做很多其他的事情,而不仅仅是 ffmpeg.exe -someoption 对吗?对于没有经验的 FFMPEG 用户,您能否详细说明或澄清这篇文章所指的一些内容。 (另请注意,我使用的是 Windows,而不是 linux/mac os)

标签: ffmpeg


【解决方案1】:

FFMPEG 可以在任何给定的视频时间将图像覆盖在视频上。

ffmpeg -i video -i image1 -i image2 -i image3
 -filter_complex
    "[0][1]overlay=x=X:y=Y:enable='between(t,23,27)'[v1];
     [v1][2]overlay=x=X:y=Y:enable='between(t,44,61)'[v2];
     [v2][3]overlay=x=X:y=Y:enable='gt(t,112)'[v3]"
-map "[v3]" -map 0:a  out.mp4

请查看此帖子了解更多详情:FFMPEG- Is it possible to overlay multiple images over a video at specified intervals?

【讨论】:

    【解决方案2】:

    ffmpeg 不允许这种图片处理。不过,也许你很幸运。

    由于无论如何您都必须解压缩视频,您可以使用 ffmpeg 将 RAW 图像创建到磁盘,使用一些实用程序覆盖图像(简单的 c# 应用程序就可以了),并使用 ffmpeg 创建另一个所需的视频(或与源相同)参数。

    要进行叠加,您可能可以使用 GIMP:http://www.gimp.org/tutorials/Basic_Batch/,因为它是一个跨平台工具,可以在批处理(命令行)模式下使用。

    【讨论】:

    【解决方案3】:

    FFMpeg 使用命令行覆盖图像迄今为止,最强大和最优雅的方法是使用名为 AVISynth 的工具。

    以下是一些简单的示例,其中一个将一个视频叠加在另一个视频之上(叠加图像是其中的一个子集):
    http://avisynth.org/mediawiki/Script_examples

    您可能想知道,这到底是什么工具?这就是它在概念上的工作方式:

    首先,您使用称为脚本的特殊命令创建一个简单的文本文档。这些命令引用一个或多个视频以及您希望在其上运行的过滤器。然后,您运行一个视频应用程序,例如 FFMPeg,并在命令行中传入脚本文件。这是 AviSynth 采取行动的时候。它会打开您在脚本中引用的视频,运行指定的过滤器,并将输出提供给视频应用程序。但是,该应用程序并不知道 AviSynth 正在后台运行。相反,该应用程序认为它正在直接打开位于您的硬盘驱动器上的经过过滤的 AVI 文件。

    使用 AVISynth,您想要的非常简单,但它可以扩展以制作像这个网站这样的视频,其中许多照片、文本和效果都放置在视频上。此电子贺卡网站上的所有视频均使用 FFMpeg 和 AVISynth 创建:http://www.hdgreetings.com

    它可能看起来有点不同,但是一旦你得到一个简单的脚本,你就会立即意识到这是有史以来最好的视频工具之一。当然,它是免费的。

    【讨论】:

    • 这看起来很有希望。 AVISynth 是跨平台的吗?
    • 跨平台支持仍在进行中,更多信息在这里:avisynth.org/mediawiki/AviSynth_v3。没有其他选择可以与它的功能真正竞争。只为 AVISynth 运行 Windows 服务器几乎是最糟糕的,很多人都这样做。
    • 刚刚在您的 cmets 中注意到您已经在 Windows 上。您的跨平台问题是硬性要求还是只是想了解更多信息?
    • 两者都有。如果可能,希望能够部署到 linux。
    • 我正在阅读 AVISynth.org 上的一些文档,看起来它只适用于作为源的 AVI?我的视频是 MP4 格式。这仍然是一个好的(或潜在的)解决方案吗?
    【解决方案4】:

    根据您使用的平台,您可以只播放视频,然后在视频上创建一个像 X 窗口一样的图像。在播放视频时,您可以使用 ffmpeg 录制 X 窗口,其中视频在后台播放,您的图像在前台播放。

    这是一个完整的黑客,但我把它扔在那里了。

    【讨论】:

      猜你喜欢
      • 2017-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-11
      • 2016-11-15
      • 1970-01-01
      • 1970-01-01
      • 2016-01-21
      相关资源
      最近更新 更多