Media3/Exoplayer CMAF LL-HLS Playlist correct LoadControl values for smooth streaming

56 Views Asked by At

We are having problems determining the correct settings for our live feed to play smoothly. Our goal is to keep latency around 3 seconds. We are able to achieve this in HLS.JS, SHAKA, THEO player, etc, but have been unable to get the correct values to play smoothly in Media3.

These are the best values we have tested so far, but video still not 100% smooth:

    minBufferMs: 3000,
    maxBufferMs: 3000,
    bufferForPlaybackMs: 500,
    bufferForPlaybackAfterRebufferMs: 500

We have tried multiple variations, but were wondering if there was a more efficient formula we should be using instead for trial and error. Here is the manifest for our streams:

   #EXTM3U
   #EXT-X-VERSION:7
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:9681
#EXT-X-DISCONTINUITY-SEQUENCE:3
#EXT-X-SERVER-CONTROL:CAN-BLOCK-RELOAD=YES,PART-HOLD-BACK=3
#EXT-X-PART-INF:PART-TARGET=1
#EXT-X-KEY:METHOD=SAMPLE-AES,URI="skd://5OVYF3YxCPFAfWgczArSzg==",KEYFORMAT="com.apple.streamingkeydelivery",KEYFORMATVERSIONS="1"
#EXT-X-KEY:METHOD=SAMPLE-AES,KEYID=0xe4e55817-7631-08f1-407d-681ccc0ad2ce,URI="data:text/plain;base64,AAAAbHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAEwIARIQ5OVYF3YxCPFAfWgczArSzhoMaW5rYWVudHdvcmtzIiQ2YTU1OTNmNi03OTNkLTExZWUtOGFjMi0wNDAxOTk5MjkwMDEqAkhE",KEYFORMAT="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed",KEYFORMATVERSIONS="1",IV=0x7a6369346d7630307735766a39336368
#EXT-X-PROGRAM-DATE-TIME:2023-12-22T18:57:07.003Z
#EXT-X-MAP:URI="video_1.fmp4"
#EXTINF:6,
v_66_43356000_9681.fmp4
#EXT-X-PART:DURATION=1,URI="v_66_43362000_9682_0.fmp4",INDEPENDENT=YES
#EXT-X-PART:DURATION=1,URI="v_66_43362000_9682_1.fmp4",INDEPENDENT=YES
#EXT-X-PART:DURATION=1,URI="v_66_43362000_9682_2.fmp4",INDEPENDENT=YES
#EXT-X-PART:DURATION=1,URI="v_66_43362000_9682_3.fmp4",INDEPENDENT=YES
#EXT-X-PART:DURATION=1,URI="v_66_43362000_9682_4.fmp4",INDEPENDENT=YES
#EXT-X-PART:DURATION=1,URI="v_66_43362000_9682_5.fmp4",INDEPENDENT=YES
#EXT-X-PROGRAM-DATE-TIME:2023-12-22T18:57:13.003Z
#EXTINF:6,
v_66_43362000_9682.fmp4
#EXT-X-PART:DURATION=1,URI="v_66_43368000_9683_0.fmp4",INDEPENDENT=YES
#EXT-X-PART:DURATION=1,URI="v_66_43368000_9683_1.fmp4",INDEPENDENT=YES
#EXT-X-PART:DURATION=1,URI="v_66_43368000_9683_2.fmp4",INDEPENDENT=YES
#EXT-X-PART:DURATION=1,URI="v_66_43368000_9683_3.fmp4",INDEPENDENT=YES
#EXT-X-PART:DURATION=1,URI="v_66_43368000_9683_4.fmp4",INDEPENDENT=YES
#EXT-X-PART:DURATION=1,URI="v_66_43368000_9683_5.fmp4",INDEPENDENT=YES
#EXT-X-PROGRAM-DATE-TIME:2023-12-22T18:57:19.003Z
#EXTINF:6,
v_66_43368000_9683.fmp4
#EXT-X-PART:DURATION=1,URI="v_66_43374000_9684_0.fmp4",INDEPENDENT=YES
#EXT-X-PART:DURATION=1,URI="v_66_43374000_9684_1.fmp4",INDEPENDENT=YES
#EXT-X-PART:DURATION=1,URI="v_66_43374000_9684_2.fmp4",INDEPENDENT=YES
#EXT-X-PART:DURATION=1,URI="v_66_43374000_9684_3.fmp4",INDEPENDENT=YES
#EXT-X-PART:DURATION=1,URI="v_66_43374000_9684_4.fmp4",INDEPENDENT=YES
#EXT-X-PART:DURATION=1,URI="v_66_43374000_9684_5.fmp4",INDEPENDENT=YES
#EXT-X-PROGRAM-DATE-TIME:2023-12-22T18:57:25.003Z
#EXTINF:6,
v_66_43374000_9684.fmp4
#EXT-X-PRELOAD-HINT:TYPE=PART,URI="v_66_43380000_9685_0.fmp4"
0

There are 0 best solutions below