<!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>