[Live-devel] Questions about project to dump Images frames from H264 stream using live555 and ffmpeg

Brad O'Hearne brado at bighillsoftware.com
Tue Mar 6 13:25:31 PST 2012


Ross, Barry, and Jon, 

I want to thank you for your assistance with your answers on this mailing list. I am far from complete with the app I am working on, and will certainly be posting more questions as development progresses, but I now have a working prototype moving real-time video across a network through Live555 and ffmpeg to display on an iOS device. Your help has been appreciated more than you know. 

I'm sure I'm not the first to suggest this, and I mean this entirely in the spirit of helpful feedback, but it would be really helpful to start making available some current documentation and addressing various use cases. In particular, I believe the use case addressed by this thread (real-time H.264 to display, on mobile devices) is a very common use-case, given that no native ability to do so exists in either iOS or Android, so I think it would be great to start seeing attention to these uses take shape. 

I don't know what the typical / desired approach is for make new info available...perhaps for the least intrusion, a posting on my own blog might be the best route. 

Anyway, I wanted to say thanks again guys....

Sincerely,

Brad

Brad O'Hearne
Founder / Lead Developer
Big Hill Software LLC
http://www.bighillsoftware.com	
(480) 280-1468

On Mar 5, 2012, at 12:10 PM, Ross Finlayson wrote:

>> 1. What is the exact nature of the data in the receive buffer at the time that the afterGettingFrame() method of the MediaSink subclass is called, when an H.264 stream from RTSP is in play? 
> 
> It's a H.264 NAL unit.
> 
> 
>> 2. When an H.264 stream from RTSP is in play, is there any massaging of data in the receive buffer that needs to take place prior to decoding an H.264 frame in ffmpeg? Does it need a start code
> 
> Yes, you will need to prepend 0x00 0x00 0x00 0x01 to each NAL unit before passing it to "ffmpeg" for decoding.
> 
> You should also take the SDP 'configuration' string (from "MediaSubsession::fmtp_spropparametersets()"), and parse this string into a set of SPS and PPS NAL units, using the function "parseSPropParameterSets()".  You should then insert these NAL units (with start codes) into your decoder (before the NAL units that come from the RTP stream).
> 
> 
> Ross Finlayson
> Live Networks, Inc.
> http://www.live555.com/
> 
> _______________________________________________
> live-devel mailing list
> live-devel at lists.live555.com
> http://lists.live555.com/mailman/listinfo/live-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20120306/2baca0ae/attachment.html>


More information about the live-devel mailing list