MPEG4 video over RTP
James.Hart at schneider-electric.com
Tue Jul 30 13:23:18 PDT 2013
Hi, I have an application which needs to stream MPEG4 video data over RTP to a very specific client. I have programatically setup a pipeline with the video test source => avenc_mpeg4 => rtpmp4vpay => tee => udpsink*. This successfully streams RTP data. However, the client, which I can't change, seems to want the mpeg start codes to be removed because it will add it's own. I think this is similar to the H264 use case where you can send a byte-stream, or not. However I don't see such an option for the MPEG4 rtp stream?
I have tried using rtpmp4gpay instead of rtpmp4vpay but caps negotiations fails with rtpmp4gpay. First, I am actually not sure if this plugin changes is what I need? Second, I tracked down the CAPS navigation issue from the rtmp4gpay source. The CAPS issue happens because there is no codec_data structure on the negotiated caps so the media type is never set which causes the caps negotiation to fail. rtpmp4vpay did not have this requirement. I would have expected the codec_data to be set via the avenc_mpeg4 plugin, but it does not. I don't know how to force a codec_data structure, or if I even should?
We have had to create a custom plugin to modify buffers in the past, so that is an acceptable solution. However, I'd rather not if there is a better way to solve our use case.
Does anyone have any insight for my use case and/or issues I am seeing?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the gstreamer-devel