C ++从多个视频文件创建1个视频

c++ creating 1 video from multiple video files

本文关键字:视频 文件创建 1个      更新时间:2023-10-16

我需要写一个像电视一样的程序。

我需要创建 1 个视频表单

例如,4个视频文件(假设第一个视频应该在流的

左上角,第二个视频应该在流的右上角,等等(。

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

所以,问题是,

如果有任何可以帮助我?

谢谢。

你的问题错过了很多细节。你写跨平台程序吗?或者它应该只在Windows或*nix上运行?另外,您对可能的库有无限的预算吗?或者您正在寻找开源库?所以。。。

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

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

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

2(由于现在是原始位图,因此可以使用例如 DrawText (http://msdn.microsoft.com/en-us/library/windows/desktop/dd162498(v=vs.85(.aspx(,为了便于使用 WinAPI,可以使用一些 GDI 包装库。

我想这里的主要陷阱之一是正确同步来自不同文件的帧的呈现时间,因为它们都可以有不同的 fps 和时间中断,因此您不能只是逐帧读取,但您需要跟踪在应用所需转换时应该从哪个帧呈现哪个文件。