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

罗勇刚(Yonggang Luo) luoyonggang at gmail.com
Tue May 2 09:43:12 EEST 2023


Thanks, that's working!

On Sat, Apr 29, 2023 at 3:02 PM Dmitrii Ovchinnikov <
ovchinnikov.dmitrii at gmail.com> wrote:
>
> could you also try adding one more parameter and try again?
>
> *  -header_spacing 30*it should have the same value as  -g in commandline.
> For example:  *ffmpeg -i input.mkv  -c:v h264_amf  -g 30 -header_spacing
30
> output.mp4*
>
> ср, 19 апр. 2023 г. в 07:15, 罗勇刚(Yonggang Luo) <luoyonggang at gmail.com>:
>
> > 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".
> > >
> > _______________________________________________
> > 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".



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


More information about the ffmpeg-devel mailing list