我有一个视频解密库,可以解码过时的视频格式,并通过回调函数返回BMP中的视频帧和WAV中的音频。现在我需要在Windows下以任何标准格式编码新视频。
这可能是标准的方法吗?我正在使用Win32 / C.我猜Windows有自己的编码库和驱动程序,我不需要使用FFMPEG。任何指向示例代码或至少要查看的库的指针都将非常有用。
编辑:我接受。 FFMPEG是最简单的方法。
答案 0 :(得分:5)
在Windows上,您有两种原生选择。
通过DirectShow肯定可行,但你最好享受COM编程以及Filters,Graphs和Monikers的概念(哦,我的)。有关速成课程,请参阅本教程:
答案 1 :(得分:4)
为了拯救自己的心痛,我回应了弗兰克关于使用FFMPEG的建议。使用正确的参数执行单独的FFMPEG流程将是实现编码目标的最简单方法。
您的其他选择包括:
libavcodec - FFMPEG中使用的中央库。我警告说似乎没有很多可用的libavcodec的Windows二进制文件,所以你可能需要自己编译,至少需要Cygwin或MingW设置。
ffdshow-tryouts - 基于libavcodec实现为DirectShow过滤器的视频编解码器库。他们似乎有一个API来操纵它,但它是一个.NET库。
答案 2 :(得分:1)
我建议查看VirtualDub源代码。这是一个众所周知的使用VFW的编码器。您可以从该软件中获得一些想法。