Summary of the bug: fast-forward or rewin on mp4 output of h264_amf doesn't work well, the audio works well when fast-forward, but the video will stuck for few seconds before it goes right. It also happens on first open, it always takes more times to open the output of h264_amf than the others from other encoder. I tried libx264, h264_nvenc on same input, they all work well. I also tried h264_amf on different inputs(x264 or x265), the problem is the same.
% ffmpeg -i in.mp4 -s 1920x1080 -c:v h264_amf -b:v 3M -minrate:v 3M -maxrate:v 4M -bufsize:v 3M -c:a copy h264_amf.mp4
ffmpeg version N-100389-g494f868 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 9 (Ubuntu 9.3.0-17ubuntu1~20.04)
configuration: --prefix=/home/koffer/ffmpeg_build --pkg-config-flags=--static
--extra-cflags=-I/home/koffer/ffmpeg_build/include --extra-ldflags=-L/home/koffer/ffmpeg_build/lib
--extra-libs='-lpthread -lm' --bindir=/home/koffer/bin --enable-amf --enable-gpl
--enable-gnutls --enable-libaom --enable-libass --enable-libfdk-aac --enable-libfreetype
--enable-libmp3lame --enable-libopus --enable-libsvtav1 --enable-libvorbis
--enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
libavutil 56. 62.100 / 56. 62.100
libavcodec 58.115.102 / 58.115.102
libavformat 58. 65.100 / 58. 65.100
libavdevice 58. 11.103 / 58. 11.103
libavfilter 7. 92.100 / 7. 92.100
libswscale 5. 8.100 / 5. 8.100
libswresample 3. 8.100 / 3. 8.100
libpostproc 55. 8.100 / 55. 8.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'in.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
encoder : Lavf58.33.100
Duration: 00:06:03.97, start: 0.000000, bitrate: 3850 kb/s
Stream #0:0(und): Video: hevc (Main) (hev1 / 0x31766568), yuv420p(tv, progressive), 3840x2160 [SAR 1:1 DAR 16:9], 3658 kb/s, 25 fps, 25 tbr, 12800 tbn, 25 tbc (default)
Metadata:
handler_name : VideoHandler
vendor_id : [0][0][0][0]
Stream #0:1(chi): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 189 kb/s (default)
Metadata:
handler_name : SoundHandler
vendor_id : [0][0][0][0]
Stream mapping:
Stream #0:0 -> #0:0 (hevc (native) -> h264 (h264_amf))
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
Output #0, mp4, to 'h264_amf.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
encoder : Lavf58.65.100
Stream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p(tv, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 3000 kb/s, 25 fps, 12800 tbn (default)
Metadata:
handler_name : VideoHandler
vendor_id : [0][0][0][0]
encoder : Lavc58.115.102 h264_amf
Stream #0:1(chi): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 189 kb/s (default)
Metadata:
handler_name : SoundHandler
vendor_id : [0][0][0][0]
frame= 9088 fps=117 q=-0.0 Lsize= 141873kB time=00:06:03.94 bitrate=3193.4kbits/s speed=4.67x
video:133135kB audio:8424kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.221972%
Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.
mediainfo of input