Roku Developer Program

Join our online forum to talk to Roku developers and fellow channel creators. Ask questions, share tips with the community, and find helpful resources.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
matrixebiz
Roku Guru

What to use for unknown HLS stream quality?

Hello All, I'm using the default SDK settings for streamBitrate because I have no way of determining the actual bitrate;
<media>
<streamQuality>SD</streamQuality>
<streamBitrate>1500</streamBitrate>
<streamUrl>http://HLS/live.m3u8</streamUrl>
</media>

Taken from the HLS Troubleshooting thread;
5) If your HLS streams are less than 1.5 Mb/s, they may take very long in the preloading phase. Roku considers this a bug in the current firmware, but there is a workaround. Instead of setting content metadata StreamBitrates = [0] for your HLS stream, set it to the actual bandwidth of your stream when it is less than 1.5 Mb/s. Example for 900kbps stream: StreamBitrates = [900]


1) What does the "0" setting do? <streamBitrate>0</streamBitrate> Does it allow the Roku to adjust Bitrate/quality according to streaming speed if the connection isn't the greatest?
2) Since I won't also know if the user of my channel will have an SD or HD television, if I leave the setting at <streamQuality>SD</streamQuality> will this make it compatible with both television types but not degrade the quality on an HD TV?
0 Kudos
3 REPLIES 3
jamilou
Visitor

Re: What to use for unknown HLS stream quality?

"matrixebiz" wrote:
Hello All, I'm using the default SDK settings for streamBitrate because I have no way of determining the actual bitrate;
<media>
<streamQuality>SD</streamQuality>
<streamBitrate>1500</streamBitrate>
<streamUrl>http://HLS/live.m3u8</streamUrl>
</media>

Taken from the HLS Troubleshooting thread;
5) If your HLS streams are less than 1.5 Mb/s, they may take very long in the preloading phase. Roku considers this a bug in the current firmware, but there is a workaround. Instead of setting content metadata StreamBitrates = [0] for your HLS stream, set it to the actual bandwidth of your stream when it is less than 1.5 Mb/s. Example for 900kbps stream: StreamBitrates = [900]


1) What does the "0" setting do? <streamBitrate>0</streamBitrate> Does it allow the Roku to adjust Bitrate/quality according to streaming speed if the connection isn't the greatest?
2) Since I won't also know if the user of my channel will have an SD or HD television, if I leave the setting at <streamQuality>SD</streamQuality> will this make it compatible with both television types but not degrade the quality on an HD TV?


Hello,

Did you finally know what 0 means in the StreamBitrates part of the code ?

Thank you
0 Kudos
matrixebiz
Roku Guru

Re: What to use for unknown HLS stream quality?

No, I assume it means that it allows the Roku to be Adaptive
0 Kudos
RokuLeoW
Visitor

Re: What to use for unknown HLS stream quality?

Hi matrixebiz and jamilou,

Just relaying information from RokuJoel and personal experience:
1) The "0" setting tells the player to figure out what the bitrate is (adaptive) -- it's generally the recommended setting if your highest bitrate is over 1500 kbps. However, as noted in the HLS troubleshooting thread, you should set the stream bandwidth when < 1.5 mbps.
2) I'm not sure how stream quality is handled, but in the manifest if you set "ui_resolutions=fhd" only then all scaling would be automatically handled (if your translations are for an FHD TV, they will automatically be scaled down so you only have to develop for FHD). I would assume that stream quality would follow the same logic. If you have a SD and HD TV I would test on both to make sure! 
0 Kudos