使用SMIL文件在videojs播放器中使用自適應流式傳輸需要什麼。我在我的wowza應用程序中創建了SMIL文件,並創建了4個獨立的流並使其可用。不過,我無法讓我的網頁使用videojs正確播放SMIL文件。提示該編碼或去哪裏找到正確的文檔將不勝感激。SMIL自適應流式傳輸Videojs
回答
SMIL播放器的實現並不多。我確定我已經看到了wowza網址,它表明它會將SMIL輸出爲其他格式,比如whatever.smil/manifest.m3u8。這是HLS,它可以在本地移動和Safari上播放,並在其他地方使用videojs-contrib-hls。
我知道這個問題很舊,但最近我一直在努力,所以我想分享我的經驗,以防萬一有人感興趣。我的場景非常相似:想要從Wowza向使用videojs的客戶端提供自適應比特率流。
有一個master link解釋瞭如何設置和運行Wowza Transcoder進行直播,以及如何使用SMIL文件設置自適應比特率流。在視頻之後,您可以實現使用ABS的流,但將SMIL文件附加到流名稱,所以如果您有來自另一個媒體服務器源的Wowza的流並且需要在被送達給客戶之前被轉碼。在文章中提到了一些關鍵的東西(比如Stream Name Groups),但不管怎樣,事情似乎並不清楚,至少對我而言。因此,這裏是一些澄清什麼,我從我讀了所有文章的理解和我做了什麼來實現ABS:
- 可以實現Wowza ABS或者與SMIL文件或流名稱組(NGRP)。 NGRP反射到Transcoder模板中定義的可以使用多比特率流(動態)播放的流塊(這是我使用的)。 SMIL文件用於爲多比特率VOD流創建「靜態」流列表。如果您使用的是Wowza Origin-Edge Delivery,則需要.smil文件,因爲NGRP不會被轉發到邊緣。 (所有這些信息的來源:here)。
- 如果您需要SMIL文件,您可能需要爲每個流生成一個新文件,並且可能希望以自動方式執行該操作,所以最好的方法是通過HTTP請求(在上面的鏈接中解釋如何實現這一點)。
在你可以用NGRP生活情況下,事情有點容易:
- 您需要啓用Wowza轉碼器(這是很容易和步驟都在視頻我上面提到)。
- 您應該創建您自己的代碼轉換器模板,其中包含您想要提供的不同流預設,作爲一個例子,您可以查看已存在的默認代碼。您添加的預設數量越多,Wowza在流式傳輸時就需要做的工作越多,因爲它需要爲您定義的每個預設生成一個新流。
- 現在是當我們生成NGRPs。在您的Transcoder模板中,您可以根據需要生成儘可能多的NGRP(要澄清:這些就像是一組流,您可以在您的客戶端視頻播放器中設置)每個NGRP包含視頻將能夠在進行自適應比特率流傳輸時使用)。舉例來說,這些都是默認NGRPs:
如果你玩在客戶端視頻播放器NGRP「_mobile」,在玩家的ABS算法將能夠使自己適應於基於客戶端功能播放240p或160p流。
所以想象你有這兩個NGRP。 爲了在videoJS發揮他們,你需要將源設置爲:
http://[wowza-ip-address]:1935/<name-of-your-application>/ngrp:myStream_all/playlist.m3u8
或
http://[wowza-ip-address]:1935/<name-of-your-application>/ngrp:myStream_mobile/playlist.m3u8
...根據你要多少選擇提供給客戶端播放器用於ABS。 (例如:如果你的目標是舊的移動設備,你可能只是想提供幾個低比特率的流)。 (如果您提供HLS流,則會出現這種情況。如果其他格式,擴展名會發生變化,例如,如果您要傳送DASH流,您將擁有「/manifest.mpd」而不是「」播放列表。 m3u8「)。
就是這樣,在video.js文檔中還有一個非常有用的鏈接,說明它如何進行比特率切換:here。
我希望它可以幫助別人!至少澄清事情! :)
- 1. 適用於Android的自適應(多比特率)流式傳輸
- 2. 如何使用Play Framework和videojs流式傳輸視頻?
- 3. 自定義流式傳輸
- 4. com.codename1.components.MediaPlayer是否支持HLS自適應比特率流式傳輸
- 5. Videojs和rtmp流
- 6. 來自網絡的Icecast流式傳輸
- 7. 流式傳輸WebRadio
- 8. DotNetZip流式傳輸
- 9. 使用NodeJS流式傳輸Http響應
- 10. 用django-import-export流式傳輸響應
- 11. 以Java流式傳輸HTTP響應
- 12. gzip格式流式傳輸
- 13. Exoplayer自適應hls流
- 14. VideoJs與直播流
- 15. 流式視頻,雲服務器和videojs
- 16. 通過Tomcat流式傳輸
- 17. Mochiweb流式傳輸結果
- 18. MediaPlayer流式傳輸錯誤
- 19. Restlet流式傳輸數據
- 20. 流式傳輸FLV視頻
- 21. Wowza和Android流式傳輸
- 22. Hadoop流式傳輸KeyFieldBasedPartitioner
- 23. 在Node.JS中流式傳輸
- 24. Asp.net Web Api流式傳輸
- 25. 流式傳輸wav文件
- 26. Red5 RTMP流式傳輸
- 27. Apple HTTP LIVE流式傳輸
- 28. 流式傳輸桌面
- 29. RTSP到RTMP流式傳輸
- 30. MJPEG與libcurl流式傳輸