聯(lián)系我們

Contact
圖片.png
成都銳創(chuàng)利豐科技有限公司
電話微信:13552779861 400-888-6143
QQ:1770318088
高新區(qū)觀東一街華潤時光里1棟309
郵箱:1770318088@qq.com

視頻直播基礎(chǔ)知識我們必訓(xùn)了解的?

發(fā)表時間 2020-07-24 * 瀏覽 :

推流、直播和點播分別是什么?

  • 推流:主播將本地視頻源和音頻源推送到視頻云服務(wù)器,在有些場景中也被稱為“RTMP 發(fā)布”。
  • 直播:直播的視頻源是實時生成的,有人推流直播才有意義,一旦主播停播,直播 URL 也就失效了,而且由于是實時直播,所以播放器在播直播視頻的時候是沒有進度條的。
  • 點播:點播的視頻源是云端的一個文件,文件只要沒有被提供方刪除就隨時可以播放(類似優(yōu)酷土豆、愛奇藝和騰訊視頻), 而且由于整個視頻都在服務(wù)器上,所以播放的時候是有進度條的。

支持哪些推流協(xié)議?

雖然 RTMP 在直播領(lǐng)域不是特別流行,但是在推流服務(wù),也就是“主播”到“服務(wù)器”這個方向上 RTMP 居于主導(dǎo)地位,目前國內(nèi)的視頻云服務(wù)都是以 RTMP 為主要推流協(xié)議(由于移動直播 SDK 第一個功能模塊就是主播推流,所以也被稱為是 RTMP SDK)。

支持哪些播放協(xié)議?

目前常見的直播協(xié)議有三種:RTMP、 FLV 和 HLS。

  • RTMP:RTMP 協(xié)議比較全能,既可以用來推送又可以用來直播,其核心理念是將大塊的視頻幀和音頻幀拆分,然后以小數(shù)據(jù)包的形式在互聯(lián)網(wǎng)上進行傳輸,而且支持加密,因此隱私性相對比較理想,但拆包組包的過程比較復(fù)雜,所以在海量并發(fā)時也容易出現(xiàn)一些不可預(yù)期的穩(wěn)定性問題。
  • FLV:FLV 協(xié)議由 Adobe 公司主推,格式極其簡單,只是在大塊的視頻幀和音視頻頭部加入一些標(biāo)記頭信息,由于這種簡潔,在延遲表現(xiàn)和大規(guī)模并發(fā)方面都很成熟,唯一的不足就是在手機瀏覽器上的支持非常有限,但是用作手機端 App 直播協(xié)議卻異常合適。
  • HLS:蘋果推出的解決方案,將視頻分成5秒 - 10秒的視頻小分片,然后用 m3u8 索引表進行管理,由于客戶端下載到的視頻都是5秒 - 10秒的完整數(shù)據(jù),故視頻的流暢性很好,但也同樣引入了很大的延遲(HLS 的一般延遲在10秒 - 30秒左右)。相比于 FLV, HLS 在 iPhone 和大部分 Android 手機瀏覽器上的支持非常給力,所以常用于 QQ 和微信朋友圈的 URL 分享。
直播協(xié)議 優(yōu)點 缺點 播放延遲
FLV 成熟度高、高并發(fā)無壓力 需集成 SDK 才能播放 2s - 3s
RTMP 優(yōu)質(zhì)線路下理論延遲最低 高并發(fā)情況下表現(xiàn)不佳 1s - 3s
HLS(m3u8) 手機瀏覽器支持度高 延遲非常高 10s - 30s

播放地址由什么組成?

云播放地址主要由播放前綴、播放域名(domain)、應(yīng)用名稱(AppName)、流名稱(StreamName)、播放協(xié)議后綴、鑒權(quán)參數(shù)以及其他自定義參數(shù)組成,如下:

  •  
  •  
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
  • 播放前綴
    RTMP 播放協(xié)議:rtmp:// 。
    HTTP-FLV 播放協(xié)議:http:// 或者 https:// 。
    HLS 播放協(xié)議:http:// 或者 https:// 。
  • 應(yīng)用名稱(AppName)
    應(yīng)用名稱指的是直播流媒體文件存放路徑,默認(rèn)云直播會分配一個路徑:live。

  • 流名稱(StreamName)
    流名稱(StreamName)是指每路直播流唯一的標(biāo)識符。

  • 鑒權(quán)參數(shù)以及其他自定義參數(shù)
    鑒權(quán)參數(shù):txSecret=xxxxxxxx&txTime=xxxxxx。

常見的推流方式?

  • 移動端 Android/iOS,使用攝像頭:使用第三方軟件或 移動直播 SDK 采集攝像頭視頻,并推送視頻流至直播流推流地址。
  • 臺式機或筆記本,使用攝像頭或桌面錄屏:使用第三方軟件采集攝像頭視頻或桌面圖像,將視頻或桌面內(nèi)容推流至直播流推流地址。第三方推流軟件包括:OBS(推薦)、XSplit、FMLE 等。
  • 視頻采集設(shè)備:高清攝像機類設(shè)備如果具備 HDMI 或者 SDI 輸出接口,可以接入編碼器,以 RTMP 推流的方式向直播服務(wù)推送直播內(nèi)容,您需要將直播推流地址配置到編碼器的 RTMP 發(fā)布地址。
    網(wǎng)絡(luò)攝像頭類設(shè)備,如果支持 RTMP 推流,則可將直播推流地址配置到攝像頭的 RTMP 發(fā)布地址。
  • 視頻文件轉(zhuǎn)視頻流:讀取某個視頻文件,并以 RTMP 流方式輸出作為視頻源來向直播服務(wù)的 RTMP 推流地址進行視頻發(fā)布??梢允褂?nbsp;ffmpeg 命令來實現(xiàn)(Windows、Linux 及 Mac 均適用)。

斷流和禁播的區(qū)別?

  • 斷流功能:一條直播中的流,如果斷流,則本次推流會被中斷,觀眾端將無法觀看直播。斷流后,主播端可以再次發(fā)起推流,繼續(xù)直播活動。
  • 禁播功能:一條直播中的流,如果禁播,則本次推流會被中斷,觀眾端將無法觀看直播。斷流后,主播端在禁播時間內(nèi)無法再次發(fā)起推流,禁播功能可通過云直播控制臺的流管理頁面配置,禁用后的直播流展示于禁播流列表頁,單擊【啟用】后可恢復(fù)使用。

如何使用播放轉(zhuǎn)碼?

考慮到不同的網(wǎng)絡(luò)因素,滿足您使用不同碼率不同分辨率的需求,您可以前往 轉(zhuǎn)碼配置 設(shè)置不同碼率不同分辨率的轉(zhuǎn)碼模板,更多轉(zhuǎn)碼相關(guān)信息請參見 最佳實踐 - 直播轉(zhuǎn)封裝及轉(zhuǎn)碼。

原始、高清、標(biāo)清場景

在業(yè)務(wù)播放場景中,一般會用到三個碼率:原始、高清、標(biāo)清。

  • 原始流與推流碼率分辨率一致。
  • 高清流建議使用碼率:2000kbps,分辨率:1080p。
  • 標(biāo)清流建議使用碼率:1000kbps,分辨率:720p。

如何使用時移回看?

若您想回看過去某段時間的精彩內(nèi)容,您可以使用時移功能,時移功能目前僅支持 HLS 協(xié)議。具體時移的相關(guān)介紹以及開通方法請參考 最佳實踐 - 直播時移。

如何使用 HTTPS 播放?

若您的播放域名需要支持 HTTPS,您需要準(zhǔn)備好有效的證書內(nèi)容、有效私鑰內(nèi)容前往 域名管理,選擇【播放域名管理】>【高級配置】>【HTTPS配置】添加配置,添加成功之后會有個生效時間(2小時),在生效后您的直播流就可以支持 HTTPS 協(xié)議播放。

如何使用海外加速節(jié)點播放?

 CDN 節(jié)點不僅遍布中國大陸區(qū)域,同樣在全世界各個大洲也有節(jié)點覆蓋,覆蓋廣并且穩(wěn)定。假如您的用戶分布在中國香港、中國澳門、中國臺灣或海外其他地區(qū),您可以通過在 域名管理 中配置域名時候加速區(qū)域選擇【全球加速】或【中國港澳臺地區(qū)及海外地區(qū)】,來獲得海外節(jié)點覆蓋的支持。