Wednesday, January 9, 2019

打造一個多人串流系統 adobe media server f4m to HTTP Live Streaming(hls) part3



Adobe宣布Flash不再更新2020年全面停用,HTML5淘汰Flash成為多媒體網頁主流

Adobe宣布Flash不再更新2020年全面停用,HTML5淘汰Flash成為多媒體網頁主流 (比較,取代,2D動畫,多媒體,ActionScript,Safari,Firefox,Flash Player)

HTML5 出現之後,和 Flash 的比較、取代到淘汰的話題始終熱門。Flash 歷經 Macromedia 時代到 Adobe 時代,可以說是平面2D多媒體設計的主流軟體;然而,時至今日Flash 已經是走入末途,越來越多的開發公司表示不採用 Flash Player 與其相關技術,主流瀏覽器也陸續停止支援這個漏洞永遠補不完且很吃系統資源的舊技術。

自2016年 Google 表示最快該年底就會將 Chrome 瀏覽器預設停止支援與使用Flash後,2017年的現在,Adobe 都已經確定宣告 Flash 將走入歷史。

Adobe宣布Flash不再更新2020年全面停用,HTML5淘汰Flash成為多媒體網頁主流 (比較,取代,2D動畫,多媒體,ActionScript,Safari,Firefox,Flash Player)

綜合於上述原因我們來思考一下解決方案吧!

HTTP Live Streaming(hls)



HTTP Live Streaming(縮寫是HLS)是一個由蘋果公司提出的基於HTTP流媒體網絡傳輸協議。是蘋果公司QuickTime XiPhone軟體系統的一部分。它的工作原理是把整個流分成一個個小的基於HTTP的文件來下載,每次只下載一些。當媒體流正在播放時,客戶端可以選擇從許多不同的備用源中以不同的速率下載同樣的資源,允許流媒體會話適應不同的數據速率。在開始一個流媒體會話時,客戶端會下載一個包含元數據的extended M3U (m3u8) playlist文件,用於尋找可用的媒體流。
HLS只請求基本的HTTP報文,與實時傳輸協議(RTP)不同,HLS可以穿過任何允許HTTP數據通過的防火牆或者代理伺服器。它也很容易使用內容分發網絡來傳輸媒體流。
蘋果公司把HLS協議作為一個網際網路草案(逐步提交),在第一階段中已作為一個非正式的標準提交到IETF。2017年8月,RFC 8216發布,描述了HLS協議第7版的定義。

adobe media server to hls



恩恩看來新版adobe media server 有支援 hls 之間的轉換,就來看怎樣實現過程吧!

Flex to HTTP Live Streaming



使用html5進行撥放 ,並不支援原生撥放數據,所以必須再轉成hls 


http://localhost/hds-live/livepkgr/_definst_/liveevent/livestream.m3u8 


http://localhost/hds-live/livepkgr/_definst_/liveevent/livestream.f4m


使用html5進行撥放 ,並不支援原生撥放數據,所以必須再轉成hls


http://localhost/hds-live/livepkgr/_definst_/liveevent/livestream.m3u8

輸入範例
rtmp://localhost/livepkgr

livestream?adbe-live-event=liveevent

[name]? adbe-live-event=liveevent

Stream里面输入:livestream?adbe-live-event=liveevent 如果左边的Preset设置了多路,Stream就要修改为:livestream%i?adbe-live-event=liveevent


新建crossdomain.xml跨網域權限文件


目前設為最寬鬆
位置
C:\Program Files\Adobe\Adobe Media Server 5\webroot\crossdomain.xml



推送頻道範例



推送去123頻道成功會在
C:\Program Files\Adobe\Adobe Media Server5\applications\livepkgr\streams\_definst_ 
產生該頻道資料夾



注意端口 ,和url文件位置與檔案格式

http://172.16.2.111:8134/hds-live/livepkgr/_definst_/liveevent/livestream.f4m


http://172.16.2.111:8134/hls-live/livepkgr/_definst_/liveevent/livestream.m3u8

檢測是否成功推送可以鍵入此連結
http://172.16.2.111:8134/hds-live/livepkgr/_definst_/liveevent/livestream.f4m



多路推送 品質修改 (尚未研究)



(好像是自動適應,依網路速度自行切換吧?
C:\Program Files\Adobe\Adobe Media Server 5\applications\livepkgr\events\_definst_\liveevent\ Manifest.xml





Html5使用hls.js 撥放器,撥放m3u8串流




adobe  media server  to hls !