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

罗勇刚(Yonggang Luo) luoyonggang at gmail.com
Wed Apr 19 08:15:21 EEST 2023


thanks, I have already tried the top size 1 and 10 before on the enconder,
I assume you are talking about the encoder, as the decoder can not config
the gop size, I think it's should be a bug of and encoder or decoder,
because if I start the decoder before amf encoder, it's working fine, it is
either because the encoder only encode the first I frame properly or the
decoder can not recognize the I frame generated by amf encoder.

Dmitrii Ovchinnikov <ovchinnikov.dmitrii at gmail.com> 于 2023年4月19日周三 01:55写道:

> For libx264 the default gop size is 10, while for amf the default gop size
> is 250. I suspect this is the reason.
> Try adding the following parameter  “* -g 10* ” when using amf encoder.
> This parameter will set gop size to 10.
>
> вт, 11 апр. 2023 г. в 09:42, 罗勇刚(Yonggang Luo) <luoyonggang at gmail.com>:
>
> > 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
> > _______________________________________________
> > ffmpeg-devel mailing list
> > ffmpeg-devel at ffmpeg.org
> > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> >
> > To unsubscribe, visit link above, or email
> > ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
> >
>
>
> --
> Sincerely, Ovchinnikov D.A.
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>


More information about the ffmpeg-devel mailing list