You need to set buff_size = max_buffer_size in ffmpeg, and min_buffer_size and max_buffer_size should be in 5% range with avg_buffer_size to avoid MUST fix issues with Apple meadiastreamvalidator.
-------------------------------------------------------------------------------- MUST fix issues -------------------------------------------------------------------------------- Error: Measured peak bitrate compared to master playlist declared value exceeds error tolerance --> Detail: Measured: 6188.66 kb/s, Master playlist: 4815.80 kb/s, Error: 28.51% --> Source: http://foo.net/asset/4085de1cd3bc17db0bd71f368de2a79571cae2aa/manifest-7c9b7fbf-1a7b235a-d758c099.m3u8 --> Compare: dec95656-693de01e-370191fe-255163091-ts-7c9b7fbf-1a7b235a-d758c099.m3u8 --> Detail: Measured: 5168.95 kb/s, Master playlist: 3880.80 kb/s, Error: 33.19% --> Source: http://foo.net/asset/4085de1cd3bc17db0bd71f368de2a79571cae2aa/manifest-7c9b7fbf-1a7b235a-d758c099.m3u8 --> Compare: dec95656-693de01e-370191fe-255163092-ts-7c9b7fbf-1a7b235a-d758c099.m3u8 --> Detail: Measured: 2023.18 kb/s, Master playlist: 1548.80 kb/s, Error: 30.63% --> Source: http://foo.net/asset/4085de1cd3bc17db0bd71f368de2a79571cae2aa/manifest-7c9b7fbf-1a7b235a-d758c099.m3u8 --> Compare: dec95656-693de01e-370191fe-255163094-ts-7c9b7fbf-1a7b235a-d758c099.m3u8
You will need to set minrate:maxrate = avgrate-5%:avgrate+5% and maxrate=bufsize with ffmpeg to avoid above case. The ffmpeg options you should do is something like below:
ffmpeg -i "/tmp/ck_ffmpeg/2021-09-22_305fde4e/src.mp4" \ . . . -filter:v:0 "scale=iw*sar*min(1920/(iw*sar)\,1080/ih):ih*min(1920/(iw*sar)\,1080/ih), pad=1920:1080:(ow-iw)/2:(oh-ih)/2, format=yuv420p, fps=30" \ -b:v:0 9.5M \ -maxrate:v:0 10M \ -minrate:v:0 9M \ -bufsize:v:0 10M \ -b:a:0 192k \ -muxdelay 0 \ -muxpreload 0 \ . . .