Question

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?

Was it helpful?

Solution

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top