[FFmpeg-devel] I have an issue when try to using h264_amf encoding rtsp stream

罗勇刚(Yonggang Luo) luoyonggang at gmail.com
Tue Apr 11 10:41:38 EEST 2023


When using libx264:
The pull result is:
```
C:\work\xtal\xtal-video\ffmpeg-6.0-full_build-shared\bin>ffplay -max_delay
0 -max_probe_packets 1 -analyzeduration 0 -flags +low_delay -fflags
+nobuffer -protocol_whitelist file,udp,rtp rtp_h264_30003.sdp
ffplay version 6.0-full_build-www.gyan.dev Copyright (c) 2003-2023 the
FFmpeg developers
  built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-shared
--disable-w32threads --disable-autodetect --enable-fontconfig
--enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib
--enable-lzma --enable-libsnappy --enable-zlib --enable-librist
--enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth
--enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24
--enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi
--enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264
--enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom
--enable-libjxl --enable-libopenjpeg --enable-libvpx
--enable-mediafoundation --enable-libass --enable-frei0r
--enable-libfreetype --enable-libfribidi --enable-liblensfun
--enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf
--enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec
--enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl
--enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl
--enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt
--enable-libopencore-amrwb --enable-libmp3lame --enable-libshine
--enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc
--enable-libilbc --enable-libgsm --enable-libopencore-amrnb
--enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa
--enable-libbs2b --enable-libflite --enable-libmysofa
--enable-librubberband --enable-libsoxr --enable-chromaprint
  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, sdp, from 'rtp_h264_30003.sdp':=    0KB sq=    0B f=0/0
  Duration: N/A, start: -0.017911, bitrate: N/A
  Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x1060, 50 fps,
50 tbr, 90k tbn
   3.79 M-V:  3.731 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0
```

But when using h264_amf:
```

C:\work\xtal\xtal-video\ffmpeg-6.0-full_build-shared\bin>ffplay -max_delay
0 -max_probe_packets 1 -analyzeduration 0 -flags +low_delay -fflags
+nobuffer -protocol_whitelist file,udp,rtp rtp_h264_30003.sdp
ffplay version 6.0-full_build-www.gyan.dev Copyright (c) 2003-2023 the
FFmpeg developers
  built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-shared
--disable-w32threads --disable-autodetect --enable-fontconfig
--enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib
--enable-lzma --enable-libsnappy --enable-zlib --enable-librist
--enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth
--enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24
--enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi
--enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264
--enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom
--enable-libjxl --enable-libopenjpeg --enable-libvpx
--enable-mediafoundation --enable-libass --enable-frei0r
--enable-libfreetype --enable-libfribidi --enable-liblensfun
--enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf
--enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec
--enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl
--enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl
--enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt
--enable-libopencore-amrwb --enable-libmp3lame --enable-libshine
--enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc
--enable-libilbc --enable-libgsm --enable-libopencore-amrnb
--enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa
--enable-libbs2b --enable-libflite --enable-libmysofa
--enable-librubberband --enable-libsoxr --enable-chromaprint
  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
[h264 @ 000001ba7836b100] non-existing PPS 0 referenced  0B f=0/0
    Last message repeated 1 times
[h264 @ 000001ba7836b100] decode_slice_header error
[h264 @ 000001ba7836b100] no frame!
[h264 @ 000001ba7836b100] non-existing PPS 0 referenced  0B f=0/0
    Last message repeated 1 times
[h264 @ 000001ba7836b100] decode_slice_header errorq=    0B f=0/0
[h264 @ 000001ba7836b100] no frame!
[h264 @ 000001ba7836b100] non-existing PPS 0 referenced  0B f=0/0
    Last message repeated 1 times
[h264 @ 000001ba7836b100] decode_slice_header error
[h264 @ 000001ba7836b100] no frame!
[h264 @ 000001ba7836b100] non-existing PPS 0 referenced  0B f=0/0
    Last message repeated 1 times
[h264 @ 000001ba7836b100] decode_slice_header error
[h264 @ 000001ba7836b100] no frame!
[h264 @ 000001ba7836b100] non-existing PPS 0 referenced  0B f=0/0
    Last message repeated 1 times
[h264 @ 000001ba7836b100] decode_slice_header error
[h264 @ 000001ba7836b100] no frame!
[h264 @ 000001ba7836b100] non-existing PPS 0 referenced  0B f=0/0
    Last message repeated 1 times
[h264 @ 000001ba7836b100] decode_slice_header error
[h264 @ 000001ba7836b100] no frame!
[h264 @ 000001ba7836b100] non-existing PPS 0 referenced  0B f=0/0
    Last message repeated 1 times
[h264 @ 000001ba7836b100] decode_slice_header error
[h264 @ 000001ba7836b100] no frame!
[h264 @ 000001ba7836b100] non-existing PPS 0 referenced  0B f=0/0
    Last message repeated 1 times
[h264 @ 000001ba7836b100] decode_slice_header error
[h264 @ 000001ba7836b100] no frame!
[h264 @ 000001ba7836b100] non-existing PPS 0 referenced  0B f=0/0
    Last message repeated 1 times
[h264 @ 000001ba7836b100] decode_slice_header error
[h264 @ 000001ba7836b100] no frame!
[h264 @ 000001ba7836b100] non-existing PPS 0 referenced  0B f=0/0
    Last message repeated 1 times
[h264 @ 000001ba7836b100] decode_slice_header errorq=    0B f=0/0
[h264 @ 000001ba7836b100] no frame!
[h264 @ 000001ba7836b100] non-existing PPS 0 referenced  0B f=0/0
    Last message repeated 1 times
[h264 @ 000001ba7836b100] decode_slice_header error
[h264 @ 000001ba7836b100] no frame!
[h264 @ 000001ba7836b100] non-existing PPS 0 referenced  0B f=0/0
    Last message repeated 1 times
[h264 @ 000001ba7836b100] decode_slice_header error
[h264 @ 000001ba7836b100] no frame!
[h264 @ 000001ba7836b100] non-existing PPS 0 referenced  0B f=0/0
[h264 @ 000001ba7836b100] non-existing PPS 0 referenced  0B f=0/0
[h264 @ 000001ba7836b100] decode_slice_header error
[h264 @ 000001ba7836b100] no frame!
[h264 @ 000001ba7836b100] non-existing PPS 0 referenced  0B f=0/0
    Last message repeated 1 times
[h264 @ 000001ba7836b100] decode_slice_header error
[h264 @ 000001ba7836b100] no frame!
[h264 @ 000001ba7836b100] non-existing PPS 0 referenced  0B f=0/0
    Last message repeated 1 times
[h264 @ 000001ba7836b100] decode_slice_header error
[h264 @ 000001ba7836b100] no frame!
[h264 @ 000001ba7836b100] non-existing PPS 0 referenced  0B f=0/0
    Last message repeated 1 times
[h264 @ 000001ba7836b100] decode_slice_header error
[h264 @ 000001ba7836b100] no frame!
[h264 @ 000001ba7836b100] non-existing PPS 0 referenced  0B f=0/0
    Last message repeated 1 times
[h264 @ 000001ba7836b100] decode_slice_header error
[h264 @ 000001ba7836b100] no frame!
[h264 @ 000001ba7836b100] non-existing PPS 0 referenced  0B f=0/0
    Last message repeated 1 times
[h264 @ 000001ba7836b100] decode_slice_header error
[h264 @ 000001ba7836b100] no frame!
[h264 @ 000001ba7836b100] non-existing PPS 0 referenced  0B f=0/0
    Last message repeated 1 times
[h264 @ 000001ba7836b100] decode_slice_header error
[h264 @ 000001ba7836b100] no frame!
```

And if I start the ffplay  pull script before the rstp push executable,
then it can decoding the stream properly.
```

C:\work\xtal\xtal-video\ffmpeg-6.0-full_build-shared\bin>ffplay -max_delay
0 -max_probe_packets 1 -analyzeduration 0 -flags +low_delay -fflags
+nobuffer -protocol_whitelist file,udp,rtp rtp_h264_30003.sdp
ffplay version 6.0-full_build-www.gyan.dev Copyright (c) 2003-2023 the
FFmpeg developers
  built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-shared
--disable-w32threads --disable-autodetect --enable-fontconfig
--enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib
--enable-lzma --enable-libsnappy --enable-zlib --enable-librist
--enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth
--enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24
--enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi
--enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264
--enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom
--enable-libjxl --enable-libopenjpeg --enable-libvpx
--enable-mediafoundation --enable-libass --enable-frei0r
--enable-libfreetype --enable-libfribidi --enable-liblensfun
--enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf
--enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec
--enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl
--enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl
--enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt
--enable-libopencore-amrwb --enable-libmp3lame --enable-libshine
--enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc
--enable-libilbc --enable-libgsm --enable-libopencore-amrnb
--enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa
--enable-libbs2b --enable-libflite --enable-libmysofa
--enable-librubberband --enable-libsoxr --enable-chromaprint
  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, sdp, from 'rtp_h264_30003.sdp':=    0KB sq=    0B f=0/0
  Duration: N/A, start: -0.053911, bitrate: N/A
  Stream #0:0: Video: h264 (Main), yuv420p(tv, bt709/reserved/reserved,
progressive), 1920x1060 [SAR 1:1 DAR 96:53], 50 fps, 50 tbr, 90k tbn
```

Is that a bug of h264_amf or  the config option for h264_amf is invalid?



-- 
         此致
礼
罗勇刚
Yours
    sincerely,
Yonggang Luo


More information about the ffmpeg-devel mailing list