雖然 RTMP 在直播領域不是特別流行,但是在推流服務,也就是“主播”到“服務器”這個方向上 RTMP 居于主導地位,目前國內的視頻云服務都是以 RTMP 為主要推流協議(由于移動直播 SDK 第一個功能模塊就是主播推流,所以也被稱為是 RTMP SDK)。
目前常見的直播協議有三種:RTMP、 FLV 和 HLS。
直播協議 | 優點 | 缺點 | 播放延遲 |
---|---|---|---|
FLV | 成熟度高、高并發無壓力 | 需集成 SDK 才能播放 | 2s - 3s |
RTMP | 優質線路下理論延遲最低 | 高并發情況下表現不佳 | 1s - 3s |
HLS(m3u8) | 手機瀏覽器支持度高 | 延遲非常高 | 10s - 30s |
云播放地址主要由播放前綴、播放域名(domain)、應用名稱(AppName)、流名稱(StreamName)、播放協議后綴、鑒權參數以及其他自定義參數組成,如下:
rtmp://domain/AppName/StreamName?txSecret=xxxxxxxx&txTime=xxxxxx
http://domain/AppName/StreamName.m3u8?txSecret=xxxxxxxx&txTime=xxxxxx
http://domain/AppName/StreamName.flv?txSecret=xxxxxxxx&txTime=xxxxxx
https://domain/AppName/StreamName.m3u8?txSecret=xxxxxxxx&txTime=xxxxxx
https://domain/AppName/StreamName.flv?txSecret=xxxxxxxx&txTime=xxxxxx
應用名稱(AppName)
應用名稱指的是直播流媒體文件存放路徑,默認云直播會分配一個路徑:live。
流名稱(StreamName)
流名稱(StreamName)是指每路直播流唯一的標識符。
鑒權參數以及其他自定義參數
鑒權參數:txSecret=xxxxxxxx&txTime=xxxxxx。
ffmpeg
命令來實現(Windows、Linux 及 Mac 均適用)。考慮到不同的網絡因素,滿足您使用不同碼率不同分辨率的需求,您可以前往 轉碼配置 設置不同碼率不同分辨率的轉碼模板,更多轉碼相關信息請參見 最佳實踐 - 直播轉封裝及轉碼。
在業務播放場景中,一般會用到三個碼率:原始、高清、標清。
若您想回看過去某段時間的精彩內容,您可以使用時移功能,時移功能目前僅支持 HLS 協議。具體時移的相關介紹以及開通方法請參考 最佳實踐 - 直播時移。
若您的播放域名需要支持 HTTPS,您需要準備好有效的證書內容、有效私鑰內容前往 域名管理,選擇【播放域名管理】>【高級配置】>【HTTPS配置】添加配置,添加成功之后會有個生效時間(2小時),在生效后您的直播流就可以支持 HTTPS 協議播放。
CDN 節點不僅遍布中國大陸區域,同樣在全世界各個大洲也有節點覆蓋,覆蓋廣并且穩定。假如您的用戶分布在中國香港、中國澳門、中國臺灣或海外其他地區,您可以通過在 域名管理 中配置域名時候加速區域選擇【全球加速】或【中國港澳臺地區及海外地區】,來獲得海外節點覆蓋的支持。