1
votes

I am trying to setup ABR with JWplayer 6.9 (Wowza 4.0.3 is the streaming server).

Wowza Transcoder AddOn is disabled. That means that if we call wowza to get a playlist for a certain video file, it automatically returns a m3u8 format with only that file, but not all existing streams for that file. see how to do it, for smil files is fine but not for playlist (https requests, for Ipad)

By default, for only one stream, jwplayer request:

https://wowza-test/vod/sample-a.mp4/playlist.m3u8

Returns:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2046111,CODECS="avc1.77.31, mp4a.40.2",RESOLUTION=960x540
chunklist_w1793638657.m3u8

which works.

I am trying to setup this in JWplayer so it gets a playlist file like the above but with multiple streams and then shows the icon to change between streams.

First atempt(playlist.m3u8):

Changes in jwplayer: 'sources':[{ file: "/files/playlist.m3u8" }],

playlist.m3u8 file:

#EXTM3U
#EXT-X-VERSION:3

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2046111,CODECS="avc1.77.31,mp4a.40.2",RESOLUTION=960x540
https://wowza-test/vod/sample-a.mp4?id=489gde9-a33z400

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1023055,CODECS="avc1.77.31,mp4a.40.2",RESOLUTION=480x270
https://wowza-test/vod/sample-b.mp4?id=489gde9-a33z400

===============================================================

Second attempt: (changed jwplayer code: file: "/files/video.smil")

Changes in jwplayer: 'sources':[{ file: "/files/video.smil" }],

Smil File(/files/video.smil):

<smil>
    <head><meta base="https://wowza-test/vod/" /></head>
    <body>
    <switch>
        <video src="mp4:sample-a.mp4/playlist.m3u8" system-bitrate="2046111" width="960" height="540" />
        <video src="mp4:sample-b.mp4/playlist.m3u8" system-bitrate="1023055" width="480" height="270" />
    </switch>
    </body>
</smil>

None of the options above will make a successfull request to Wowza... How can I send different streams in jwplayer using playlists?

1
Do you have a link to where you are running this?emaxsaun
unfortunately i cannot paste those login credentials here :( I have found a solution though, i am calling: wowza-test/vod/smil:sample-a.smil/playlist.m3u8 which seems working. But on desktop(chrome( the icon of bitrate selection is displayed, not in Ipad :( looking at the logs it seems the playlist with the three streams is being returned for both but Ipad does not show the icon, Do you know why? Is this supposed to be working with Ipad?kandan
if you have an email i can send you the linkskandan
Support <at> jwplayer <dot> comemaxsaun
just sent it. thanks.kandan

1 Answers

0
votes

As a server-side solution this has worked

JWplayer changes:

 'sources':[{ file: "**https://wowza-test/smil:sample.smil/playlist.m3u8**" }]

Wowza changse: Created SMIL file. When receiving an http request to that SMIL file, Wowza sends a response with the playlist file as this is the format send in the request ("/playlist.m3u8")

SMIL FILE:

Play list sent back to jwplayer:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2046111,RESOLUTION=960x540
chunklist_w1569082401_b6064000_sleng.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1023055,RESOLUTION=480x270
chunklist_w1569082401_b6064000_sleng.m3u8

NOTE: Ipad will still "work" with this request, but it won't display the icon to change between bitrate (HTML5 limitation with tag). - Normal browsers using Flash will display the bitrate selection icon -.

Thanks to Ethan from JWplayer for his help.