我正在尝试使用JWplayer 6.9设置ABR(Wowza 4.0.3是流媒体服务器)。
Wowza Transcoder AddOn已禁用。这意味着如果我们调用wowza获取某个视频文件的播放列表,它会自动返回仅包含该文件的m3u8格式,但不会返回该文件的所有现有流。看看如何做到这一点,因为smil文件很好但不适用于播放列表(https请求,对于Ipad)
默认情况下,只有一个流,jwplayer请求:
https://wowza-test/vod/sample-a.mp4/playlist.m3u8
返回:
#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
有效。
我正在尝试在JWplayer中设置它,所以它获得了一个像上面这样的播放列表文件,但有多个流,然后显示在流之间更改的图标。
首次尝试(playlist.m3u8):
jwplayer的变化: '来源':[{ file:" /files/playlist.m3u8" }],
playlist.m3u8文件:
#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
=============================================== ================
第二次尝试 :(更改了jwplayer代码:file:" /files/video.smil")
jwplayer的变化: '来源':[{ file:" /files/video.smil" }],
Smil文件(/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>
以上所有选项都不会向Wowza发出成功请求... 如何使用播放列表在jwplayer中发送不同的流?
答案 0 :(得分:0)
作为服务器端解决方案,这已经有效了
JWplayer改变:
'sources':[{ file: "**https://wowza-test/smil:sample.smil/playlist.m3u8**" }]
Wowza changse:创建了SMIL文件。当收到对该SMIL文件的http请求时,Wowza会发送一个包含播放列表文件的响应,因为这是请求中的格式发送(“/ playlist.m3u8”)
SMIL文件:
播放列表发送回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
注意:强> Ipad仍然可以“处理”此请求,但它不会显示在比特率(带标记的HTML5限制)之间更改的图标。 - 使用Flash的普通浏览器将显示比特率选择图标 - 。
感谢JWplayer的Ethan的帮助。