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: 
renojim
Community Streaming Expert

Re: Adobe Media Server 5 HLS Adaptive

i'm no expert, but I think you're looking for something like this:
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=150000
http://192.168.1.223/hls-vod/sample1_150kbps.f4v.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=500000
http://192.168.1.223/hls-vod/sample1_500kbps.f4v.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=700000
http://192.168.1.223/hls-vod/sample1_700kbps.f4v.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=1000000
http://192.168.1.223/hls-vod/sample1_1000kbps.f4v.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=150000
http://192.168.1.223/hls-vod/sample1_1500kbps.f4v.m3u8

Then you want to set SwitchingStrategy to "full-adaptation"

-JT
Roku Community Streaming Expert

Help others find this answer and click "Accept as Solution."
If you appreciate my answer, maybe give me a Kudo.

I am not a Roku employee.
0 Kudos
majormal
Visitor

Re: Adobe Media Server 5 HLS Adaptive

JT you da man!

Thanks - it was a simple fix in the end (just needs full path in manifest) and I'm slightly embarrassed that I hadn't tried that as I must have tried pretty much every other variation of tweaking you can imagine!

cheers,
Adam
0 Kudos
majormal
Visitor

Re: Adobe Media Server 5 HLS Adaptive

BTW, it turns out you can also fix it by removing the path altogther:

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=150000
sample1_150kbps.f4v.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=500000
sample1_500kbps.f4v.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=700000
sample1_700kbps.f4v.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=1000000
sample1_1000kbps.f4v.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=150000
sample1_1500kbps.f4v.m3u8


Roku then successfully handles the relative path as per the standard:

http://tools.ietf.org/html/draft-pantos-http-live-streaming-04#section-3.1

"A URI line identifies a media file or a variant Playlist file (see Section 3.2.7). URIs MAY be relative. A relative URI MUST be resolved against the URI of the Playlist file that contains it."

However, all other players I've tested are slightly more intelligent about their relative path handling and will allow/strip duplicate elements in the path, which Roku may want to look at implementing too.

Anyway, thanks again everyone for your help in tracking this down.

cheers,
Adam
0 Kudos
majormal
Visitor

Re: Adobe Media Server 5 HLS Adaptive

OK, I think I've tracked down the real reason for the failure:

Adobe's example manifests have blank lines between each entry. It appears that Roku doesn't like blank lines, even though they are explicitly allowed:

http://tools.ietf.org/html/draft-pantos-http-live-streaming-04#section-3.1

Remove the blank lines and all is well!

This manifset does not work:

#EXTM3U

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=150000

sample1_150kbps.f4v.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=500000

sample1_500kbps.f4v.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=700000

sample1_700kbps.f4v.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1000000

sample1_1000kbps.f4v.m3u8

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1500000

sample1_1500kbps.f4v.m3u8


And this one does:

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=150000
sample1_150kbps.f4v.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=500000
sample1_500kbps.f4v.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=700000
sample1_700kbps.f4v.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1000000
sample1_1000kbps.f4v.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1500000
sample1_1500kbps.f4v.m3u8


cheers,
Adam
0 Kudos