使用directshow将h264流写入Mpeg容器

时间:2011-06-27 07:47:10

标签: video directshow video-processing

我有一个源过滤器正在推动" h264"流。我想将此流写入MPEG4(或可能是AVI)容器。

SourceFilter[output = H264]  ---> X--->Y ....--->FileWriter[record.mpeg4]

我如何使用DirectShow执行此操作? (也打开不使用DirectShow的替代解决方案)

祝福

  P.S:顺便说一句,什么是最好的   H264流的容器格式?

更新MPEG-4 Mux

好吧,我只是试试MPEG-4 Mux(www.gdcl.co.uk/mpeg4)。我的rtsp源过滤器和MUX无法连接。 Intelligent Connect尝试将FFdshow解码器放在源过滤器和多路复用器之间。

它不会在graphEdt上给出错误,但记录的流是" O" BYTE.No记录。 我缺少做某事......但它是什么?

enter image description here enter image description here

1 个答案:

答案 0 :(得分:1)

在www.gdcl.co.uk/mpeg4上有源代码形式的mpeg-4 mux滤波器。这通常用于H264。

您需要检查您提供的格式。有两种选择:字节流格式(在每个NALU之前有00 00 01起始码)和长度前置(在每个NALU之前有一个长度字段,存储在MP4文件中)。多路复用器应该同时接受这两者,但你可能需要检查你正在使用的fourcc / subtype guid对于多路复用器来说与你的源相同。