Opened 8 years ago

Closed 8 years ago

#5408 closed defect (invalid)

non-existing PPS 0 referenced after ffmpeg segment (HLS) encoding

Reported by: Maxim Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:
I'm using ffmpeg to convert files to HLS format and found one file that looks corrupted after convert.

How to reproduce:

% /home/m.andreev/devel/ffmpeg3/sources/ffmpeg-3.0.1/ffmpeg -i promo_ffmpeg_bug.mov -flags -global_header -f segment -segment_format ts  -segment_time 10 -map 0:0 -c:v libx264 '%d.ts'
ffmpeg version 3.0.1 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.8.2 (GCC) 20140120 (Red Hat 4.8.2-15)
  configuration: --prefix=/home/m.andreev/devel/ffmpeg3/build --bindir=/home/m.andreev/devel/ffmpeg3/root --extra-cflags=-I/home/m.andreev/devel/ffmpeg3/build/include --extra-ldflags=-L/home/m.andreev/devel/ffmpeg3/build/lib --pkg-config-flags=--static --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --enable-gpl --enable-version3 --enable-nonfree --enable-openssl --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libfdk_aac --enable-libfaac --enable-libfdk-aac
  libavutil      55. 17.103 / 55. 17.103
  libavcodec     57. 24.102 / 57. 24.102
  libavformat    57. 25.100 / 57. 25.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 31.100 /  6. 31.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'promo_ffmpeg_bug.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 0
    compatible_brands: qt  
    creation_time   : 2016-02-29 19:18:58
    encoder         : Mac OS X v? (AVF 1046.9.1, CM 1731.15.20, x86_64)
    encoder-eng     : Mac OS X v? (AVF 1046.9.1, CM 1731.15.20, x86_64)
  Duration: 00:00:43.02, start: 0.000000, bitrate: 1406 kb/s
    Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 404x720 [SAR 1:1 DAR 101:180], 1402 kb/s, 31.84 fps, 31.84 tbr, 31843 tbn, 50 tbc (default)
    Metadata:
      creation_time   : 2016-02-29 19:18:58
      handler_name    : Core Media Data Handler
      encoder         : H.264
[libx264 @ 0x34226e0] using SAR=1/1
[libx264 @ 0x34226e0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x34226e0] profile High, level 3.0
Output #0, segment, to '%d.ts':
  Metadata:
    major_brand     : qt  
    minor_version   : 0
    compatible_brands: qt  
    encoder         : Lavf57.25.100
    Stream #0:0(eng): Video: h264 (libx264), yuv420p, 404x720 [SAR 1:1 DAR 101:180], q=-1--1, 31.84 fps, 90k tbn, 31.84 tbc (default)
    Metadata:
      creation_time   : 2016-02-29 19:18:58
      handler_name    : Core Media Data Handler
      encoder         : Lavc57.24.102 libx264
    Side data:
      unknown side data type 10 (24 bytes)
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[h264 @ 0x3bbcfa0] Increasing reorder buffer to 1
frame= 1370 fps=532 q=-1.0 Lsize=N/A time=00:00:42.96 bitrate=N/A speed=16.7x    
video:1117kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[libx264 @ 0x34226e0] frame I:10    Avg QP:17.39  size: 17849
[libx264 @ 0x34226e0] frame P:491   Avg QP:19.10  size:  1735
[libx264 @ 0x34226e0] frame B:869   Avg QP:22.56  size:   131
[libx264 @ 0x34226e0] consecutive B-frames: 13.8%  4.1%  2.4% 79.7%
[libx264 @ 0x34226e0] mb I  I16..4: 39.6% 32.8% 27.6%
[libx264 @ 0x34226e0] mb P  I16..4:  7.1%  5.9%  1.6%  P16..4:  9.1%  1.1%  0.9%  0.0%  0.0%    skip:74.3%
[libx264 @ 0x34226e0] mb B  I16..4:  0.3%  0.2%  0.0%  B16..8:  4.2%  0.2%  0.0%  direct: 0.6%  skip:94.5%  L0:50.6% L1:48.3% BI: 1.1%
[libx264 @ 0x34226e0] 8x8 transform intra:39.5% inter:51.6%
[libx264 @ 0x34226e0] coded y,uvDC,uvAC intra: 11.7% 11.4% 5.7% inter: 1.8% 1.4% 0.2%
[libx264 @ 0x34226e0] i16 v,h,dc,p: 43% 53%  3%  1%
[libx264 @ 0x34226e0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 30% 27% 40%  1%  0%  0%  0%  0%  1%
[libx264 @ 0x34226e0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 29% 30% 20%  3%  3%  3%  3%  3%  3%
[libx264 @ 0x34226e0] i8c dc,h,v,p: 76% 17%  7%  1%
[libx264 @ 0x34226e0] Weighted P-Frames: Y:18.5% UV:13.6%
[libx264 @ 0x34226e0] ref P L0: 51.6% 15.4% 26.7%  5.6%  0.7%
[libx264 @ 0x34226e0] ref B L0: 61.9% 32.9%  5.1%
[libx264 @ 0x34226e0] ref B L1: 94.4%  5.6%
[libx264 @ 0x34226e0] kb/s:212.69
% /home/m.andreev/devel/ffmpeg3/sources/ffmpeg-3.0.1/ffprobe -i 0.ts

ffprobe version 3.0.1 Copyright (c) 2007-2016 the FFmpeg developers
  built with gcc 4.8.2 (GCC) 20140120 (Red Hat 4.8.2-15)
  configuration: --prefix=/home/m.andreev/devel/ffmpeg3/build --bindir=/home/m.andreev/devel/ffmpeg3/root --extra-cflags=-I/home/m.andreev/devel/ffmpeg3/build/include --extr
a-ldflags=-L/home/m.andreev/devel/ffmpeg3/build/lib --pkg-config-flags=--static --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param
=ssp-buffer-size=4 -m64 -mtune=generic' --enable-gpl --enable-version3 --enable-nonfree --enable-openssl --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-lib
vpx --enable-libx264 --enable-libfdk_aac --enable-libfaac --enable-libfdk-aac
  libavutil      55. 17.103 / 55. 17.103
  libavcodec     57. 24.102 / 57. 24.102
  libavformat    57. 25.100 / 57. 25.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 31.100 /  6. 31.100
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
[h264 @ 0x27261c0] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x27261c0] decode_slice_header error
[h264 @ 0x27261c0] no frame!
[h264 @ 0x27261c0] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x27261c0] decode_slice_header error
[h264 @ 0x27261c0] no frame!
[h264 @ 0x27261c0] non-existing PPS 0 referenced
    Last message repeated 1 times

-- same messages --

[h264 @ 0x27261c0] decode_slice_header error
[h264 @ 0x27261c0] no frame!
[h264 @ 0x27261c0] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x27261c0] decode_slice_header error
[h264 @ 0x27261c0] no frame!
Input #0, mpegts, from '0.ts':
  Duration: 00:00:16.64, start: 1.588422, bitrate: 262 kb/s
  Program 1 
    Metadata:
      service_name    : Service01
      service_provider: FFmpeg
    Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 404x720 [SAR 1:1 DAR 101:180], 32 fps, 31.84 tbr, 90k tbn, 63.69 tbc

I think this "no keyframes" issue leads to problem on iOS devices - video stops playing at 00:00:39 with the last frame displayed, but real length of the video is 00:00:41.

Change History (6)

comment:1 by Maxim, 8 years ago

You can download source file here - https://cloud.mail.ru/public/4x7q/SY3JtPDGQ by clicking "Скачать" button at the top left of the screen.

comment:2 by Carl Eugen Hoyos, 8 years ago

Please test current FFmpeg git head.

comment:4 by Carl Eugen Hoyos, 8 years ago

So there is no bug?

comment:5 by Maxim, 8 years ago

Yes, bug in latest release 3.0.1, but no bug in git head

comment:6 by Carl Eugen Hoyos, 8 years ago

Resolution: invalid
Status: newclosed
Note: See TracTickets for help on using tickets.