Adobe Media Server 5 HLS Adaptive

Hi,

I’m trying to use the example ‘videoplayer’ code to access HLS content from an out-of-box install of AMS 5.

I’ve tweaked a set of channels to look like:

        
        <item sdImg="file://pkg:/images/test-streams.png" hdImg="file://pkg:/images/test-streams.png">
                <title>Adobe HLS Test Stream - 1000 kbps</title>
                <contentId>20001</contentId>
                <contentType>Test</contentType>
                <contentQuality>SD</contentQuality>
                <streamFormat>hls</streamFormat>
                <media>
                        <streamQuality>SD</streamQuality>
                        <streamBitrate>1000</streamBitrate>
                        <streamUrl>http://192.168.1.223/hls-vod/sample1_1000kbps.f4v.m3u8</streamUrl>
                </media>
                <synopsis>Test HLS - 1000 kbps</synopsis>
                <genres>TV</genres>
                <runtime>0</runtime>
        </item>
        <item sdImg="file://pkg:/images/test-streams.png" hdImg="file://pkg:/images/test-streams.png">
                <title>Adobe HLS Test Stream - 1500 kbps</title>
                <contentId>20002</contentId>
                <contentType>Test</contentType>
                <contentQuality>SD</contentQuality>
                <streamFormat>hls</streamFormat>
                <media>
                        <streamQuality>SD</streamQuality>
                        <streamBitrate>1500</streamBitrate>
                        <streamUrl>http://192.168.1.223/hls-vod/sample1_1500kbps.f4v.m3u8</streamUrl>
                </media>
                <synopsis>Test HLS - 1500 kbps</synopsis>
                <genres>TV</genres>
                <runtime>0</runtime>
        </item>
        <item sdImg="file://pkg:/images/test-streams.png" hdImg="file://pkg:/images/test-streams.png">
                <title>Adobe HLS Test Stream - Adaptive Bitrate</title>
                <contentId>20003</contentId>
                <contentType>Test</contentType>
                <contentQuality>HD</contentQuality>
                <streamFormat>hls</streamFormat>
                <media>
                        <streamQuality>HD</streamQuality>
                        <streamBitrate>0</streamBitrate>
                        <streamUrl>http://192.168.1.223/hls-vod/hls_sample1_manifest.m3u8</streamUrl>
                </media>
                <synopsis>Test HLS - Adapative 150kbps - 1500kbps</synopsis>
                <genres>TV</genres>
                <runtime>0</runtime>
        </item>

All the channels work fine except the last one, which won’t play. Debug console says ‘Unspecified or invalid track path/url.’

Putting the URL ‘http://192.168.1.223/hls-vod/hls_sample1_manifest.m3u8’ into safari on an iphone works fine, so I know the URL is good.

manifest looks like:


#EXTM3U

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

/hls-vod/sample1_150kbps.f4v.m3u8

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

/hls-vod/sample1_500kbps.f4v.m3u8

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

/hls-vod/sample1_700kbps.f4v.m3u8

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

/hls-vod/sample1_1000kbps.f4v.m3u8

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

/hls-vod/sample1_1500kbps.f4v.m3u8

I’ve also added


        If item.StreamFormat="hls"
                item.SwitchingStrategy="full-adaptation"
        End If

to showFeed.brs as per another post here, with no joy.

Any ideas?

Thanks,
mm

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