[FFmpeg-user] pict_type="I"

Oliver Fromme oliver at fromme.com
Tue Jul 16 13:38:03 EEST 2024


Mark Filipak wrote:
 > When I run this:
 > 
 >    ffprobe -sexagesimal -select_streams v -show_frames -of flat -i e:\00305.m2ts
 > 
 > where 00305.m2ts is AVC, it reports such things as this:
 > 
 >    frames.frame.0.pict_type="I"?
 > 
 > AVC does not have I-frames (or P-frames or B-frames), so, what does it mean?

You mean AVC as in H.264?  Of course it does have such picture types
(unless you're using an IDR-only profile, of course).  There's a fairly
good overview on Wikipedia: http://www.videolan.org/developers/x264.html
BTW, libx264 even supports things like adaptive B-frame placement.

I just looked at the first two GOPs of a H.264 stream (Main profile,
level 4), and it looks pretty normal to me:

frames.frame.0.pict_type="I"    # <-- start of first GOP
frames.frame.1.pict_type="B"
frames.frame.2.pict_type="B"
frames.frame.3.pict_type="P"
frames.frame.4.pict_type="B"
frames.frame.5.pict_type="B"
frames.frame.6.pict_type="P"
frames.frame.7.pict_type="B"
frames.frame.8.pict_type="B"
frames.frame.9.pict_type="P"
frames.frame.10.pict_type="B"
frames.frame.11.pict_type="B"
frames.frame.12.pict_type="P"
frames.frame.13.pict_type="B"
frames.frame.14.pict_type="B"
frames.frame.15.pict_type="P"
frames.frame.16.pict_type="B"
frames.frame.17.pict_type="B"
frames.frame.18.pict_type="P"
frames.frame.19.pict_type="B"
frames.frame.20.pict_type="B"
frames.frame.21.pict_type="P"
frames.frame.22.pict_type="B"
frames.frame.23.pict_type="P"
frames.frame.24.pict_type="I"   # <-- start of second GOP
frames.frame.25.pict_type="B"
frames.frame.26.pict_type="B"
frames.frame.27.pict_type="P"
frames.frame.28.pict_type="B"
frames.frame.29.pict_type="B"
frames.frame.30.pict_type="P"
frames.frame.31.pict_type="B"
frames.frame.32.pict_type="P"
frames.frame.33.pict_type="B"
frames.frame.34.pict_type="P"
frames.frame.35.pict_type="B"
frames.frame.36.pict_type="B"
frames.frame.37.pict_type="P"
frames.frame.38.pict_type="B"
frames.frame.39.pict_type="P"
frames.frame.40.pict_type="B"
frames.frame.41.pict_type="P"
frames.frame.42.pict_type="B"
frames.frame.43.pict_type="P"
frames.frame.44.pict_type="B"
frames.frame.45.pict_type="P"
frames.frame.46.pict_type="B"
frames.frame.47.pict_type="P"
frames.frame.48.pict_type="I"

Best regards
 -- Oliver


More information about the ffmpeg-user mailing list