[Live-devel] H.264 via RTP - ugly artifacts

Jeff Shanab jshanab at smartwire.com
Sun Feb 10 15:29:10 PST 2013


I had the same problem a while back. I also use live555 feeding libavcodec.
While the standard only says you need to have a 7 and an 8 before the first 5 and that after that the 5 or 1 is valid, I have had decoding trouble because of it.
So while all the following are technically legal
7,8,5,1,1,1,1,5,1,1,1...
7,8,5,1,1,1,1,1,1......
7,8,5,5,5,1,1,1,5,1,1,1,5,1,1,1 (some axis cameras by default)

It is the decoder not live555 that needs the 7,8,5 at the beginning of every key frame.
I have gotten arguments about this, It seems to vary by version. The 7 and 8 packets are so small compared to
the key frame slices [5] and the diff frames [1] that I just cache them and inject them if missing. Not only do I get
Rock solid playback, I do not need to worry about a second user starting late on a multicast or trouble when I seek.

BTW each and every frame needs the 0x00 0x00 0x00 0x01  (4 bytes, aka network byte order. not a 32 bit byte that could end up with endian issues)
________________________________
 From: live-devel-bounces at ns.live555.com [live-devel-bounces at ns.live555.com] on behalf of Jesse Hemingway [jhemingw at nerdery.com]
Sent: Friday, February 08, 2013 8:36 PM
To: LIVE555 Streaming Media - development & use
Cc: LIVE555 Streaming Media - development & use
Subject: Re: [Live-devel] H.264 via RTP - ugly artifacts

Interesting, thank you for the response.  I actually discard all but 7, 8 and 5 frames that occur before the initial 'priming' is complete, they are just logged for completeness. So my first buffer passed is of the form [7 8 5], after which I pass all frames willy-nilly, even the timing NAL [ 6 ]. I'm wondering if my bytestream framing is wrong?  0x000001.NAL.0x00.  I read the Appendix B bytestream syntax and also the ffmpeg NAL detection code and it seems sufficient, but I've also read posts that indicated this simple approach was incorrect.
<snip>

This message and any attachments contain confidential and proprietary information, and may contain privileged information, belonging to one or more affiliates of Windy City Wire Cable & Technology Products, LLC. No privilege is waived by this transmission. Unauthorized use, copying or disclosure of such information is prohibited and may be unlawful. If you receive this message in error, please delete it from your system, destroy any printouts or copies of it, and notify the sender immediately by e-mail or phone.

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


More information about the live-devel mailing list