2013-03-16 123 views
0

我有一个捕捉设备(模拟到数字转换器:AverMedia USB捕捉卡)。 当我想在C#中使用DirectShowLib录制视频时,我只接收帧。我能够使用RawVideo Player录制帧并播放文件。我如何创建像AVI一样的标准视频文件头?当我想压缩数据时发生第二个问题。当我使用压缩时,我根本看不懂它。以编程方式将AVI文件头添加到视频流

这是我工作的GraphEdit模式:

enter image description here

如何创建标准的AVI或MPEG文件,用头和等?

回答

0

看看this你应该可以使用它来设置一个Avi对象,然后用你的帧添加AddFrame()来创建一个avi。

+0

不幸的是我不能那样做。因为代码只是将传入帧保存到单个文件。我可以将视频文件标题添加到保存的帧中吗?我知道帧的宽度,高度和fps。可能吗? – 2013-03-16 09:08:01

+0

我下载了DirectShow.NET示例并打开了Samples \ Capture \ DxTuner项目。在该项目中,您可以选择一个视频压缩器,并使用DirectShow功能创建一个标准的AVI文件。它将捕获设备记录到AVI文件。 – 2013-03-16 11:39:26

1

可播放文件具有一定的结构,捕获的数据通常通过所谓的多路复用器滤波器写入该文件。对于AVI格式,标准过滤器是AVI Mux Filter。它输入视频/音频并将其转换为输出上的文件兼容流。如果/当这个输出连接到文件写入器过滤器时,后者产生具有正确标题的文件。

相关问题