Bit Rate adattativo JWPlayer per iPad utilizzando Playlist
-
21-12-2019 - |
Domanda
Sto cercando di configurare ABR con JWPlayer 6.9 (Wowza 4.0.3 è il server di streaming).
Addon Transcoder Wowza è disabilitato. Ciò significa che se chiamiamo Wowza per ottenere una playlist per un determinato file video, restituisce automaticamente un formato M3U8 con solo quel file, ma non tutti i flussi esistenti per quel file. Guarda come farlo, per i file SMIL va bene ma non per la playlist (richieste HTTPS, per iPad)
Per impostazione predefinita, per un solo flusso, richiesta JWPlayer:
https://wowza-test/vod/sample-a.mp4/playlist.m3u8
.
Restituisce:
#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
.
che funziona.
Sto cercando di configurare questo in JWPlayer in modo da ottenere un file di playlist come sopra ma con più flussi e quindi mostra l'icona per cambiare tra flussi.
First Aprempder (Playlist.m3U8):
Modifiche in JWPlayer: 'Fonti': [{ 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
.
===============================================================
Secondo tentativo : (Modificato JWPlayer Codice: File: "/Files/video.smil")
Modifiche in JWPlayer: 'Fonti': [{ 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>
.
Nessuna delle opzioni di cui sopra renderà una richiesta di successo a Wowza ... Come posso inviare diversi flussi in JWPlayer utilizzando Playlist?
Soluzione
Come soluzione lato server ha funzionato
JWPlayer cambia:
'sources':[{ file: "**https://wowza-test/smil:sample.smil/playlist.m3u8**" }]
.
Wowza Changse: creato file smil.Quando si riceve una richiesta HTTP a quel file Smil, Wowza invia una risposta con il file di playlist in quanto questo è il formato inviare nella richiesta ("/ playlist.m3u8")
File Smil:
Play Elenco inviato a 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
.
Nota: L'iPad "funziona" con questa richiesta, ma non visualizzerà l'icona per cambiare tra Bitrate (limitazione HTML5 con tag). - I browser normali che utilizzano flash visualizzeranno l'icona di selezione Bitrate -.
Grazie a Ethan da JWPlayer per il suo aiuto.