【发布时间】:2011-06-27 07:47:10
【问题描述】:
我有一个源过滤器正在推送“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。没有记录。 我错过了做某事......但它是什么?
【问题讨论】:
-
这个媒体类型是mpeg-4视频,当然不是你期待的H264。如果您已将输出的媒体类型设置为这种 mpeg-4 类型并且实际上是在提供 H264,那么它当然不会工作。
-
你是绝对正确的戴维斯。但是我将 rtsp 源过滤器设置的设置从属性页(到 h264)更改,它似乎没有刷新。对不起我的错误。但是当我再次添加我的 rtsp 源过滤器(它刷新到 h264)时,它无法重新连接到 MPEG 4 muxer。 Intelligent Connect 放了一个默认的 ffdshow(解码器)。现在记录“0”字节,尽管图形编辑不会出错。
-
@Geraint Davies。我用 Muxer 更新了我的实验。 Mux 的子类型和格式似乎 Guid_null...我做错了什么但无法弄清楚。感谢您警告我的错误。
-
fourcc VSSH 不是用于 H-264 的标准fourcc 之一。如果它与标准的 H264 Fourcc 相同或相似,您应该能够非常快速地将其添加到多路复用器中。
-
@Geraint Davies Thansk。这是一个开源过滤器。所以我可以添加它。将尝试它
标签: video directshow video-processing