[vlc-devel] rtp/h264 issue

Rémi Denis-Courmont remi at remlab.net
Fri Apr 23 10:50:59 CEST 2010


Someone familiar with AVC should review this (i.e. _not_ me).

On Wed, 21 Apr 2010 21:18:55 +0400, "An L. Ber" <madrat at hotbox.ru> wrote:
> I've faced the issue with h264: When I transcode by VLC into h264 video
> and transmits by rtp the generated sdp file crashes many video players
> (and vlc client also).
> 
> I work with x264-snapshot-20100414-2245/vlc-1.2-snapshot-20100415, but
> last snapshot of VLC (2010-04-21) also not ready for this issue.
> 
> Behaviour: in SDP for H264 the parameter 'sprop-parameter-sets' used for
> storing special blocks and have illegal long form (about 600 bytes
> instead 64) and it crashes players.
> 
> Reason: This sprop-parameter-sets stores NALs what are required for
> starting decode process and not chaging offten. This information
> generated by libx264/x264_encoder_headers and stored into
> extra-information for encoder in vlc/modules/codec/x264.c and transforms
> into 'sprop-parameter-sets' field in vlc/modules/stream_out/rtp.c.
> 
> In previous versions of libx264 (git-snapshot 20100218) the
> x264_encoder_headers generates SEI/SPS/PPS with NAL unit separator "00
> 00 00 01", but new version stores the SEI block with short version "00
> 00 01". This short start code can not be detected by rtp.c module and
> PPS and SEI blocks are stored as one item (with invalid data and very
> long length).
> 
> Because the short version is valid for SEI block i've added to rtp.c
> feature to detect it: "The start sequence is some zeros (atleast 2) and
> 01" (because more than 3 zeros is also valid)
> 
> Best regards, An
-- 
Rémi Denis-Courmont
http://www.remlab.net
http://fi.linkedin.com/in/remidenis




More information about the vlc-devel mailing list