直播相關問題及簡答

0、直播中的RTMP、RTSP、HTTP協議?

這三個協議都屬於互聯網 TCP/IP 五層體系結構中應用層的協議。理論上這三種都可以用來做視頻直播或點播。但通常來說,直播一般用 RTMP、RTSP。而點播用 HTTP。下面分別介紹下三者的特點。
1,RTMP協議
RTMP是Real Time Messaging Protocol(實時消息傳輸協議)的首字母縮寫。該協議基於TCP,是一個協議族,包括RTMP基本協議及RTMPT/RTMPS/RTMPE等多種變種。RTMP是一種設計用來進行實時數據通信的網絡協議,主要用來在Flash/AIR平臺和支持RTMP協議的流媒體/交互服務器之間進行音視頻和數據通信。在直播中實現視頻的推流與播放。
(1)是流媒體協議。
(2)RTMP協議是 Adobe 的私有協議,未完全公開。
(3)RTMP協議一般傳輸的是 flv,f4v 格式流。
(4)RTMP一般在 TCP 1個通道上傳輸命令和數據。

2,RTSP協議
(1)是流媒體協議。
(2)RTSP協議是共有協議,並有專門機構做維護。.
(3)RTSP協議一般傳輸的是 ts、mp4 格式的流。
(4)RTSP傳輸一般需要 2-3 個通道,命令和數據通道分離。

3,HTTP協議
(1)不是是流媒體協議。
(2)HTTP協議是共有協議,並有專門機構做維護。
(3)HTTP協議沒有特定的傳輸流。
(4)HTTP傳輸一般需要 2-3 個通道,命令和數據通道分離。
————————————————
原文鏈接:https://blog.csdn.net/u014162133/article/details/81188410

1、點播功能的流化文件格式?

1、FLV
FLV 是FLASH VIDEO的簡稱,FLV流媒體格式是隨着Flash MX的推出發展而來的視頻格式。由於它形成的文件極小、加載速度極快,使得網絡觀看視頻文件成爲可能,它的出現有效地解決了視頻文件導入Flash後,使導出的SWF文件體積龐大,不能在網絡上很好的使用等問題。可以實現網頁的直播與點播功能;
2、HLS
HTTP Live Streaming(HLS)是蘋果公司(Apple Inc.)實現的基於HTTP的流媒體傳輸協議,可實現流媒體的直播和點播,主要應用在iOS系統,爲iOS設備(如iPhone、iPad)提供音視頻直播和點播方案。HLS點播,基本上就是常見的分段HTTP點播,不同在於,它的分段非常小。Android設備目前也可以支持。
3、Mp4

2、互動直播和直播的區別是什麼?

互動直播與普通的單向直播相比,賦予了觀衆“露臉發聲”的權利,因此對實時性、抗回聲的要求更高.

3、直播、互動直播、實時音視頻、旁路直播的區別以及聯繫?

直播:(一對多,RTMP/HLS/HTTP-FLV,CDN)
直播是一種非常典型的流媒體系統,通常會分爲推流端(Pusher)、拉流端(或者叫播放端,Player)以及直播流媒體中心(直播源站),通常會使用CDN進行直播的分發,因此大部分情況下使用的是通用標準的協議,如RTMP,而經過CDN分發後,播放時一般可以選擇RTMP、HTTP-FLV或HLS(H5支持)等方式。直播的特點是隻有一個推流端,以及多個的觀看端。

實時音視頻:(雙人/多人通話,UDP私有協議,低延時)實時音視頻(Real-Time Communication, RTC)
主要應用場景是音視頻通話,技術關注點是低延時通信,因而使用基於UDP的私有協議,其延遲可低於100ms,適用於雙人通話或是多人羣組羣話,典型的場景就是QQ電話、微信電話。 騰訊雲實時音視頻(TRTC)覆蓋各平臺,除了iOS/Android/Windows之後,還支持小程序以及 WebRTC 互通,並且支持通過雲端混流的方式將畫面旁路直播出去。當業務對延遲敏感,通話場景要求比較高,或是需要小程序或者 H5 場景下的雙人或多人音視頻通話可以選擇實時音視頻 TRTC。

互動直播:(連麥,二對多/多對多,私有協議+標準協議,DC/OC+CDN)
互動直播是在實時音視頻的基礎上,將實時音視頻某個房間中的畫面經雲端混流後,通過旁路直播的方式直播出來。因此,互動直播主播與連麥者之間延遲與實時音視頻一致,而主播/連麥者與普通觀衆之間的延時則與普通直播相同。

旁路直播:(關鍵詞:雲端混流,轉推,CDN)
將主/副播實時音視頻通話時的整個房間的畫面複製一份到雲端進行雲端混流,並將混流後的畫面推流給騰訊雲直播系統的工作方式。 因爲混流後的視頻數據流和主/副播通話房間實際上並不是同一路流,而是在另外平行的一路,因而稱爲旁路,即不在主路。雲端錄製時,錄製的流也是通過旁路的方式從流媒體中心引出,存到COS中。

4、旁路直播和進房間直播的區別?

5、如何降低延遲?

https://cloud.tencent.com/document/product/267/7971
按正常情況 RTMP 推流 + FLV 播放正常延遲在2秒 - 3秒左右,太長則是有問題的,如果您發現直播延遲時間特別長,可以按照如下思路來排查。
排查思路
Step 1. 檢查播放協議
不少客戶播放協議採用 HLS(m3u8),並感覺延遲較大,這個是正常的。蘋果主推的 HLS 是基於大顆粒的 TS 分片的流媒體協議,每個分片都有5s以上的時長,分片數量一般爲3個 - 4個,所以總延遲在20s - 30s就不足爲怪。
換用 FLV 作爲播放協議即可解決這個問題,但是要注意,如果您要在手機瀏覽器上觀看直播視頻,只有 HLS(m3u8) 這一種播放協議可以選擇,其它的直播協議在蘋果的 Safari 瀏覽器上都是不支持的。

Step 2. 檢查播放器設置
騰訊雲 RTMP SDK 的播放器支持極速、流暢和自動三種模式,具體設置請參考 延時調節:
極速模式:能保證絕大多數場景下延遲都在2秒 - 3秒以內,美女秀場適合這個模式。
流暢模式:絕大多數場景下延遲都在5秒以內,適合對延遲不敏感但對流暢度要求高的場景,例如遊戲直播。

Step 3. 後臺不要打水印
騰訊雲支持後臺打水印,目的是滿足一些不能使用騰訊雲 RTMP SDK 的推流器(支持直播端加水印)但依然要打水印的客戶,但是這種方案會引入額外的三秒延遲,故如果您本身使用的是騰訊雲 RTMP SDK 來推流,就把後臺水印關閉後在主播端的 App 上加水印。

Step 4. 第三方推流器?
我們只能確保在騰訊雲一體化解決方案中保持理想的效果,如果您使用的是第三方推流軟件,建議您先換成騰訊雲 RTMP SDK 的推流 Demo 做個對比,排除一下第三方推流器的編碼緩存引入大延遲的可能,因爲很多第三方的推流器對會暴力的採用無限緩衝的方式來解決上行帶寬不足的問題。

Step 5. 檢查 OBS 設置
不少客戶反饋採用 OBS 推流,在播放端延遲比較大。建議按照 PC 推流 文檔中配置對應的參數,並注意要把關鍵幀間隔設置爲1或者2。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章