2016-02-12 56 views
0

如何管理由大量小視頻組成的視頻?例如,原始視頻被拆分爲1秒的視頻,每個視頻都以不同的字節速率提供,以便我可以根據當前的帶寬選擇每個部分。或者原始視頻是360視頻,並且可以在不同區域以更好質量提供的1s塊中拆分,以便我可以將相應用戶當前正在查看的塊傳輸。html播放由大量排隊小視頻組成的視頻

看來MPEG-DASH玩家解決這個問題的字節速率適配,即使他們可能做得更多。

這聽起來並不複雜的和一幫HTML5視頻在臺式機+ JavaScript來做到這一點,與小心與什麼是流時和處理過渡。但是,在手機上,我需要用戶交互來加載視頻並播放它。但我不希望用戶每秒都用手機拍...

理想情況下,最終的東西會有一個非常類似於html5視頻的api,有額外的可能性以定期選擇流源。對我來說,它對移動設備非常重要。

很多謝謝!

回答

1

是,MPEG-DASH和HLS正在解決等等這個問題。

DASH和HLS玩家使用新的HTML5 Media Source Extensions API(MSE),就好像他們只是一個單一的文件播放多個視頻片段。

移動是一個問題。 MSE適用於Android的Chrome瀏覽器,但請注意大多數Android手機附帶的內置瀏覽器。他們是臭名昭着的缺乏功能。

不幸的是MSE不會對iOS工作。在iOS上唯一可用的是HLS。

大多數人都使用HLS,因爲它在iOS設備上傳播非常廣泛,並得到很好的支持。 HLS在Android上也受到支持,儘管它可能會在某些設備上出現問題(正如你所知道的,幾乎所有的硬件製造商也在製造Android手機,並且知道他們正在將哪些硬件放入手機中。而當談到機頂盒的時候,更糟)。對於桌面瀏覽器,使用javascript HLS播放器,如hls.js(開源)或Viblast(商業版)。一些流媒體服務器以多種格式打包視頻流--HLS,MPEG-DASH,rtmp,因此可以實現回退機制:如果支持HLS,請使用HLS,如果支持,則使用MPEG-DASH;如果使用的是舊版瀏覽器,則使用rtmp 。

一個DIY解決方案是有趣的事情,但你把它在大多數平臺(移動和桌面)工作之前,你應該準備可能投入大量的時間。