Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Excerpt

You need to set buff_size = max_buffer_size in ffmpeg, and * 1.5, min_buffer_size and = max_buffer_size should be in 5% range with avg* 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.


Code Block
--------------------------------------------------------------------------------
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:  httphttps://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:  httphttps://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:  httphttps://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 :buffsize = 0.92:0.96:1:1.5 with ffmpeg to avoid above case. The ffmpeg options you should do is something like below:

Code Block
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.5M6M \
	-maxrate:v:0 10M \
	-minrate:v:0 9M9.2M \
	-bufsize:v:0 10M15M \
	-b:a:0 192k \
	-muxdelay 0 \
	-muxpreload 0 \
	.
	.
	.