我有一个采集设备(模拟数字转换器:AverMedia USB Capture Card)。当我想在 C# 中使用 DirectShowLib 录制视频时,我只接收帧。我可以使用 RawVideo Player 录制帧并播放文件。如何创建像 AVI 这样的标准视频文件头?当我想压缩数据时会出现第二个问题。当我使用压缩时,我根本无法阅读它。
这是我的工作 GraphEdit 架构:
如何创建带有标头等的标准 AVI 或 MPEG 文件?
我有一个采集设备(模拟数字转换器:AverMedia USB Capture Card)。当我想在 C# 中使用 DirectShowLib 录制视频时,我只接收帧。我可以使用 RawVideo Player 录制帧并播放文件。如何创建像 AVI 这样的标准视频文件头?当我想压缩数据时会出现第二个问题。当我使用压缩时,我根本无法阅读它。
这是我的工作 GraphEdit 架构:
如何创建带有标头等的标准 AVI 或 MPEG 文件?
可播放文件具有一定的结构,捕获的数据通常通过所谓的多路复用器过滤器写入此类文件。对于 AVI 格式,标准过滤器是AVI Mux Filter。它在输入上获取视频/音频,并在输出上转换为文件兼容的流。如果/当此输出连接到文件编写器过滤器时,后者会生成具有正确标题的文件。
看看这个,你应该可以用它来设置一个 Avi 对象,然后用你的框架 AddFrame() 来创建一个 avi。