Jump to content
  • 0

Adaptive Bitrate automation and forceStreamQuality not working (EE v2.1)

Jan Petersen


So when ever i'm using ABR it it takes the lowest bitrate and stays there. eventhought i have a 300mpbs download , and my ABR settings are for

1080p 24fps  at 4000kpbs
240p 24fps at 500kbps

it starts up in 1080p but 5 seconds later switches to whatever the lowest bitrate 240p and reports the following bitrateMeasurement 



when i try to forceStreamQuality to 1080 it works the resolution changes, but then

again about 5 seconds later it drops down to lowest bitrate again (240)

what's going on? 

the Adaptive bitrate automation is working

Link to comment
Share on other sites

  • Answers 3
  • Created
  • Last Reply

Top Posters For This Question

3 answers to this question

Recommended Posts

  • 0

thanks Hi I got it working

btw. there are errors in the deployed player.html  (i'm using the azure build) the "stream1" name is hardcoded in forceStreamQuality


I had to set settings.encoding.preset=slow to get close the  quality needed. and it's simply not practical to use ABR in +720p resolution without a hardware acceleration with an supported nvidia GPU.


did an ABR of 

-  1080p 4000kbps
-  720p 2000kbps 
-  360p 800 kbps
and that lead to +80% CPU on an 8 CPU azure compute optimised server. and significant delay in the stream. So GPU is required if wanting high quality stream and ABR.

also the targetBitrate is a weirdone. i'n not sure how that is calculated, but it does not  represent the actually bandwidth limit or max data download speeds. which is properly also 
the reason why the ABR automation is very "unstable" .. like when in 720p it would record a target of about 2600 kbps.. but then when switchting to 1080p the target would change to +3000 kpbs. but still be under the streamed bitrate of 4000.. i dont understand the logic behind this targetBitrate measurement


Link to comment
Share on other sites

  • 0

Hi Jan,

​Slow preset is extremely heavy on the cpu. If you have the access to azure instance you can change that hardcoded part. from webRTCAdaptor.forceStreamQuality("stream1",dropdownSelectedItem); to webRTCAdaptor.forceStreamQuality(streamId,dropdownSelectedItem);

Best Regards,

Enes Kuluk.

Link to comment
Share on other sites


  • Create New...