H264 decode_slice_header error in the first hls ts file segment

Hi,

whenever I encoded video using gstreamer (h264, hlssink) , ffprobe gives me No frame error for the first HLS segment file(.ts). and the other following ts files(segment1.ts, segment2.ts …) are OK.

[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced

ffprobe segment0.ts

ffprobe version 3.4.8-0ubuntu0.2 Copyright (c) 2007-2020 the FFmpeg developers
  built with gcc 7 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04)
  configuration: --prefix=/usr --extra-version=0ubuntu0.2 --toolchain=hardened --libdir=/usr/lib/aarch64-linux-gnu --incdir=/usr/include/aarch64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[h264 @ 0x5562ddd320] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x5562ddd320] decode_slice_header error
[h264 @ 0x5562ddd320] no frame!
[mpegts @ 0x5562dd8f10] decoding for stream 0 failed
Input #0, mpegts, from 'playlist0.ts':
  Duration: 00:00:02.21, start: 3600.000000, bitrate: 12374 kb/s
  Program 1 
    Stream #0:0[0x41]: Video: h264 (Constrained Baseline) (HDMV / 0x564D4448), yuv420p(progressive), 4096x1504, 15 fps, 15 tbr, 90k tbn, 180k tbc
    Stream #0:1[0x42](en): Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, mono, fltp, 128 kb/s

the encoding parameter is as below

appsrc is-live=true ! video/x-raw, format=(string)BGR ! queue ! videoconvert ! video/x-raw, format=(string)NV12 ! nvvidconv ! video/x-raw(memory:NVMM), width=4096, height=1510, format=(string)NV12, framerate=(fraction)15/1 ! queue ! omxh264enc iframeinterval=40 preset-level=1 qp-range=15,30:5,20:-1,-1 control-rate=3 ! mpegtsmux name=mux ! hlssink max-files=0 playlist-length=0 target-duration=2 playlist-location=/var/www/static/live-preview-stitched/playlist.m3u8 location=/var/www/static/live-preview-stitched/playlist%d.ts

How can I solve this?

Hi,
Please try nvv4l2h264enc and set insert-sps-pps=1 idrinterval=15. The setting inserts SPS/PPS in every IDR frame and sets IDR interval to a smaller value.

I will update the result as soon as possible by today.
Do you suggest not using omxh264 nor 265 but to use nvv4l2h264 ?

only changing encoder to nvv4l2h264enc from omx makes it hlssink outputing only one file segment without increasing the file segment number.

I’m still looking for the solution.

it works fine after adding h264parse.
thank you!

1 Like

Hi,

Yes, we have deprecated omx plugins and please use v4l2 plugins.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.