I have set up a new application on WSE 4.5, and everything works well, except that playback of HLS streams on Android devices fail when the manifest is access via HTTPS (it works via HTTP). The same behavior happens with live or vod streams.
I compared the generated manifest to a manifest from a test stream I set up on Wowza Cloud, and the main difference I noted was that the path to the chunklists are relative in the Streaming Engine manifest, and absolute in the Wowza Cloud manifest…see below:
Streaming Engine 4.5:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:BANDWIDTH=2292000,CODECS="avc1.100.31,mp4a.40.2",RESOLUTION=1280x720
chunklist_w1857459623_b2292000.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=1392000,CODECS="avc1.100.30,mp4a.40.2",RESOLUTION=848x480
chunklist_w1857459623_b1392000.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=704000,CODECS="avc1.77.31,mp4a.40.2",RESOLUTION=640x360
chunklist_w1857459623_b704000.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=576000,CODECS="avc1.66.12,mp4a.40.2",RESOLUTION=424x240
chunklist_w1857459623_b576000.m3u8
Wowza Cloud (some info obfuscated for security):
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:BANDWIDTH=8000348,CODECS="avc1.77.40,mp4a.40.2",RESOLUTION=1920x1080
https://foo.akamaihd.net/hls/live/xxx/bar_1_4128/chunklist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=3649866,CODECS="avc1.100.41,mp4a.40.2",RESOLUTION=1280x720
https://foo.akamaihd.net/hls/live/xxx/bar_1_2728/chunklist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2402944,CODECS="avc1.77.40,mp4a.40.2",RESOLUTION=854x480
https://foo.akamaihd.net/hls/live/xxx/bar_1_1728/chunklist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=1522330,CODECS="avc1.77.32,mp4a.40.2",RESOLUTION=640x360
https://foo.akamaihd.net/hls/live/xxx/bar_1_1152/chunklist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=916373,CODECS="avc1.66.30,mp4a.40.2",RESOLUTION=512x288
https://foo.akamaihd.net/hls/live/xxx/bar_1_640/chunklist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=611516,CODECS="avc1.66.30,mp4a.40.2",RESOLUTION=320x180
https://foo.akamaihd.net/hls/live/xxx/bar_1_448/chunklist.m3u8
I’m using JW Player 7, but the result appears to be unrelated to players, as entering the manifest URL’s directly into Chrome on Android exhibits the described behavior (HTTP works, HTTPS fails).
The manifest samples above are adaptive, but single-rendition manifests behave identically.
Both HTTP and HTTPS will work as expected on desktop and IOS. Perhaps this is an Android bug or quirk, but if the chunklist URL’s are the key, is there any way to force WSE to use absolute URLs in the manifest?
I can provide working test URL’s via PM or email if you’d like.