阿里雲 Aliplayer高級功能介紹(七):多分辨率

基本介紹

網絡環境比較複雜、網速不穩定,Aliplayer提供了多分辨率播放的模式,用戶能夠手工切換分辨率和播放器選擇最優分辨率,基本UI以下:html

66ccc596257a5db1d0f106b57454e14da6a8f61e

Source模式

source的方式指定多個清晰度的地址,這個模式在直播場景下使用的比較多,阿里雲直播服務能夠提供多碼率的播放流地址,詳細請參考:視頻直播轉碼。Aliplayer提供了下面清晰度的對應關係:微信

Code Text
OD 原畫
FD 流暢
LD 標清
SD 高清
HD 超清
2K 2K
4K 4K

source如何支持多清晰度,參考下面的代碼:網絡

var player = new Aliplayer({
    id: "player-con", 
    isLive:true,
     source:'{"HD":"https://livecdn.com/appname/testhd.flv",
              "SD":"https://livecdn.com/appname/testsd.flv",
              "FD":"https://livecdn.com/appname/testfd.flv",
              "LD":"https://livecdn.com/appname/testld.flv"
             }',
    width: "100%",
    height: "500px",
    autoplay: true
  }, function (player) {
    console.log("播放器建立成功");
  });

videoId模式

播放點播服務的視頻時,採用videoId的模式, Aliplayer會獲取用戶在點播服務轉碼生成的多分辨率的視頻地址,生成多清晰度選擇列表,詳細參考點播轉碼app

33.png

若是用戶轉碼生成多種視頻格式文件,Aliplayer將會按照mp4->m3u8->flv的順序優先選擇播放,若是有加密視頻和普通視頻一塊兒,點播服務將只會返回加密視頻的播放地址。Aliplayer提供了其餘一些屬性能夠作精確的獲取點播視頻的播放地址:ide

屬性名稱 類型 說明
format String 指定播放地址格式可選值爲mp四、m3u八、flv、mp3,默認爲空
mediaType String 指定返回音頻仍是視頻,可選值爲video和audio,默認爲video,audio主要是針對只包含音頻的視頻格式
qualitySort String 指定排序方式,desc表示按倒序排序(即:從大到小排序),asc表示按正序排序(即:從小到大排序)默認值:‘asc’
definition String 顯示視頻清晰度,多個用逗號分隔,好比:’FD,LD’,此值是vid對應流清晰度的一個子集,取值範圍:FD(流暢)LD(標清)SD(高清)HD(超清)OD(原畫)2K(2K)4K(4K)
defaultDefinition String 默認播放視頻清晰度,取值範圍:FD(流暢)LD(標清)SD(高清)HD(超清)OD(原畫)2K(2K)4K(4K),默認是上次播放時選擇的清晰度

播放器的使用代碼爲:阿里雲

var player = new Aliplayer({
    id: "player-con",
    width: "100%",
    height: "500px",
    autoplay: true,
    language: "en-us",
    vid : '1e067a2831b641db90d570b6480fbc40',
    playauth:'ddddfdfdf'
    format:'m3u8',
    mediaType:'video',
    qualitySort:'desc',
    definition:'FD,LD',
    defaultDefinition:'LD'
  }, function (player) {
    console.log("播放器建立成功");
  });

HLS的多碼率

HLS HTTP Live Streaming是Apple提出的基於http的流媒體傳輸協議,支持不一樣帶寬的多碼率地址,基本格式以下:加密

#EXTM3U
#EXT-X-VERSION:4
#EXT-X-STREAM-INF:BANDWIDTH=454521,AVERAGE-BANDWIDTH=432061,CODECS="avc1.42c01e,mp4a.40.5",RESOLUTION=340x192,FRAME-RATE=25.000
GEPH-ONTHERECS02E012C-_E17101101_master_stream_x3f6b2fee5c3d4f388ed8edee586bd6f8_340.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=691401,AVERAGE-BANDWIDTH=644868,CODECS="avc1.42c01e,mp4a.40.5",RESOLUTION=384x216,FRAME-RATE=25.000
GEPH-ONTHERECS02E012C-_E17101101_master_stream_x3f6b2fee5c3d4f388ed8edee586bd6f8_384.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=926476,AVERAGE-BANDWIDTH=850169,CODECS="avc1.42c01f,mp4a.40.5",RESOLUTION=512x288,FRAME-RATE=25.000
#EXT-X-STREAM-INF:BANDWIDTH=7011961,AVERAGE-BANDWIDTH=6374698,CODECS="avc1.640028,mp4a.40.5",RESOLUTION=1920x1080,FRAME-RATE=25.000
GEPH-ONTHERECS02E012C-_E17101101_master_stream_x3f6b2fee5c3d4f388ed8edee586bd6f8_1920.m3u8

EXT-X-STREAM-INF:BANDWIDTH裏的指定帶寬,下面爲此帶寬使用對應分辨率的視頻地址,Aliplayer解析上面的master m3u8內容,展現清晰度列表,而且會根據網絡狀況選擇合適的清晰度播放:spa

56623276aeca6b63206e6c63817ceb4a44908d1f

阿里雲的媒體處理服務支持多分變率的打包, 詳細參考:如何進行HLS打包3d

 

原文連接
更多技術乾貨 請關注阿里云云棲社區微信號 :yunqiinsightcode

相關文章
相關標籤/搜索