1

我有简单的 Rtsp 源过滤器,它连接 Rtsp 服务器并获取 Rtp 数据包。问题是我必须在我的 Rtsp Source Filter Pin 中设置媒体子类型... [现在我给子类型硬编码]

pMediaType->SetSubtype(&MyHardCodedSubTypeGUID);

我想要的是根据即将到来的流使用子类型动态创建我的 pin。我从服务器获得 h264 和 mpeg-4 流。它们的 rtp 数据包有效负载格式是动态的:96...不能帮助我识别流是 mpeg4 还是 h264...

FFmpeg 可以从编解码器信息中获取流类型 [h264,mpeg4] ......但是我该怎么做呢?

最良好的祝愿

4

1 回答 1

2

RTP 负载不仅是动态的(96、97 等),它还提供了负载类型属性,您需要从中获取格式并转换为 DirectShow 媒体类型(参见下面的“ H264* ”):

m=video 0 RTP/AVP 96 
a=rtpmap:96 H264/90000 
a=control:trackID=1
a=fmtp:96 packetization-mode=1
于 2011-10-25T12:13:49.800 回答