1. 程式人生 > >阿裏雲 Aliplayer高級功能介紹(七):多分辨率

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

100% col lan def 高級功能 cdn Language .com 模式

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

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會獲取用戶在點播服務轉碼生成的多分辨率的視頻地址,生成多清晰度選擇列表,詳細參考點播轉碼。

技術分享圖片

如果用戶轉碼生成多種視頻格式文件,Aliplayer將會按照mp4->m3u8->flv的順序優先選擇播放,如果有加密視頻和普通視頻一起,點播服務將只會返回加密視頻的播放地址。Aliplayer提供了其他一些屬性可以做精確的獲取點播視頻的播放地址:

技術分享圖片
播放器的使用代碼為:

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內容,展示清晰度列表,並且會根據網絡情況選擇合適的清晰度播放:

技術分享圖片

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