推流
推流,就是将采集到的音頻、視訊資料通過流媒體協定發送到流媒體伺服器。推流對這個直播鍊路影響非常大,如果推流的網絡不穩定,無論我們如何做優化,觀衆的體驗都會很糟糕,是以也是我們排查問題的第一步。推送協定主要有三種:
(1)RTSP(Real Time Streaming Protocol):實時流傳送協定,是用來控制聲音或影像的多媒體串流協定, 由Real Networks和Netscape共同提出的;
(2)RTMP(Real Time Messaging Protocol):實時消息傳送協定,是Adobe公司為Flash播放器和伺服器之間音頻、視訊和資料傳輸 開發的開放協定;
(3)HLS(HTTP Live Streaming):是蘋果公司(Apple Inc.)實作的基于HTTP的流媒體傳輸協定。
RTMP 是目前主流的流媒體傳輸協定,廣泛用于直播領域,可以說市面上絕大多數的直播産品都采用了這個協定,也有部分使用HLS協定。
難題
一、從推流到拉流的通道:這當中包括資料采集→資料編碼→資料傳輸(流媒體伺服器)→解碼資料→播放顯示整個流程;
二、内容複制分發:也就是CDN這塊,伺服器收集到主播的視訊再通過節點講視訊内容分發到各個終端。CDN在直播中技術要求較高,也是最貴的,一般采用第三方,如果是自己做的話也要和CDN廠商對接經驗技術
三、美顔:美顔對于主播來說是十分重要的一個功能。美顔功能看似簡單,其實涉及到複雜的算法和圖檔處理技術。美顔功能最先出現于圖檔上,目前圖檔上的美顔功能已經較為成熟,視訊直播上的美顔還有很長的路需要走
四、聊天室:我們在觀看直播的時候,還可以在聊天室中進行聊天,這就是應用了IM及時聊天室。聊天室和群聊的差別就是,使用者隻有進入聊天室才能夠看到好友,進行聊天,退出聊天室後就看不到好友同時也不能夠檢視聊天記錄。
五、伺服器:對于直播産品來說,流量的變化是非常大的,直播中,一天流量的高峰期是在晚上,對于一些網絡紅人的直播或者是明星的直播,流量會一下子暴漲,流量的忽高忽低自然就對伺服器提出了更高的要求。
視訊直播開發是一個龐大的工程,搭建過程中出現的絕對不隻是以上幾個問題,整個搭建過程必須要嚴謹專業,不然搭建後期會出現更多的問題甚至導緻軟體不能夠正常的運作。這就對開發者的技術提出了很高的要求。