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

Johann Ransay jransay at synelec.fr
Wed Mar 16 15:33:44 CET 2005


Le Mercredi 16 Mars 2005 12:47, vous avez écrit :
> On Wed, Mar 16, 2005 at 12:38:54PM +0100, Johann Ransay wrote:
> > 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/A4CAgHkAyUBGZGF0
> > > > >YTph cHBs aWNhdGlvbi9
> > > > > tcGVnNC1iaWZzLWF1O2Jhc2U2NCx3QkFTZ1RBcUJXMG1FRUg4QUFBQi9BQUFCRUtDS0
> > > > >NuNA SAgI AVAg0AABgAAADAAAAAwAWAgI
> > > > > ADAABgBoCAgBAARAAAAAAAAAAAAAAAAAADA4CAgiQAZUD0ZGF0YTphcHBsaWNhdGlvb
> > > > >i9tc GVnN C1vZC1hdTtiYXNlNjQsQVlDQ
> > > > > WdSVUJnSUNBT0FLZkE0Q0FnREVBQ2dBRWdJQ0FGRUFWQUQ2QUFBSDBBQUFCOUFBRmdJ
> > > > >Q0FB aElR Qm9DQWdCQUFSQUFBQUFBQUFB
> > > > > QUFBQUFBQUFBREFZQ0FnRk1GSHdPQWdJQk1BQlFBQklDQWdDOGdFUVBRa0FBZWhJQUF
> > > > >Ib1N BQll DQWdCMEFBQUd3OUFBQUFiVUl
> > > > > BQUFCQUFBQUFTQUF4SWlBRE5HQVJJRkdQd2FBZ0lBUUFFUUFBQUFBQUFBQUFBQUFBQU
> > > > >FBQX 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.
>
> I get the feeling that your vlc somehow lacks the livedotcom module. Did
> you compile vlc yourself? if so, you should have passed --enable-livedotcom
> and --with-livedotcom-tree=<path to live.com tree) to configure. When
> livedotcom is available, and the sdp is proper, modules/access/udp.c should
> never be called.
>
>
> Sigmund
>
I did compile vlc myself. And I have passed  --enable-livedotcom and 
--with-livedotcom-tree=<path to live.com tree> to configure. How can I check 
if livedotcom is used or not ?

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