[vlc-devel] Re: RTP & MPEG-4 elementary stream

Johann Ransay jransay at synelec.fr
Wed Mar 16 12:38:54 CET 2005


Le Mardi 15 Mars 2005 15:57, vous avez écrit :
> On Tue, Mar 15, 2005 at 03:48:52PM +0100, Johann Ransay wrote:
> > Le Mardi 15 Mars 2005 14:08, vous avez écrit :
> > > On Tue, Mar 15, 2005 at 02:01:34PM +0100, Johann Ransay wrote:
> > > > Le Mardi 15 Mars 2005 11:48, vous avez écrit :
> > > > > On Tue, Mar 15, 2005 at 10:33:50AM +0100, Johann Ransay wrote:
> > > > > > Hi,
> > > > > >
> > > > > > Can anyone tell me if vlc is capable of playing a video that is
> > > > > > streamed as a MPEG-4 elementary stream directly encapsulated in
> > > > > > RTP ?
> > > > >
> > > > > Yes, if you have a proper .sdp file for it.
> > > >
> > > > Thanks for your reply. I am not familiar with sdp files, would you
> > > > have an example please ?
> > >
> > > Usually the streaming server would generate one.
> > >
> > > It usually looks something like this:
> > > v=0
> > > o=- 1079341263814773 1079341263814774 IN IP4 192.168.0.41
> > > s=/etc/nrk1.sdp
> > > e=NONE
> > > c=IN IP4 225.117.97.46/15
> > > b=RR:0
> > > t=0 0
> > > a=mpeg4-iod:
> > > "data:application/mpeg4-iod;base64,AoCAgy4AT///D/T/A4CAgHkAyUBGZGF0YTph
> > >cHBs aWNhdGlvbi9
> > > tcGVnNC1iaWZzLWF1O2Jhc2U2NCx3QkFTZ1RBcUJXMG1FRUg4QUFBQi9BQUFCRUtDS0NuNA
> > >SAgI AVAg0AABgAAADAAAAAwAWAgI
> > > ADAABgBoCAgBAARAAAAAAAAAAAAAAAAAADA4CAgiQAZUD0ZGF0YTphcHBsaWNhdGlvbi9tc
> > >GVnN C1vZC1hdTtiYXNlNjQsQVlDQ
> > > WdSVUJnSUNBT0FLZkE0Q0FnREVBQ2dBRWdJQ0FGRUFWQUQ2QUFBSDBBQUFCOUFBRmdJQ0FB
> > >aElR Qm9DQWdCQUFSQUFBQUFBQUFB
> > > QUFBQUFBQUFBREFZQ0FnRk1GSHdPQWdJQk1BQlFBQklDQWdDOGdFUVBRa0FBZWhJQUFIb1N
> > >BQll DQWdCMEFBQUd3OUFBQUFiVUl
> > > BQUFCQUFBQUFTQUF4SWlBRE5HQVJJRkdQd2FBZ0lBUUFFUUFBQUFBQUFBQUFBQUFBQUFBQX
> > >c9PQ SAgIASAQUAAJoAAATQAAAE0A WAgIAABoCAgBAARAAAAAAAAAAAAAAAAAAD"
> > > a=isma-compliance:1,1.0,1
> > > m=video 47308 RTP/AVP 96
> > > b=AS:2000
> > > a=rtpmap:96 MP4V-ES/90000
> > > a=fmtp:96 profile-level-id=244;
> > > config=000001b0f4000001b508000001000000012000c488800cd1804481463f;
> > > a=mpeg4-esid:20
> > > a=x-mpeg4-simple-profile-decoder
> > > m=audio 47310 RTP/AVP 97
> > > b=AS:128
> > > a=rtpmap:97 mpeg4-generic/44100
> > > a=fmtp:97 streamtype=5; profile-level-id=15; mode=AAC-hbr; config=1210;
> > > SizeLength=13; IndexLength=
> > > 3; IndexDeltaLength=3; Profile=1;
> > > a=mpeg4-esid:10
> > >
> > >
> > > Hope this helps.
> > >
> > > Sigmund
> >
> > Thanks for your help. I managed to acceed to the stream. But the RTP
> > header is marked with a dynamic payload type (payload type = 0x79).
> > Is that legal for a RTP MPEG-4 ES ?
> > VLC does not seem to be able to handle this (no RTP header detected). Am
> > I doing something wrong ?
>
> Yes, when dealing with dynamic payload types the sdp needs to have a proper
> a=rtpmap line in the sdp.
>
> Sigmund
>
Sigmund,

Thanks a lot for this. I managed to read the RTP MPEG-4 ES with proper sdp 
file and two little modifications to vlc too !

First,
the file module/access/udp.c only accepts the following types as valid payload 
types:
33 for Transport Stream
14 for MPEG-1/2 audio
32 for MPEG-1/2 video
otherwise, it parse the packet as a simple udp (no RTP header deteced)

Second,
if RTP is detected, no check is done on the possible presence of a RTP 
extension header.

May be this file would deserve a patch to be more compliant with RTP 
specification. Let me know if a patch is welcome.

Johann

-- 
This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html



More information about the vlc-devel mailing list