[FFmpeg-trac] #10469(undetermined:new): non-existing PPS 0 referenced after ffmpeg segment (HLS) encoding

FFmpeg trac at avcodec.org
Wed Jul 12 21:59:22 EEST 2023


#10469: non-existing PPS 0 referenced after ffmpeg segment (HLS) encoding
-------------------------------------+-------------------------------------
             Reporter:  maxjh        |                    Owner:  (none)
                 Type:  defect       |                   Status:  new
             Priority:  normal       |                Component:
                                     |  undetermined
              Version:  unspecified  |               Resolution:
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
Description changed by maxjh:

Old 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:
> {{{
> % ffmpeg -i https://storage.googleapis.com/lp-us-catalyst-vod-
> com/hls/80c9ui6jg4q82rvj/video -c:a copy -c:v copy -f hls -hls_list_size
> 0 -hls_playlist_type vod -hls_segment_type mpegts -hls_time 10 -y
> index.m3u8
> ffmpeg version 6.0 Copyright (c) 2000-2023 the FFmpeg developers
>   built with Apple clang version 14.0.3 (clang-1403.0.22.14.1)
>   configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/6.0-with-options_1
> --enable-shared --cc=clang --host-cflags= --host-ldflags= --enable-gpl
> --enable-libaom --enable-libdav1d --enable-libmp3lame --enable-libopus
> --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx
> --enable-libx264 --enable-libx265 --enable-libfontconfig --enable-
> libfreetype --enable-frei0r --enable-libass --enable-demuxer=dash
> --enable-opencl --enable-audiotoolbox --enable-videotoolbox --enable-neon
> --disable-htmlpages --enable-libfdk-aac --enable-nonfree
>   libavutil      58.  2.100 / 58.  2.100
>   libavcodec     60.  3.100 / 60.  3.100
>   libavformat    60.  3.100 / 60.  3.100
>   libavdevice    60.  1.100 / 60.  1.100
>   libavfilter     9.  3.100 /  9.  3.100
>   libswscale      7.  1.100 /  7.  1.100
>   libswresample   4. 10.100 /  4. 10.100
>   libpostproc    57.  1.100 / 57.  1.100
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'https://storage.googleapis.com
> /lp-us-catalyst-vod-com/hls/80c9ui6jg4q82rvj/video':
>   Metadata:
>     major_brand     : isom
>     minor_version   : 512
>     compatible_brands: isomiso2avc1mp41
>     encoder         : Lavf60.3.100
>   Duration: 00:16:27.43, start: 0.000000, bitrate: 2140 kb/s
>   Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661),
> yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 1944 kb/s,
> 30 fps, 30 tbr, 90k tbn (default)
>     Metadata:
>       handler_name    : VideoHandler
>       vendor_id       : [0][0][0][0]
>   Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz,
> stereo, fltp, 184 kb/s (default)
>     Metadata:
>       handler_name    : SoundHandler
>       vendor_id       : [0][0][0][0]
> Output #0, hls, to 'index.m3u8':
>   Metadata:
>     major_brand     : isom
>     minor_version   : 512
>     compatible_brands: isomiso2avc1mp41
>     encoder         : Lavf60.3.100
>   Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv,
> bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 1944 kb/s, 30
> fps, 30 tbr, 90k tbn (default)
>     Metadata:
>       handler_name    : VideoHandler
>       vendor_id       : [0][0][0][0]
>   Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz,
> stereo, fltp, 184 kb/s (default)
>     Metadata:
>       handler_name    : SoundHandler
>       vendor_id       : [0][0][0][0]
> Stream mapping:
>   Stream #0:0 -> #0:0 (copy)
>   Stream #0:1 -> #0:1 (copy)
> Press [q] to stop, [?] for help
> [hls @ 0x155606f60] Opening 'index0.ts' for writing4 bitrate=N/A speed=
> 20x    /s speed=N/A
> [hls @ 0x155606f60] Opening 'index1.ts' for writing3 bitrate=N/A
> speed=19.7x
> [hls @ 0x155606f60] Opening 'index2.ts' for writing1 bitrate=N/A
> speed=19.5x
> [hls @ 0x155606f60] Opening 'index3.ts' for writing4 bitrate=N/A speed=
> 19x
> ...
> }}}
> % ffprobe -loglevel error -show_format -show_streams -print_format json
> index1.ts
> {
> [h264 @ 0x13b704b40] non-existing SPS 0 referenced in buffering period
> [h264 @ 0x13b704b40] non-existing PPS 0 referenced
> [h264 @ 0x13b704b40] non-existing SPS 0 referenced in buffering period
> [h264 @ 0x13b704b40] non-existing PPS 0 referenced
> [h264 @ 0x13b704b40] decode_slice_header error
> [h264 @ 0x13b704b40] no frame!
> [h264 @ 0x13b704b40] non-existing PPS 0 referenced
>     Last message repeated 1 times
> [h264 @ 0x13b704b40] decode_slice_header error
> [h264 @ 0x13b704b40] no frame!
> [h264 @ 0x13b704b40] non-existing PPS 0 referenced
>     Last message repeated 1 times
> [h264 @ 0x13b704b40] decode_slice_header error
> [h264 @ 0x13b704b40] no frame!
> [h264 @ 0x13b704b40] non-existing PPS 0 referenced
>     Last message repeated 1 times
> [h264 @ 0x13b704b40] decode_slice_header error
> [h264 @ 0x13b704b40] no frame!
> [h264 @ 0x13b704b40] non-existing PPS 0 referenced
>     Last message repeated 1 times
> [h264 @ 0x13b704b40] decode_slice_header error
> [h264 @ 0x13b704b40] no frame!
> [h264 @ 0x13b704b40] non-existing PPS 0 referenced
>     Last message repeated 1 times
> [h264 @ 0x13b704b40] decode_slice_header error
> [h264 @ 0x13b704b40] no frame!
> [h264 @ 0x13b704b40] non-existing PPS 0 referenced
> ...
> {{{
> ffmpeg -version
> ffmpeg version 6.0 Copyright (c) 2000-2023 the FFmpeg developers
> built with Apple clang version 14.0.3 (clang-1403.0.22.14.1)
> configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/6.0-with-options_1
> --enable-shared --cc=clang --host-cflags= --host-ldflags= --enable-gpl
> --enable-libaom --enable-libdav1d --enable-libmp3lame --enable-libopus
> --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx
> --enable-libx264 --enable-libx265 --enable-libfontconfig --enable-
> libfreetype --enable-frei0r --enable-libass --enable-demuxer=dash
> --enable-opencl --enable-audiotoolbox --enable-videotoolbox --enable-neon
> --disable-htmlpages --enable-libfdk-aac --enable-nonfree
> libavutil      58.  2.100 / 58.  2.100
> libavcodec     60.  3.100 / 60.  3.100
> libavformat    60.  3.100 / 60.  3.100
> libavdevice    60.  1.100 / 60.  1.100
> libavfilter     9.  3.100 /  9.  3.100
> libswscale      7.  1.100 /  7.  1.100
> libswresample   4. 10.100 /  4. 10.100
> libpostproc    57.  1.100 / 57.  1.100
> }}}
>
> When trying to play back index1.ts I'm only able to hear audio, the video
> seems to have been corrupted.

New 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:
 {{{
 % ffmpeg -i https://storage.googleapis.com/lp-us-catalyst-vod-
 com/hls/80c9ui6jg4q82rvj/video -c:a copy -c:v copy -f hls -hls_list_size 0
 -hls_playlist_type vod -hls_segment_type mpegts -hls_time 10 -y index.m3u8
 ffmpeg version 6.0 Copyright (c) 2000-2023 the FFmpeg developers
   built with Apple clang version 14.0.3 (clang-1403.0.22.14.1)
   configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/6.0-with-options_1
 --enable-shared --cc=clang --host-cflags= --host-ldflags= --enable-gpl
 --enable-libaom --enable-libdav1d --enable-libmp3lame --enable-libopus
 --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx
 --enable-libx264 --enable-libx265 --enable-libfontconfig --enable-
 libfreetype --enable-frei0r --enable-libass --enable-demuxer=dash
 --enable-opencl --enable-audiotoolbox --enable-videotoolbox --enable-neon
 --disable-htmlpages --enable-libfdk-aac --enable-nonfree
   libavutil      58.  2.100 / 58.  2.100
   libavcodec     60.  3.100 / 60.  3.100
   libavformat    60.  3.100 / 60.  3.100
   libavdevice    60.  1.100 / 60.  1.100
   libavfilter     9.  3.100 /  9.  3.100
   libswscale      7.  1.100 /  7.  1.100
   libswresample   4. 10.100 /  4. 10.100
   libpostproc    57.  1.100 / 57.  1.100
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'https://storage.googleapis.com
 /lp-us-catalyst-vod-com/hls/80c9ui6jg4q82rvj/video':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2avc1mp41
     encoder         : Lavf60.3.100
   Duration: 00:16:27.43, start: 0.000000, bitrate: 2140 kb/s
   Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661),
 yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 1944 kb/s,
 30 fps, 30 tbr, 90k tbn (default)
     Metadata:
       handler_name    : VideoHandler
       vendor_id       : [0][0][0][0]
   Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz,
 stereo, fltp, 184 kb/s (default)
     Metadata:
       handler_name    : SoundHandler
       vendor_id       : [0][0][0][0]
 Output #0, hls, to 'index.m3u8':
   Metadata:
     major_brand     : isom
     minor_version   : 512
     compatible_brands: isomiso2avc1mp41
     encoder         : Lavf60.3.100
   Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv,
 bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 1944 kb/s, 30
 fps, 30 tbr, 90k tbn (default)
     Metadata:
       handler_name    : VideoHandler
       vendor_id       : [0][0][0][0]
   Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo,
 fltp, 184 kb/s (default)
     Metadata:
       handler_name    : SoundHandler
       vendor_id       : [0][0][0][0]
 Stream mapping:
   Stream #0:0 -> #0:0 (copy)
   Stream #0:1 -> #0:1 (copy)
 Press [q] to stop, [?] for help
 [hls @ 0x155606f60] Opening 'index0.ts' for writing4 bitrate=N/A speed=
 20x    /s speed=N/A
 [hls @ 0x155606f60] Opening 'index1.ts' for writing3 bitrate=N/A
 speed=19.7x
 [hls @ 0x155606f60] Opening 'index2.ts' for writing1 bitrate=N/A
 speed=19.5x
 [hls @ 0x155606f60] Opening 'index3.ts' for writing4 bitrate=N/A speed=
 19x
 ...
 }}}
 {{{
 % ffprobe -loglevel error -show_format -show_streams -print_format json
 index1.ts
 {
 [h264 @ 0x13b704b40] non-existing SPS 0 referenced in buffering period
 [h264 @ 0x13b704b40] non-existing PPS 0 referenced
 [h264 @ 0x13b704b40] non-existing SPS 0 referenced in buffering period
 [h264 @ 0x13b704b40] non-existing PPS 0 referenced
 [h264 @ 0x13b704b40] decode_slice_header error
 [h264 @ 0x13b704b40] no frame!
 [h264 @ 0x13b704b40] non-existing PPS 0 referenced
     Last message repeated 1 times
 [h264 @ 0x13b704b40] decode_slice_header error
 [h264 @ 0x13b704b40] no frame!
 [h264 @ 0x13b704b40] non-existing PPS 0 referenced
     Last message repeated 1 times
 [h264 @ 0x13b704b40] decode_slice_header error
 [h264 @ 0x13b704b40] no frame!
 [h264 @ 0x13b704b40] non-existing PPS 0 referenced
     Last message repeated 1 times
 [h264 @ 0x13b704b40] decode_slice_header error
 [h264 @ 0x13b704b40] no frame!
 [h264 @ 0x13b704b40] non-existing PPS 0 referenced
     Last message repeated 1 times
 [h264 @ 0x13b704b40] decode_slice_header error
 [h264 @ 0x13b704b40] no frame!
 [h264 @ 0x13b704b40] non-existing PPS 0 referenced
     Last message repeated 1 times
 [h264 @ 0x13b704b40] decode_slice_header error
 [h264 @ 0x13b704b40] no frame!
 [h264 @ 0x13b704b40] non-existing PPS 0 referenced
 ...
 }}}
 {{{
 ffmpeg -version
 ffmpeg version 6.0 Copyright (c) 2000-2023 the FFmpeg developers
 built with Apple clang version 14.0.3 (clang-1403.0.22.14.1)
 configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/6.0-with-options_1
 --enable-shared --cc=clang --host-cflags= --host-ldflags= --enable-gpl
 --enable-libaom --enable-libdav1d --enable-libmp3lame --enable-libopus
 --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx
 --enable-libx264 --enable-libx265 --enable-libfontconfig --enable-
 libfreetype --enable-frei0r --enable-libass --enable-demuxer=dash
 --enable-opencl --enable-audiotoolbox --enable-videotoolbox --enable-neon
 --disable-htmlpages --enable-libfdk-aac --enable-nonfree
 libavutil      58.  2.100 / 58.  2.100
 libavcodec     60.  3.100 / 60.  3.100
 libavformat    60.  3.100 / 60.  3.100
 libavdevice    60.  1.100 / 60.  1.100
 libavfilter     9.  3.100 /  9.  3.100
 libswscale      7.  1.100 /  7.  1.100
 libswresample   4. 10.100 /  4. 10.100
 libpostproc    57.  1.100 / 57.  1.100
 }}}

 When trying to play back index1.ts I'm only able to hear audio, the video
 seems to have been corrupted.

--
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/10469#comment:1>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list