【问题标题】:c++ creating 1 video from multiple video files [closed]c ++从多个视频文件创建1个视频[关闭]
【发布时间】:2013-09-28 06:09:46
【问题描述】:

我需要编写一个类似于电视的程序。

我需要创建 1 个视频表单

例如4 个视频文件(假设第一个视频应该在左上角,第二个视频应该在流的右上角,等等)。

我还需要在视频中添加一些滚动文本等等...

那么问题来了,

是否有任何 libs 可以帮助我解决这个问题?

谢谢。

【问题讨论】:

    标签: c++ video merge stream television


    【解决方案1】:

    不确定库,你也没有提到视频输入文件的格式(我假设它们是像 H.264 这样的压缩格式,因为如果它们是原始的,那只是一个子集),但是我需要在 Windows 上做 shis,我会做以下事情:

    1) 从输入文件中读取和解码帧(使用 FFMPEG 或 VFW),然后将编码数据放入更大的位图中,最终大小为 4 个屏幕

    2) 因为现在它是一个原始位图,所以应用文本或任何需要的东西,例如DrawText(http://msdn.microsoft.com/en-us/library/windows/desktop/dd162498(v=vs.85).aspx),为了简化 WinAPI 的使用,您可以使用一些 GDI 包装库。

    我想这里的主要缺陷之一是正确同步来自不同文件的帧的呈现时间,因为它们都可以有不同的 fps 和时间间隔,所以你不能只是逐帧阅读,但你需要保持在应用您需要的转换时,跟踪应该在每个步骤中显示哪个文件中的哪个帧。

    【讨论】:

      【解决方案2】:

      你的问题遗漏了很多细节。你写跨平台程序吗?还是应该只在 Windows 或 *nix 上工作?你对可能的图书馆也有无限的预算吗?或者您正在寻找开源库?所以...

      根据常识,您可以使用跨平台的 FFMPEG 库。如果你可以使用 Windows 平台而不是Avisynth,它提供了非常强大的脚本机制,允许你将多个视频合并为一个,你可以添加自己的过滤器来添加水印或其他类型的效果

      【讨论】:

      • 平台不重要,我正在寻找开源库。感谢您的回答。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-31
      • 1970-01-01
      • 1970-01-01
      • 2012-05-21
      • 1970-01-01
      • 2013-12-26
      • 2014-07-29
      相关资源
      最近更新 更多