里云播放器SDK(ApsaraVideo for Player SDK)是阿里視頻云端到云到端服務的重要一環,除了支持點播和直播的基礎播放功能外,還深度融合視頻云業務,支持視頻的加密播放、安全下載、首屏秒開、低延時等業務場景,為用戶提供簡單、快速、安全、穩定的視頻播放服務。本文銜接上文,詳細介紹web播放器的功能及實現。
播放器架構
Aliplayer Web播放器分為H5和Flash兩個,Flash播放器隨著技術的發展會逐漸被邊緣化,所以我們以后只做維護,不會更新功能了,重點會放在H5播放器上。H5播放器架構主要分四層,底層H5 Video,播放能力和H5原生Video緊密相關。第二層是基礎播放器,它不依賴于具體業務,通過URL的方式來播放。第三層是為各種業務場景準備的不同的播放器,可以很容易的擴展,相互隔離不依賴。最上面一層是適配的播放器,會根據終端類型、瀏覽器類型、播放格式和用戶指定來進行智能適配。
播放器功能
最近,我們在播放器端上也實現了截圖、國際化、變速、UI自定義、微信同層播放、自適應播放、加密播放、H5播放flv、自定義插件等功能。后續,我們還會通過插件的形式實現彈幕、廣告等功能,并會開源到github上,也會支持用戶根據自己業務需求來自定義SDK包。
播放器支持視頻格式
適配播放
我們整個視頻播放的基本原則是H5優先,能用H5播放的肯定不用Flash去播放。所以在移動端,我們肯定是用H5來播放的,PC端也依照這個原則盡量使用H5。同時,我們會判斷瀏覽器類型支持哪種播放格式,比如m3u8在PC端IE11以上的瀏覽器才能播放,如果遇到IE11以下的瀏覽器,我們自動會選擇Flash播放。在視頻格式方面,假設視頻是rtmp和flv,我們會自動選擇Flash播放。另外,如果用戶自主設置useH5Prism和useFlashPrism屬性,那我們也會依照用戶的選擇。
瀏覽器支持情況
FLASH支持IE8以上,在瀏覽器上啟動允許FLASH運行即可;H5支持IE9以上,m3u8需要在IE11以上才可以運行;其他瀏覽器都也都是可以支持的。
兩種播放方式
source,通過url 去播放
通過點播vid+playauth去播放,第二種方式和視頻云結合比較緊密
點播播放格式的選擇
點播服務中轉碼生成的視頻格式有很多,包括m3u8、flv、mp4等。播放器有自己的一套邏輯去選擇播放格式。對于H5來說,默認播放低清版本來節省流量,如果用戶使用了切換清晰度的功能,那我們會默認打開他選擇的版本。格式方面,則默認播放mp4,用戶也可以設置qualitySort來優先播放高清的的版本。對于Flash來說,默認格式順序是m3u8、flv、mp4。
創建播放器
引用正確的JS和CSS文件
添加播放器容器 需要設置容器的id屬性,另外2.0.1之前的版本要添加prism-player類型。
New Aliplayer創建播放
在線配置,用戶可以預先體驗下播放器的情況
Aliplayer-Cli創建演示例子
用戶需要演示例子的時候,不需要寫很多代碼,通過這個命令,就可以創建例子,直接體驗AliPlayer。
PC端支持m3u8
播放域名啟用允許跨域訪問
訂閱和取消事件
清晰度切換
H5 1.9.9以后的版本和id+playauth播放方式才支持清晰度切換;支持記憶選擇的清晰度,當選擇的清晰度不能播放時,自動選擇下一個清晰度播放。
手動切換視頻-H5
這個功能播放器內比較常見。我們把它分成兩種情況去處理,如果是地址播放,我們通過loadByUrl來播放;如果是vid+playauth播放,我們通過replayByVidAndPlayAuth的方法來播放。
手動切換視頻-flash
地址播放方法與H5的方法一樣,vid+playauth播放則需要先銷毀播放器,再重新創建播放。
不同地址格式的切換
只能先銷毀播放器,再重新選擇正確的播放器播放。Github地址看simple demo:https://github.com/alilmq/aliplayer-simple-demo
![b_3_7]
UI自定義
很多用戶有這個需求,所以我們的UI是可以隱藏掉的。提供了一個skinLayout的屬性,當這個屬性沒有指定值的時候,UI組件是全部顯示。如果是空數組的時候,UI組件全部不顯示。并且可以自定義組件的顯示和位置,在默認UI基礎上去裁剪,2.3.0版本以后,用戶也可以通過自定義插件的方式自定義自己的UI。
截屏
H5啟用:
FLASH啟用:snapshot:true
H5播放器,播放域名需添加允許跨域訪問的header
支持訂閱snapshoted事件,獲取截屏的時間點和數據:
支持設置截圖的大小和質量:
支持添加文字水?。?/p>
邊轉變播功能
邊轉邊播是MTS的功能,播放器可以支持這種場景的播放。第一次觀看的時候調用MTS API啟動轉碼,邊轉碼邊播放,而且可以設置延遲播放。轉碼中使用直播播放器,轉碼完成后使用點播方式播放。
H5 android微信同層播放
因為H5在android端微信打開時,會自動全屏播放,覆蓋Dom元素。
同層播放一般有兩種業務場景,一種是點播的,視頻在某個地方播放,下面的評論、播放列表等,demo地址:https://github.com/alilmq/h5demo
還要一種場景是直播場景,視頻需要全屏??梢酝ㄟ^設置x5_type:h5啟用同層播放。Demo 地址:https://github.com/alilmq/h5livedemo
另外H5微信同層播放,有兩篇文章可以參考:
http://player.alicdn.com/aliplayer/docs/blogs/how-to-handle-h5-same-layer.html
http://player.alicdn.com/aliplayer/docs/blogs/how-to-handle-h5-same-layer.html
國際化
提供language屬性,用于啟用各種語言,默認為zh-cn,可選值為zh-cn or en-us。
倍速播放
提供UI的版本,只提供了0.5、1、1.5、2四種倍速播放;而setspeed方法,可以隨意設置倍速播放。這個可能會有一些限制,移動端有的瀏覽器會不支持,比如android微信。
對于直播播放失敗的處理
在播放失敗時候,會嘗試重新播放,觸發onM3u8Retry事件,事件里可以做一些提示,比如主播離開請稍等;如果幾次嘗試后還是失敗,會出發livestreamstop事件,事件里做一些直播失敗或結束的提示。
我們也做了一些輔助工具,方便用戶去接入和排查問題。
診斷工具
通過錯誤碼描述的映射關系,大概能知道用戶的錯誤所在;
通過vid知道用戶播放的是哪個視頻;
通過uuid這個唯一標識,可以在日志系統中查到用戶的播放狀態;
通過requestid和播放時間,可以定位到用戶的錯誤是哪次播放的錯誤和具體的播放時間。
這里還有一個診斷的功能,可以知道用戶環境的具體信息,省去手工獲取視頻的繁瑣,可以快速診斷問題。
地址:http://player.alicdn.com/detection.html
檢測工具
關于視頻播放失敗,我們提供了三種方式,原生H5、阿里云H5、阿里云Flash。我們把播放的日志調出來,通過日志來情況來判斷播放失敗的原因。舉個例子,如果用戶剛開始請求數據時就失敗的話,那我們會猜測存在鑒權失敗的情況;如果加載數據出錯,那可能是用戶的網絡的原因;如果是開始播放后出錯,可能就問題就出在解析或播放器不支持等方面。
ffmpeg查看視頻信息
有的用戶只有畫面,沒有聲音。我們可以通過ffmpeg可以看下視頻的格式、流的情況、碼率、幀率等。
最后,阿里云播放器的所有情況都聚合在以下的網站上:
http://player.alicdn.com/detection.html,其中包括幫助文檔、在線配置、診斷工具、產品demo等,大家可以登錄了解詳情。
搜索引擎之所以不喜歡Flash的網站,是因為Flash動畫太復雜。與一般的網頁上的文字不同,Flash動畫是由幀構成的,搜索引擎不能讀取到Flash內部的幀,因此搜索引擎不會索引它。如果要優化Flash網站,必須把Flash處理一下,有以下3種方法。
1.建一個輔助的HTML文件
保留原有的Flash版本,再建立一個HTML頁面,例如上文中的那個網站,再建立一個不含有Flash的純文字HTML頁面,將所有的鏈接都鏈到原來的Flash網頁上,這樣搜索引擎雖然不抓取Flash,但是可以收錄HTML頁面,通過HTML頁面做文章,讓蜘蛛抓取Flash頁面。
2.將Flash內嵌HTML文件 這種方法是通過改變網頁結構進行彌補。
不要將整個網頁都設計成Flash形式,而是將Flash內容嵌入到HTML文件中,搜索引擎也可以從網頁的Title、Keywords、Discription等代碼中發現一些主要的信息來收錄網站。即使首頁全部使用了Flash,也應該將進入頁面的關鍵詞按鈕鏈接置于Flash文件之外,以獨立的純文本鏈接方式呈現。
3.付費登錄搜索引擎
這個辦法是在前兩種方法都不管用的情況下才迫不得已使用的,因為后者需要投入一定的成本,網站在開始的時候能縮小投入成本便縮小,如果網站上線幾個月后,搜索引擎仍然不收錄,這時再考慮付費登錄搜索引擎。 從經驗上說,做網站應當盡量避免使用Flash或者最好不用,明明知道搜索引擎不喜歡,還要使用,這不是在自己給自己找麻煩嗎?雖然Flash使得網站設計的效果會好些,但是從全局考慮,網站中使用Flash弊還是大于利,特別是做友情鏈接的時候一定不要使用Flash按鈕鏈接。
家好,我是薛哥。最近VIP會員群的讀者咨詢信息發布系統的施工方案,今天分享一個不錯的多媒體信息發布系統施工方案,包含施工程序,可以參考一下。
此套完整的PPT素材,VIP會員下載!
(1)施工條件及環境檢查
由于信息發布終端為成品,其硬件均在出廠前完成,系統通信傳輸由其他專業單項完成,但對安裝地點環境和調試的要求,具體如下:
1)安裝施工條件
提供臨時庫房,以存放和保管設備。
提供安裝臨時用電。
2)安裝環境的檢查
土建和裝修施工完工:是指在顯示屏的安裝位置已經預留安裝支架和孔位,并可承受起屏的重量,以及一些預埋件的竣工等。
電力電纜和通訊電纜布設完畢:電源插座和網線插座布設安裝到位。
3)設備的檢查
終端最好在全部裝修施工完成以后再就位;
安裝地點應干凈平整,附近沒有振動源;
避免陽光直射終端顯示屏。
系統調試根據使用方管理要求進行系統播放內容配置。
施工現場清潔、檢查、安裝前要清理施工現場,施工現場清潔,確保有施工面,并做好施工記錄。
在運輸過程中,應輕拿輕放,不得碰撞、刮劃之行為,保證質量符合要求,凡在運輸、安裝過程中造成損壞的, 應立即清除出場,不得用于工程中,并及時更換新品,重新進行檢驗。
參考點/參考線設定;
準確定位各顯示屏的安裝位置、安裝高度、供電電源的接入,為全面安裝提供條件;
確定各顯示屏安裝支架的規格、安裝基礎與其他專業的配合;
確定播放控制器的安裝位置、供電電源接入;
確定播放控制器網絡接入的線路路由;
確定后臺服務器的安裝位置、控制權限等。
4)線纜的檢查
線纜的布放是否符合設計要求;
線纜的通斷檢查;
線纜的短路檢查;
線纜接地檢查;
線纜的標識應正確;
所有勘察內容均應作詳細記錄。
設備安裝區域要求土建及裝修完畢,并具備必要的保安措施。
(2)施工安裝
播放器到各顯示屏的線纜敷設與綜合布線一起實施,線纜端接預留長度在3米;
顯示屏安裝應先將支架固定好,并測試支架受力點的承重,安裝時調整顯示屏的水平垂直偏差值,并控制在限定值范圍之內;
線纜的端接做好過錫處理、接地處理、電源供電線路和信號線纜的間距;
播放控制器安裝應遵循按區域劃分和便于管理的原則,為各控制器進行編號,并初步安裝調試好播放控制器系統軟件、播放客戶端軟件及對有線電視信號接入的信號處理;
安裝服務器的相關軟件系統,并測試可對播放器進行操作,發布信息。
(3)系統調試
系統調試時,為了穩定性,要求系統必須進行數據備份,發布各類公共信息(如:酒店信息、天氣預報、航班信息、時間信息、時事信息等,通過Internet自動收集)會議通知、廣告信息、演出視頻(與內部信息中心結合)等信息的顯示是否正常,再進行連接程序的安裝、調試。
1)調試開通檢查內容
信息發布系統安裝完畢,調試開通前應進行全面檢查,檢查項目包括:
A.所有液晶屏、全彩屏、雙基色屏均安裝完畢,檢查電源電路和信號線纜的連接正確。
B.系統軟件通訊正常。
2)功能調試
系統對所有播放控制器進行發布信息、控制管理。
系統通過網絡對每個播放終端進行電源開關控制。
通過操作服務器進行顯示內容傳輸指示、顯示時間表設定、終端監視等操作。
系統設定不同的時間播放列表,按照播放列表上時間、日期自動顯示播放。
系統與安防指揮管理系統通過網絡結合,進行應急情況的信息發布。
系統插播各種臨時信息及緊急信息,如:臨時通知、緊急通知、事故通知、展會公告、會議公告等等。
系統與會議管理系統通過網絡相結合及時自動的發布各種會議信息,如:歡迎詞、會議通知、會議安排、會議主題等等相關信息。
播放不同格式的節目內容(MPEG-1、MPEG-2、MPEG-4、AVI、WMV、ASF 格式)、圖畫形象及圖片(BMP、GIF、JPG、JPEG格式)、微軟幻燈片 (PPT、PPS 格式)、網頁內容 (HTML格式)、Flash 內容 (SWF 格式)、文字內容、動態數據庫的鏈接播放。
1)屏幕外框有三段固定膠帶。在屏幕沒有固定安裝以前,不要撕去膠帶。
2)安裝屏幕兩端應該確保水平,高低誤差不得超過1.5cm。
3)安裝屏幕常用的幾種安裝方法:
?墻掛式:
即顯示屏背靠墻面,并固定在墻面上。此方式為常見方式,而且較易實現。
?坐立式:
即顯示屏坐立在平臺上。此方式最易實現,在條件許可的場合應優先采用這種安裝方式。
?嵌式:
即顯示屏鑲嵌在一個墻框內。此方式不多見,如果墻面凹陷深度不夠,須考慮其維護性。
?側掛式:
即顯示屏兩側受力,側掛在兩建筑物或立柱之間。此方式常用于空曠場地的屏體懸掛,兩立柱依據屏體的懸掛要求搭建。
5)為保持屏幕清潔,安裝完畢后應覆蓋薄膜保護。不要用手觸摸幕面,不要用硬物畫傷幕面。
最新精品資料介紹
全文件共計5000多個,建議弄一套,絕對有幫助!
文章中的PPT方案,全部贈送了,共計400個PPT,6套完整圖紙,316個行業標準規范及施工圖集,word的方案60個,施工組織設計20個,工程量清單20個(帶參考價格),圖紙及素材162個,VISIO圖塊及拓撲圖120個,項目管理及施工方案,實用性excel表格68個,投標方案及施工組織設計等等。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。