[Libav-user] where are my type 5 NALs?

aviad rozenhek aviadr1 at gmail.com
Wed Aug 1 20:51:28 CEST 2012


Hi, I encode h264 using the following cmdlne

avconv.exe -i input.mp4 -bsf h264_mp4toannexb output.h264

but for some reason, only the first keyframe has NAL type 5 (Coded slice of
an IDR picture )
all other frames are of type 7 (SPS), 8 (PPS), 6 (SEI) or 1 ( Coded slice
of a non-IDR picture )
there are no additional type 5 NALs ...

why am I not getting keyframes as type 5 NALs?

[btw I'm doing the NAL analysis using
http://sourceforge.net/projects/h264bitstream/ ]

here's how the output from h264bitstream looks like:

 nal_unit_type : 7 ( Sequence parameter set )
 nal_unit_type : 8 ( Picture parameter set )
 nal_unit_type : 6 ( Supplemental enhancement information (SEI) )
 nal_unit_type : 5 ( Coded slice of an IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 7 ( Sequence parameter set )
 nal_unit_type : 8 ( Picture parameter set )
 nal_unit_type : 6 ( Supplemental enhancement information (SEI) )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 7 ( Sequence parameter set )
 nal_unit_type : 8 ( Picture parameter set )
 nal_unit_type : 6 ( Supplemental enhancement information (SEI) )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
 nal_unit_type : 1 ( Coded slice of a non-IDR picture )
...


and here's the output from the avconv run

$> avconv.exe -i flashback.mp4 -bsf h264_mp4toannexb  flashback2.h264
avconv version v0.8-2274-g82f82cc, Copyright (c) 2000-2012 the Libav
developers
  built on Jul  9 2012 17:45:40 with gcc 4.5.2
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'flashback.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.6.0
  Duration: 00:02:15.25, start: 0.000000, bitrate: 1119 kb/s
    Chapter #0.0: start 0.054667, end 135.253333
    Metadata:
      title           :
    Stream #0.0(und): Video: h264 (High), yuv420p, 848x480, 1019 kb/s,
29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0.1(und): Audio: aac, 48000 Hz, stereo, s16, 93 kb/s
File 'flashback2.h264' already exists. Overwrite ? [y/N] y
[libx264 @ 03c43c40] MB rate (143100000) > level limit (2073600)
[libx264 @ 03c43c40] using cpu capabilities: MMX2 SSE2Fast SSSE3
FastShuffle SSE4.2 AVX
[libx264 @ 03c43c40] profile High, level 5.2
Output #0, h264, to 'flashback2.h264':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.6.0
    Chapter #0.0: start 0.054667, end 135.253333
    Metadata:
      title           :
    Stream #0.0(und): Video: libx264, yuv420p, 848x480, q=-1--1, 90k tbn,
90k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> libx264)
Press ctrl-c to stop encoding
frame= 4051 fps=118 q=2685815.0 Lsize=   11260kB time=135.07 bitrate=
682.9kbits/s
video:11247kB audio:0kB global headers:0kB muxing overhead 0.119182%
[libx264 @ 03c43c40] frame I:97    Avg QP:19.85  size: 10246
[libx264 @ 03c43c40] frame P:1753  Avg QP:22.69  size:  4649
[libx264 @ 03c43c40] frame B:2201  Avg QP:26.08  size:  1084
[libx264 @ 03c43c40] consecutive B-frames: 20.6% 18.6%  6.7% 54.1%
[libx264 @ 03c43c40] mb I  I16..4: 32.0% 62.6%  5.4%
[libx264 @ 03c43c40] mb P  I16..4: 10.8% 14.1%  0.5%  P16..4: 34.4%  7.2%
 2.6%  0.0%  0.0%    skip:30.5%
[libx264 @ 03c43c40] mb B  I16..4:  0.9%  0.6%  0.0%  B16..8: 26.7%  1.5%
 0.2%  direct: 1.4%  skip:68.7%  L0:40.5% L1:56.2% BI: 3.3%
[libx264 @ 03c43c40] 8x8 transform intra:55.6% inter:86.4%
[libx264 @ 03c43c40] coded y,uvDC,uvAC intra: 29.0% 42.4% 10.6% inter: 7.8%
14.3% 0.3%
[libx264 @ 03c43c40] i16 v,h,dc,p: 44% 35%  6% 15%
[libx264 @ 03c43c40] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 25% 20% 25%  3%  5%  7%
 5%  5%  4%
[libx264 @ 03c43c40] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 37% 15% 11%  4%  8% 10%
 6%  6%  3%
[libx264 @ 03c43c40] i8c dc,h,v,p: 59% 15% 20%  5%
[libx264 @ 03c43c40] Weighted P-Frames: Y:26.4% UV:22.8%
[libx264 @ 03c43c40] ref P L0: 69.3% 10.8% 14.9%  4.9%  0.2%
[libx264 @ 03c43c40] ref B L0: 88.6%  9.5%  1.9%
[libx264 @ 03c43c40] ref B L1: 97.2%  2.8%
[libx264 @ 03c43c40] kb/s:682.44

-- 
Aviad Rozenhek
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ffmpeg.org/pipermail/libav-user/attachments/20120801/44782ad4/attachment.html>


More information about the Libav-user mailing list