我正在尝试使用JWplayer 6.9 (Wowza 4.0.3是流媒体服务器)设置ABR。
Wowza Transcoder AddOn被禁用。这意味着,如果我们调用wowza获取某个视频文件的播放列表,它会自动返回一个m3u8格式的文件,而不是该文件的所有现有流。看看怎么做,对于微笑文件是好的,但不是播放列表(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的变化:"来源":[{文件:"/文件/playlist.m3u8"}),
播放列表。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
===============================================================
第二次尝试: (changed jwplayer code: file: "/files/video.smil")
jwplayer的变化:"来源":[{文件:"/文件/video.smil"}),
Smil文件(/文件/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中使用播放列表发送不同的流?
作为服务器端解决方案,这是有效的
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的帮助