<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7653.18">
<TITLE>MPEG4 video over RTP</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->
<P><FONT SIZE=2>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? <BR>
<BR>
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?<BR>
<BR>
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.<BR>
<BR>
Does anyone have any insight for my use case and/or issues I am seeing? <BR>
<BR>
Thanks,<BR>
James<BR>
<BR>
<BR>
</FONT>
</P>
</BODY>
</HTML>