Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
rjbrown
Level 7

Best way to tell if a device is HLS capable?

We want to deliver HLS if the device can handle it, what is the best way to tell? Look at the model number?
0 Kudos
6 REPLIES 6\
RokuJoel
Roku Employee
Roku Employee

Re: Best way to tell if a device is HLS capable?

All Roku devices support HLS. Some handle deviations from the HLS spec better than others though. Also, newer devices unofficially support mp3 audio in videos as well as AAC, whereas older devices only support AAC in videos and mp3 in audio only. By older devices, I mean anything running firmware 3.1, and sorta brick-shaped instead of a hockey puck shape.

- Joel
0 Kudos
rjbrown
Level 7

Re: Best way to tell if a device is HLS capable?

We aren't getting good results on the older devices, despite that they are AAC. I think they are pretty standard as far as the spec goes.

For now it looks like we will need to use something like this to have it request mp4's instead of hls:

version = CreateObject("roDeviceInfo").GetVersion()
major = Mid(version, 3, 1)
minor = Mid(version, 5, 2)

if (major = "3" and minor = "01")
' do mp4
else
' do hls
end if
0 Kudos
RokuJoel
Roku Employee
Roku Employee

Re: Best way to tell if a device is HLS capable?

General issues with HLS that affect all roku players, but the older devices most strongly:

    Keyframes, SPS and PPS not at beginning of segment
    Segments not aligned between bitrate variants
    Server isn't using http 1.1
    Segment window smaller than 8 segments
    Segment size smaller than 10 seconds.
    Chunk list updated on CDN before the segments listed in it are available, device attempts to retrieve segment before it actually exists
    General Audio or Video encoding errors.


I suggest you check that major version is 3 and don't worry about minor version.

Alternatively, as the number of legacy 3.1 devices in use is declining, you may wish to simply exclude that platform from publication, let us know when you submit the channel and we can make that setting change for you.

- Joel
0 Kudos
rjbrown
Level 7

Re: Best way to tell if a device is HLS capable?

Ahh it must be the segment length, we've started to go with shorter than 10 seconds.

We probably better just do mp4 for version 3 until we're ready to abandon the old boxes.

Thanks for the breakdown, that helps a lot!
0 Kudos
RokuJoel
Roku Employee
Roku Employee

Re: Best way to tell if a device is HLS capable?

You should stick to 10 second segments for best performance even on newer devices, as I understand it.

- Joel
0 Kudos
rjbrown
Level 7

Re: Best way to tell if a device is HLS capable?

Thanks, good to know.
0 Kudos