C ++:将图像写入视频文件,与已安装的编解码器无关

时间:2016-09-15 12:42:01

标签: c++ video

我正在尝试将一系列图像(16位灰度pgm)保存为视频。必须压缩视频。我的程序必须独立于系统中安装的编解码器。

我最初的想法是使用OpenCV,不幸的是它取决于系统中安装的编解码器(除非我遗漏了什么)。

我觉得应该有一种方法可以编译一个编码器(H264或类似的将是完美的)到程序中,或者用我的程序将其重新分发为dll。我找不到任何好的最新指导/示例。

我已经在遥远的广阔的AV编码海洋中游泳了几天,如果有人能指出我正确的方向,我会非常感激。

感谢。

1 个答案:

答案 0 :(得分:0)

正如Ben建议的那样,在代码中使用已建立的库是个好主意。

FFMPEG可能是目前使用最多的 - 它可以在命令行中使用,使用“包装”程序或者可以直接使用它构建的库。

我认为最后一个案例听起来像你想要的那个 - 你可以在这里找到文档:

注意一开始就消除歧义的评论 - 这一点很重要,因为项目库和库(你想要的)是不同的东西。

此答案中有一些关于如何将其构建到程序中的注释: