直播轉碼可以解決推流端碼率較高或較低而導致播放效果不好等問題。通過閱讀本文,您可以快速了解直播轉碼的使用場景、使用限制、轉碼功能、模板參數、轉碼規則和寬度自適應等功能。
使用場景
當推流端碼率較高而客戶端帶寬資源有限會導致視頻播放卡頓;當推流端碼率較低時會導致視頻播放效果不好。使用直播轉碼服務可以快速幫您解決這些問題。
播放器插件需要實現多碼率切換。前端播放器插件設置碼率切換,需要同一路推流同時提供多種碼率的播流地址。視頻直播的實時轉碼功能為同一路推流同時提供多種碼率的播流地址服務。
使用H.264編碼進行推流,實時轉碼成H.265編碼直播流進行播放,可以降低帶寬。
使用H.265編碼進行推流,實時轉碼成低碼率H.265編碼的直播流進行播放。
為了解決H.265在瀏覽器不兼容問題需要實時轉碼成H.264編碼的直播流進行播放。
使用直播轉碼功能會產生轉碼費用,按轉碼標準、分辨率規格及對應總轉碼時長計費。計費規則詳見直播轉碼費用。
使用限制
根據域名+AppName進行轉碼模板設置時,同一個模板里轉碼模板類型不能同時配置標準模板和窄帶高清TM模板。
按AppName配置轉碼模板,推流地址中的 AppName 名稱和轉碼模板對應時,轉碼模板生效。子播流域名復用主播流域名轉碼模板,子播流域名配置無效。
直播中心為北京、上海、深圳時,每個域名下最多支持300路轉碼并發流。其他直播中心每個域名下最多支持50路轉碼并發流。如果一路高清分辨率直播流輸入,同時轉碼成標清和流暢分辨率進行輸出播放,算2路轉碼流。當達到上限后,轉碼超限的播放連接會播放原始流。可前往播放域名中基本配置 > 基礎信息中了解當前用量以及提升配額。
當提供的直播服務不能滿足您當前業務需求時,請聯系您的阿里云客戶經理或通過阿里云其它渠道咨詢。
功能說明
目前轉碼功能分為通用轉碼、自定義轉碼、多碼率轉碼和H5自動轉碼。
通用轉碼:可引用系統預設模板,包括轉碼模板的ID和轉碼輸出分辨率。轉碼輸出的碼率都是系統預設置不支持修改。
自定義轉碼:自定義轉碼配置支持編碼格式、分辨率、碼率、幀率、視頻GOP、觸發轉碼、轉碼模板ID的設置。
多碼率轉碼:一個轉碼模板可以同時包含多個轉碼配置 ,配置多碼率轉碼后,播放器可根據終端網絡帶寬環境,自動播放相應碼率的直播流,從而提高播放體驗。
H5自動轉碼:用于解決原生瀏覽器超低延時直播(artc://)不支持視頻B幀和AAC編碼等問題。
系統預設模板
標準模板
轉碼模板 | 畫質優先模板ID-H264 | 畫質優先模板ID-H265 | 時延優先模板ID-H264 | 時延優先模板ID-H265 | 分辨率 | 碼率 |
流暢(橫屏) | lld | lld265 | lld-ll | lld265-ll | 寬度自適應,高度:360 | ≤470 |
標清(橫屏) | lsd | lsd265 | lsd-ll | lsd265-ll | 寬度自適應,高度:432 | ≤680 |
高清(橫屏) | lhd | lhd265 | lhd-ll | lhd265-ll | 寬度自適應,高度:648 | ≤1500 |
超清(橫屏) | lud | lud265 | lud-ll | lud265-ll | 寬度自適應,高度:1080 | ≤2500 |
標清(橫屏) | lsd540 | lsd265-540 | lsd540-ll | lsd265-540-ll | 寬度自適應,高度:540 | ≤680 |
流暢(豎屏) | lld-v | lld265-v | lld-v-ll | lld265-v-ll | 寬度:360,高度自適應 | ≤470 |
標清(豎屏) | lsd-v | lsd265-v | lsd-v-ll | lsd265-v-ll | 寬度:432,高度自適應 | ≤680 |
高清(豎屏) | lhd-v | lhd265-v | lhd-v-ll | lhd265-v-ll | 寬度:648,高度自適應 | ≤1500 |
超清(豎屏) | lud-v | lud265-v | lud-v-ll | lud265-v-ll | 寬度:1080,高度自適應 | ≤2500 |
標清(豎屏) | lsd540-v | lsd265-540-v | lsd540-v-ll | lsd265-540-v-ll | 寬度:540,高度自適應 | ≤680 |
原畫-僅轉音頻 | oriopus | |||||
原畫-僅轉音頻 | oriaac |
窄帶高清模板
轉碼模板 | 畫質優先模板ID-H264 | 畫質優先模板ID-H265 | 時延優先模板ID-H264 | 時延優先模板ID-H265 | 分辨率 | 碼率 |
流暢(橫屏) | ld | ld265 | ld-ll | ld265-ll | 寬度自適應,高度:360 | ≤450 |
標清(橫屏) | sd | sd265 | sd-ll | sd265-ll | 寬度自適應,高度:432 | ≤480 |
高清(橫屏) | hd | hd265 | hd-ll | hd265-ll | 寬度自適應,高度:648 | ≤1200 |
超清(橫屏) | ud | ud265 | ud-ll | ud265-ll | 寬度自適應,高度:1080 | ≤1300 |
標清(橫屏) | sd540 | sd265-540 | sd540-ll | sd265-540-ll | 寬度自適應,高度:540 | ≤480 |
流暢(豎屏) | ld-v | ld265-v | ld-v-ll | ld265-v-ll | 寬度:360,高度自適應 | ≤450 |
標清(豎屏) | sd-v | sd265-v | sd-v-ll | sd265-v-ll | 寬度:432,高度自適應 | ≤480 |
高清(豎屏) | hd-v | hd265-v | hd-v-ll | hd265-v-ll | 寬度:648,高度自適應 | ≤1200 |
超清(豎屏) | ud-v | ud265-v | ud-v-ll | ud265-v-ll | 寬度:1080,高度自適應 | ≤1300 |
標清(豎屏) | sd540-v | sd265-540-v | sd540-v-ll | sd265-540-v-ll | 寬度:540,高度自適應 | ≤480 |
轉碼規則
視頻直播默認支持延時轉碼,系統監測到某一路直播轉碼流無人觀看時,不會執行轉碼。檢測到播放端首次播放觀看后啟動轉碼,轉碼過程中5分鐘內檢測到無人觀看即會停止轉碼。
每一路轉碼流僅執行一次轉碼。
轉碼不是必須服務,可按需配置。
轉碼協議目前支持FLV、RTMP、HLS、RTS。
分辨率自適應
轉碼根據橫屏或豎屏采用分辨率自適應的算法。
若是橫屏自適應轉碼,轉碼后視頻將根據模板高度自適應寬度。
若是豎屏自適應轉碼,轉碼后視頻將根據模板寬度自適應高度。
寬度自適應計算說明如下:
例如將1920*1080視頻進行流暢橫屏(模板ID:ld)轉碼,分辨率寬度自適應,高度:360,轉碼后分辨率為:640*360。
例如將1920*1080視頻進行流暢豎屏(模板ID:ld-v)轉碼,分辨率寬度:360,高度自適應,轉碼后分辨率為:360*203。
目前只有通用轉碼和自定義轉碼支持自適應分辨率。
功能配置
通用轉碼
視頻直播目前可通過兩種方式進行通用轉碼配置:
- 登錄視頻直播控制臺。
單擊功能管理>直播轉碼,進入直播轉碼頁面。
選擇您所需要配置的域名,單擊通用轉碼頁簽,單擊添加,配置轉碼模板。
轉碼模板參數及說明如下表所示。
參數
說明
AppName
AppName匹配存在優先級:優先匹配推流地址AppName一樣的轉碼模板。如果不存在則會匹配域名內AppName配置為單個星號(*)的轉碼模板。
觸發轉碼
開啟時:首次拉流時才啟動轉碼。
關閉時:只要有推流就啟動轉碼,與是否有拉流無關。
轉碼模板類型
提供標準模板和窄帶高清?模板。標準模板和窄帶高清?模板質量和性能不同,價格也不同。標準模板提供原畫-僅轉音頻轉碼模板。轉碼模板類型一次僅能選擇一個。
轉碼模板可以一次選擇多個。
在使用轉碼模板時,模板ID是拼接轉碼地址的參數,拼接方式可參見生成推流地址和播放地址。模板ID以及其他說明請參見系統預設模板。轉碼模式分為畫質優先、時延優先,時延優先模式下轉碼流的延時較低。
同一個域名下AppName與模板ID以復合主鍵的形式存在。
直播加密
開啟后可選擇配置阿里云視頻加密或DRM加密。
說明DRM加密僅支持上海、新加坡直播中心。
阿里云視頻加密
阿里云視頻加密僅支持輸出HLS和FLV格式。
KMS主密鑰:KMS密鑰的區域需要和域名的直播中心保持一致。如果沒有密鑰,請先前往KMS服務創建一個密鑰, 具體操作請參見購買和啟用KMS實例。
換Key周期:取值范圍為60~3600內的整數。
更多阿里云視頻加密功能使用可參見阿里云視頻加密。
DRM加密
開啟前,需要先配置DRM密鑰。具體操作請參見配置DRM加密。
支持播放協議為HLS下Widevine和Fairplay的DRM加密,其中Fairplay需要在DRM證書管理中上傳從Apple獲取的證書。具體操作請參見申請Fairplay證書。
完成配置后,單擊確定。
//需要<>內容替換成實際使用的值
DefaultProfile profile = DefaultProfile.getProfile("<regionId>", "<ALIBABA_CLOUD_ACCESS_KEY_ID>", "<ALIBABA_CLOUD_ACCESS_KEY_SECRET>");
IAcsClient client = new DefaultAcsClient(profile);
AddLiveStreamTranscodeRequest addLiveStreamTranscodeRequest = new AddLiveStreamTranscodeRequest();
addLiveStreamTranscodeRequest.setDomain("<DomainName>");
addLiveStreamTranscodeRequest.setApp("<AppName>");
addLiveStreamTranscodeRequest.setTemplate("<ld>");
addLiveStreamTranscodeRequest.setLazy("<true>");
try {
AddLiveStreamTranscodeResponse addLiveStreamTranscodeResponse = client.getAcsResponse(addLiveStreamTranscodeRequest);
System.out.println(new Gson().toJson(addLiveStreamTranscodeResponse));
// todo something.
} catch (ServerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
以上示例實現了對AppName為<AppName>的直播流進行轉碼配置,轉碼參數使用系統預設模板<ld>,關于系統預設模板說明請參見本文檔系統預設模板。
setLazy("<true>")表示拉流才會觸發轉碼,如果您需要在推流時就觸發轉碼,可以設置setLazy("false")。
更多API說明請參見AddLiveStreamTranscode。
您可以登錄視頻直播控制臺,選擇流管理,在對應的推流記錄中點擊操作列直播地址查看轉碼流地址。
直播地址中包含原畫(Original)地址和轉碼流地址。
您可在原播流地址
StreamName
后加_轉碼模板ID
進行自定義拼接轉碼流地址,詳情可參見生成推流地址和播放地址。
自定義轉碼
如果通用轉碼模板不能滿足您的要求,您可以使用自定義轉碼配置,自定義轉碼配置支持編碼格式、分辨率、碼率、幀率、視頻GOP、觸發轉碼、轉碼模板ID的設置。
視頻直播目前可通過兩種方式進行自定義轉碼配置:
- 登錄視頻直播控制臺。
單擊功能管理>直播轉碼,進入直播轉碼頁面。
選擇您所需要配置的域名,單擊自定義轉碼頁簽,單擊添加,配置轉碼模板。
轉碼模板參數及說明如下表所示。
參數
說明
AppName
AppName匹配存在優先級:優先匹配推流地址AppName一樣的轉碼模板。如果不存在則會匹配域名內AppName配置為單個星號(*)的轉碼模板。
模板ID
在使用轉碼模板時,模板ID是拼接轉碼地址的參數,拼接方式可參見生成推流地址和播放地址。
請勿設置與系統預設模板相同的模板ID。系統預設模板ID說明可參見系統預設模板。
同一個域名下AppName與模板ID以復合主鍵的形式存在。
轉碼模板類型
分為標準模板、窄帶高清?模板和純音頻轉碼模板。標準模板和窄帶高清?模板質量和性能不同,價格也不同。
純音頻轉碼模板刪除視頻只輸出音頻流。
編碼格式
支持H.264和H.265。
推薦模板參數
流暢、標清、超清、高清四種推薦參數,選中不同的檔位對應的幀率、碼率、分辨率會根據系統默認的值進行填入,可在此基礎上進行調整。
分辨率
視頻輸出的分辨率,單位:像素。可選擇固定分辨率或分辨率隨源.
分辨率隨源:若源流分辨率寬高尺寸小于自適應尺寸寬高,按源流輸出。若源流分辨率寬高尺寸大于自適應尺寸寬高,按自適應尺寸輸出。可選擇不同的自適應方式:
短邊自適應
長邊自適應
橫豎屏自適應
固定分辨率:按指定分辨率輸出,不同的分辨率檔位對應不同的價格,分辨率檔位如下所示:
LD:(640×480)及以下。
SD:(1280×720)及以下。
HD:(1920×1080)及以下。
2K:(2560×1440)及以下。
4K:(3840×2160)及以下。
說明
轉碼計費根據分辨率檔位(LD、SD、HD、2K、4K)決定。分辨率檔位與通用模板中標準模板的模板ID(包括lld、lsd、lhd、lud)和窄帶高清?模板的模板ID(包括ld、sd、hd、ud)無關,模板ID僅作為業務調用時的標識使用,請勿混淆。
控制臺不支持分辨率超過1080P的自定義設置,如果您的場景需要2K、4K規格分辨率,可以提交工單申請。
關于如何提交工單,請參見聯系我們。
分辨率檔位判定規則:輸出規格按輸出視頻分辨率的長邊和短邊是否屬于輸出規格劃定的范圍進行判定。
以輸出SD(1280×720)規格為例:
如果輸出視頻的分辨率長邊小于等于1280且短邊小于等于720,則該視頻屬于該輸出規格。
如果輸出視頻的長邊大于1280或輸出視頻的短邊大于720,則該輸出視頻屬于更高的輸出規格。
視頻幀率
幀率隨源:若幀率在限制范圍內,按源幀率輸出,超過上限按上限輸出,低于下限按下限輸出
固定幀率:輸出指定的視頻幀率,單位:FPS。數值低于或等于輸入幀率。
視頻碼率
碼率隨源:若碼率在限制范圍內,按源碼率輸出,超過上限按上限輸出,低于下限按下限輸出,同時支持按倍率輸出。
固定碼率:使用指定的碼率,單位:kbps。分辨率檔位指定的碼率如下所示:
LD:100~800。
SD:200~1500。
HD:500~4000。
2K:2000~8000。
4K:4000~30000。
視頻GOP
輸出視頻GOP即Group of picture(圖像組),指兩個I幀之間的間隔,數值低于或等于輸入值。為了保障低延時效果不能大于3秒。
音頻碼率(純音頻轉碼)
轉碼模板類型選擇純音頻轉碼模板時顯示。單位:kbps。取值范圍:8~1000。
編碼檔次(純音頻轉碼)
轉碼模板類型選擇純音頻轉碼模板時顯示。
LC-AAC:低復雜性高級音頻編碼。轉碼效率較高。
HE-AAC:高效性高級音頻編碼。在低音頻碼率(通常128 kbps以下)時音效要高于LC-AAC。
采樣率(純音頻轉碼)
轉碼模板類型選擇純音頻轉碼模板時顯示音頻采樣率。取值:22050、32000、44100、48000、96000。
聲道數(純音頻轉碼)
轉碼模板類型選擇純音頻轉碼模板時顯示,聲音軌道的個數,取值:1或2。
轉碼模式(高級配置)
支持畫質優先和時延優先,時延優先模式下轉碼流的延時較低。
觸發轉碼(高級配置)
開啟時:首次拉流時才啟動轉碼。
關閉時:只要有推流就啟動轉碼,與是否有拉流無關。
視頻加密(高級配置)
開啟后可選擇配置阿里云視頻加密或DRM加密。
說明DRM加密僅支持上海、新加坡直播中心。
阿里云視頻加密
阿里云視頻加密僅支持輸出HLS和FLV格式。
KMS主密鑰:KMS密鑰的區域需要和域名的直播中心保持一致。如果沒有密鑰,請先前往KMS服務創建一個密鑰, 具體操作請參見購買和啟用KMS實例。
換Key周期:取值范圍為60~3600內的整數。
更多阿里云視頻加密功能使用可參見阿里云視頻加密。
DRM加密
開啟前,需要先配置DRM密鑰。具體操作請參見配置DRM加密。
支持播放協議為HLS下Widevine和Fairplay的DRM加密,其中Fairplay需要在DRM證書管理中上傳從Apple獲取的證書。具體操作請參見申請Fairplay證書。
透傳所有類型SEI(高級配置)
開啟后,可透傳所有類型SEI,不開啟則不透傳SEI。
關鍵幀隨源(高級配置)
開啟后,轉碼輸出流關鍵幀與原始流關鍵幀一致。
pts隨源(高級配置)
開啟后,轉碼輸出流pts與原始流pts一致。
單擊確定添加。
由于自定義轉碼參數設置較為復雜,我們建議您使用API時結合控制臺進行自定義轉碼配置。
首先,您通過控制臺添加一個自定義轉碼配置。
控制臺支持分辨率尺寸效果預覽以及快捷填入流暢,標清,高清,超清模板參數。
完成各項參數調整后,通過調用DescribeLiveStreamTranscodeInfoAPI查詢轉碼配置信息。
Java SDK查詢轉碼配置信息示例代碼如下:
//需要<>內容替換成實際使用的值
DefaultProfile profile = DefaultProfile.getProfile("<regionId>", "<ALIBABA_CLOUD_ACCESS_KEY_ID>", "<ALIBABA_CLOUD_ACCESS_KEY_SECRET>");
IAcsClient client = new DefaultAcsClient(profile);
DescribeLiveStreamTranscodeInfoRequest describeLiveStreamTranscodeInfoRequest=new DescribeLiveStreamTranscodeInfoRequest();
describeLiveStreamTranscodeInfoRequest.setAppName("<AppName>");
describeLiveStreamTranscodeInfoRequest.setDomainTranscodeName("<DomainName>");
DescribeLiveStreamTranscodeInfoResponse describeLiveStreamTranscodeInfoResponse = null;
try {
describeLiveStreamTranscodeInfoResponse = client.getAcsResponse(describeLiveStreamTranscodeInfoRequest);
} catch (ClientException e) {
e.printStackTrace();
}
System.out.println(new Gson().toJson(describeLiveStreamTranscodeInfoResponse));
您可以將查詢出的自定義轉碼配置信息在您的業務系統內保存成模板。
返回參數說明請參見DescribeLiveStreamTranscodeInfoAPI。
然后調用AddCustomLiveStreamTranscodeAPI根據域名和AppName添加自定義轉碼配置信息。
AddCustomLiveStreamTranscodeRequest addCustomLiveStreamTranscodeRequest=new AddCustomLiveStreamTranscodeRequest();
addCustomLiveStreamTranscodeRequest.setDomain("<DomainName>");
addCustomLiveStreamTranscodeRequest.setApp("<AppName>");
/**
* 轉碼參數設置
*/
AddCustomLiveStreamTranscodeResponse addCustomLiveStreamTranscodeResponse = null;
try {
addCustomLiveStreamTranscodeResponse = client.getAcsResponse(addCustomLiveStreamTranscodeRequest);
} catch (ClientException e) {
e.printStackTrace();
}
System.out.println(new Gson().toJson(addCustomLiveStreamTranscodeResponse));
轉碼參數說明請參見AddCustomLiveStreamTranscodeAPI。
其他說明:
重新推流后配置才可生效。
App取值必須與推流地址中的AppName名稱一樣,轉碼模板才能生效。取值不超過255字符,支持數字、大小寫字母、短劃線(-)、下劃線(_),不能以短劃線(-)、下劃線(_)開頭。
App也支持取值為星號(*)字符,表示匹配任意字符串(包括空字符串)。
轉碼模板匹配存在優先級,優先匹配和推流地址中AppName名稱相同的轉碼模板配置,若不存在和推流地址中AppName名稱一樣的轉碼模板配置,則會匹配App為星號(*)的轉碼模板配置。
模板ID與AppName以“復合主鍵”的形式存在。
您可以登錄視頻直播控制臺,選擇流管理,在對應的推流記錄中點擊操作列直播地址查看轉碼流地址。
直播地址中包含原畫(Original)地址和轉碼流地址。
您可在原播流地址
StreamName
后加_轉碼模板ID
進行自定義拼接轉碼流地址,詳情可參見生成推流地址和播放地址。
多碼率轉碼
多碼率轉碼可以在一個轉碼模板內配置多種轉碼模式。部分地區網絡環境差異較大,網絡波動會影響終端的播放體驗,因此業務方需要配置多碼率來匹配帶寬情況。配置多碼率轉碼后,播放器可根據終端網絡帶寬環境,自動播放相應碼率的直播流,從而提高播放體驗。
目前多碼率轉碼只能通過視頻直播控制臺進行配置。
- 登錄視頻直播控制臺。
單擊功能管理>直播轉碼,進入直播轉碼頁面。
選擇您所需要配置的域名,單擊多碼率轉碼頁簽,單擊添加,添加多碼率轉碼模板組。
單擊基本信息,編輯多碼率轉碼模板組基本信息。
參數及說明如下表:
參數
說明
AppName
AppName必須與推流地址中的AppName名稱對應,轉碼模板才能生效。同一個域名下AppName與模板組ID以復合主鍵的形式存在。
模板組ID
轉碼模板組ID。模板組ID是拼接多碼率轉碼地址的參數,支持數字、大小寫字母、短橫線,添加不超過10個字符。
封裝格式
目前僅支持HLS。
觸發轉碼
目前僅支持推流時觸發轉碼。會產生轉碼費用,暫不支持播流時觸發轉碼。
時間戳對齊
開啟后每個模板的GOP項不可設置,采用源視頻的GOP。
單擊+添加模板,會添加一條模板信息。
單擊添加的模板,可以編輯模板參數。不同模板類型需填寫的參數可能不同,參數及說明如下表:
參數
說明
模板ID
轉碼模板組內單個模板的ID。同一個模板組內的模板ID不能重復。
轉碼模板類型
標準模板、窄帶高清?模板和純音頻轉碼模板。
純音頻轉碼模板刪除視頻只輸出音頻流。
編碼格式(標準模板)
支持H.264和H.265。
分辨率
視頻輸出的分辨率,單位:像素。不同的分辨率檔位對應不同的價格,分辨率檔位如下所示:
LD:(640×480)及以下。
SD:(1280×720)及以下。
HD:(1920×1080)及以下。
2K:(2560×1440)及以下。
4K:(3840×2160)及以下。
說明轉碼計費根據分辨率檔位(LD、SD、HD、2K、4K)決定,與通用模板中標準模板的模板ID(包括lld、lsd、lhd、lud)和窄帶高清?模板的模板ID(包括ld、sd、hd、ud)無關,請勿混淆。
分辨率檔位判定規則:輸出規格按輸出視頻分辨率的長邊和短邊是否屬于輸出規格劃定的范圍進行判定。
以輸出SD(1280×720)規格為例:
如果輸出視頻的分辨率長邊小于等于1280且短邊小于等于720,則該視頻屬于該輸出規格。
如果輸出視頻的長邊大于1280或輸出視頻的短邊大于720,則該輸出視頻屬于更高的輸出規格。
視頻碼率
分辨率使用指定的碼率,單位:kbps。分辨率檔位指定的碼率如下所示:
LD:100~800。
SD:200~1500。
HD:500~4000。
2K:2000~8000。
4K:4000~30000。
視頻幀率
輸出視頻幀率,單位:FPS。數值低于或等于輸入幀率。
視頻GOP
輸出視頻GOP即Group of picture(圖像組),指兩個I幀之間的間隔,數值低于或等于輸入值。為了保障低延時效果不能大于3秒。
編碼格式(純音頻轉碼)
目前僅支持AAC編碼格式。
編碼檔次(純音頻轉碼)
LC-AAC:低復雜性高級音頻編碼。轉碼效率較高。
HE-AAC:高效性高級音頻編碼。在低音頻碼率(通常128 kbps以下)時音效要高于LC-AAC。
碼率(純音頻轉碼)
音頻碼率,取值范圍:8~1000。
聲道數(純音頻轉碼)
聲音軌道的個數,取值:1或2。
帶寬上限閾值
可支持100Kbps~100Mbps范圍內的整數或小數,保留兩位小數,建議設置為視頻碼率的1.2~1.5倍。
配置完成后,單擊確定。
目前多碼率轉碼流只能提供原畫地址以及HLS轉碼流地址。
播放多碼率轉碼流,需要增加
aliyunols=on
參數,aliyunols=on
為必填的固定字段。
示例地址如下:
http://<DomainName>/<AppName>/<StreamName>_<轉碼模板組ID>.m3u8?aliyunols=on&auth_key=1234****
以下示例將向您展示多碼率轉碼在實際業務中的使用:
例如現在添加一個如下圖所示的多碼率轉碼配置。
在該模板組中自定義了四個級別的轉碼配置,不同級別參數值設置可參考本文檔系統預設模板。
然后進行推流,使用Web端阿里云播放器進行播放,通過調試可以發現,播放器自動根據終端網絡帶寬環境,播放了相應碼率的轉碼流。
使用阿里云播放器,請參見播放器SDK。
H5自動轉碼
超低延時直播RTS是以WebRTC信令交互方式為基礎的,原生瀏覽器WebRTC不支持視頻B幀和AAC編碼,H5播放自動轉碼將為您實現自適應的轉碼保障流暢播放。
在開通超低延時直播時可以開通H5自動轉碼功能,具體操作請參見開通超低延時直播功能。
H5自動轉碼是在原生瀏覽器超低延時直播(artc://)下處理視頻B幀和AAC編碼等問題,如需對視頻內容進行轉碼(如調整碼率,幀率,分辨率等)還是需要通過通用轉碼或自定義轉碼進行配置。
H5自動轉碼可以和通用轉碼或自定義轉碼功能疊加使用。
當使用H5自動轉碼時會產生純音頻轉碼類型的費用,詳見直播轉碼費用。
視頻加密
在配置通用轉碼或自定義轉碼的過程中,您可能已注意到視頻加密相關字段,通過轉碼配置可以實現阿里云視頻加密功能,關于阿里云視頻加密功能說明以及實現方式請參見阿里云視頻加密。
相關文檔
轉碼配置相關API,請參見直播轉碼。
使用Java SDK,可參見Java SDK使用說明。