Forum Discussion

matrixebiz's avatar
matrixebiz
Roku Guru
10 years ago

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?

3 Replies

  • "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
  • 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!