You need to set buff_size = max_buffer_size * 1.5, min_buffer_size = max_buffer_size * 0.92, avg_buffer_size = max_buffer_size * 0.96, gop=60, fps=30 in ffmpeg to avoid MUST fix issues with Apple meadiastreamvalidator.

Apple mediastreamvalidator is one of the tools can verify if HLS stream is stable or not. Sometimes its error message is too sensitive, because that does not make any errors on real world - probably the very old legacy device may have issues.


--------------------------------------------------------------------------------
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:  https://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:  https://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:  https://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:avgrate:maxrate:buffsize = 0.92:0.96:1:1.5 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" \
	.
	.
	.
	-g 60
	-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.6M \
	-maxrate:v:0 10M \
	-minrate:v:0 9.2M \
	-bufsize:v:0 15M \
	-b:a:0 192k \
	-muxdelay 0 \
	-muxpreload 0 \
	.
	.
	.