[Live-devel] Decoding h264 from an RTSP stream

Estelle W. Paus ewpaus at pobox.com
Fri Aug 20 17:36:44 PDT 2010


Pushkar,

Thank you so much for your reply.  I've identified the code you're talking about in H264VideoFileSink, but at what point in the processing is this done.  I was using mplayer as a guide to what needs to be done.  But, mplayer doesn't use any of those Livee555 classes like H264VideoFileSink.  So, I'm having problems figureing out how it all fits together.

Using live555 classes I've sort of traced what's going on through getting a MediaSession.  Then it all falls apart.  I don't know where Sink fits in, though I suspect it's sometime before decoding starts.  

Could you fill in some of the high level (pseudo code) steps between initializing subsessions and rtpCodecInitialize_video?

Does what I'm writing even make sense? Oh dear.

Thanks,
Estelle


From: live-devel-bounces at ns.live555.com on behalf of Estelle W. Paus
Sent: Thu 8/19/2010 4:39 PM
To: live-devel at ns.live555.com
Subject: [Live-devel] Decoding h264 from an RTSP stream



Using your live555 libraries and ffmpeg, I am trying to write an h264
player that uses RTSP.  Although I successfully seem to be receiving
the RTP packets, they are not being decoded.  In researching this
problem I have noticed the following:

ffmpeg h264 decoder seems to be looking for 001

When stepping through mplayer code, it finds this 001.
When I look at the stream with Wireshark, I do not see a 001.

My program that uses live555 and ffmpeg can't find 001 in the frame.

Questions:

Is the live555 library adding this 001 and if so where and how do I tell
it to do it?

Hello Estelle,

According to the RFC for H.264 RTP the RTP sender does not have to send the NALU start code prefix (0x000001). Neither does the RTP framing logic on the receiver have to insert this. This is done to save bandwidth. You can easily prefix the start code prefix to the NALU you receive in your sink implementation. You can look at the H264VideoFileSink implementation it must be doing the same, I used my own sink though.

pushkar



More information about the live-devel mailing list