黎 梅
廣西廣播電視臺 廣西 南寧市 530022
在數字電視時代,傳輸電視現場直播信號時無論采用何種傳輸技術,首先要將直播信號的視音頻內容進行數字化編碼,之后通過不同信道傳輸,在接收端重新解碼視音頻數據并轉換為電視信號,采用衛星、光纖、微波等傳統傳輸技術與采用互聯網傳輸最大區別僅是傳輸鏈路、協議不同。
傳統電視信號的傳輸技術各有缺點,如衛星傳輸價格較高,光纖傳輸要求在指定地點,微波傳輸對直線距離有一定要求和限制?;ヂ摼W傳輸的優點是網絡接入點多,成本低,傳輸距離遠,在網絡帶寬允許情況下可以承擔傳輸任務。
通過互聯網傳輸電視信號的缺點在于其采用的不是專用網絡,存在網絡帶寬不穩定、數據時延不確定等問題,因此一直沒有廣泛應用。隨著電信技術發展,互聯網傳輸速率越來越高。據統計2022 年,中國固定互聯網寬帶接入速率在100M 和1000M 之間占比為78.4%,1000M以上占比為15.6%,20M 和100M 之間占比為4.8%,20M 以下為1.2%。高帶寬使得通過互聯網傳輸電視信號成為可能,這一點在網絡視頻直播領域得到驗證和應用。
互聯網常用的網絡視頻直播協議主要有RTMP、RTSP、HTTP 等,分別基于TCP 或UDP協議工作。
RTMP 協議基于TCP,設計用于進行實時數據通信的網絡協議,主要在支持RTMP 協議流媒體/交互服務器之間進行音視頻和數據通信。
RTSP 是多媒體播放控制協議,用來控制多媒體串流暫停/繼續、后退、前進。RTSP 在體系結構上位于RTP 和RTCP 之上,使用TCP 或UDP 完成數據傳輸。
在視頻直播/點播時,將多媒體流數據切片封裝到HTTP 協議中進行發布。
表1 針對這三種協議進行比較,重點在于丟包和延時方面。如表1 所列,RTSP 協議直播延時最低,得益于其在傳輸多媒體流數據時采用丟包不重傳的UDP 協議,但是也容易因丟包而造成解碼錯誤,使視頻畫面出現花屏、馬賽克之類現象。
RTMP、HTTP 協議是基于TCP 協議,采用丟包重傳機制,可以保證IP 數據包可靠傳輸,由于RTMP 協議比HTTP 協議延時低,相比較之下RTMP 協議更適合用于電視現場直播信號傳輸。
RTMP協議是Adboe公司私有協議,傳輸flv、f4v格式流,視頻編碼為H.264,音頻編碼為AAC。
RTMP 協議應用于網絡視頻直播時有兩種工作模式,一種稱為“推流”,指將編碼后的視音頻流傳輸到RTMP 服務器,另一種稱為“拉流”,指客戶端從RTMP 服務器獲取其緩存的視音頻流。一般的網絡視頻直播系統由圖1所示的這三個部分組成。
圖1 RTMP 直播結構
RTMP 推送端將視音頻信號按flv、f4v 的格式要求進行編碼、封裝后,將這些多媒體流數據重新分片發送到RTMP服務器。
RTMP 服務器將收到的流數據暫存在本機內存或磁盤中,并提供RTMP 轉發服務,將流數據發送給已連接的RTMP 接收端。
RTMP 接收端根據指定地址與RTMP 服務器建立連接,從RTMP 服務器上取得所需要的多媒體流數據。
RTMP 協議雖然可以在支持TCP/IP 協議的衛星、光纖鏈路上傳輸流數據,但相比于傳統電視信號傳輸技術并沒有優勢,其主要應用互聯網傳輸多媒體流。
圖1 是RTMP 網絡視頻直播的應用架構,在用于傳輸電視現場直播信號時,需要在原基礎上進行修改,增加電視行業專業設備,如圖2所示。
圖2 廣播電視行業RTMP 協議應用
RTMP 推送端設備由視音頻采集/輸出設備和視頻編碼器組成,前者主要是電視行業常用的數字攝像機、錄像機等設備,其作用是將電視信號通過SDI 接口輸出;視頻編碼器則對輸入SDI 信號進行編碼,并按RTMP 協議將視音頻流推送到指定RTMP 服務器。
市售SDI 視頻編碼器價格從1 千多元至數萬元不等,但功能相差不大,價格差別主要體現在編碼質量、性能及穩定性等方面。由于RTMP 推送端多數用于將外場直播信號回傳到臺內,考慮到外場環境下可能無法提供固定電源和寬帶,因此有一些專為這種環境下使用的移動SDI 視頻編碼器,其自帶充電電池,并可以通過Wi-Fi 或內置3G/4G 電話卡上網,完成RTMP 協議推流。
視頻編碼器配置主要分為以下4 個部分:
(1)網絡設置:配置編碼器IP 地址、網關、子網掩碼、DNS 等常用網絡參數。
(2)視頻參數設置:配置視頻編碼方式如H.264、H.265,及碼率、幀頻、關鍵幀間隔、視頻尺寸等參數。
(3)音頻參數設置:配置音頻編碼如AAC、MP3,及音頻采樣率、通道、碼率等參數。
(4)RTMP 參數配置:配置RTMP 服務的IP 地址(或域名) 及上傳端口號(一般為1935),另外就是上傳至RTMP服務器的目錄名稱以及上傳節點(流名稱),這幾個參數缺一不可。
一個RTMP 流的連接串由RTMP 參數配置項的信息組成,包括協議名稱、IP 地址(或域名)、端口號、上傳目錄名稱、上傳節點(流名稱)五部分組成,例如:RTMP://172.16.66.21:1935/live/stream001。
RTMP 服務器不對接收到的流數據重新進行編碼,而僅作緩存和轉發,因此編碼器視音頻參數決定最終電視信號質量。由于傳輸電視信號時視頻數據占比較高,重點在于根據網絡帶寬設置視頻碼率,當視頻采用H.264 編碼時,傳輸1080i 高清電視信號碼率設為5Mbps 以上,標清電視信號碼率設為2Mbps 以上,符合電視播出要求。
RTMP 服務器主要由服務器硬件、操作系統、RTMP 流媒體服務器軟件組成,其核心是RTMP 流媒體服務器軟件,主要分為付費商業軟件和免費開源軟件兩類。
付費軟件代表是FMS(Adobe Flash Media Server,Adobe公司的流媒體服務軟件)優點除穩定性、兼容性好之外,對于推送給FMS 的RTMP 流,接收端可以使用HLS 協議連接。
在免費RTMP 服務軟件中,Red5(Red5 Mesia Server,Red5流媒體服務軟件)是當前應用較多的一個,完全兼容FMS 的RTMP 協議。用Red5 替換FMS后,推送端、接收端的RTMP 連接參數基本不用修改就可以使用。Red5 的性能和穩定性相比FMS 稍差,且不支持HLS 協議。
此外還有Wowza、 CRTMPD、Nginx-RTMP、SRS 等付費或免費流媒體服務軟件支持RTMP 協議,因此RTMP 服務軟件可選范圍很廣。除了自行購買軟硬件建立自己的RTMP 服務器外,還可以利用第三方的云視頻服務如阿里云、騰訊云、網易視頻云、樂視云等平臺,實現RTMP 協議推流和拉流,從而發揮云平臺并發能力和高帶寬優勢。
對于一般的網絡視頻直播,接收端只需在個人計算機、平板電腦、手機上通過影音軟件播放RTMP 流,當用于電視信號傳輸時,需要增加將RTMP 流轉換為SDI 信號環節。
低成本方法是通過電腦播放器+截屏轉換輸出方式,即用影音軟件播放RTMP 流,將電腦顯卡輸出的VGA、DVI、HDMI等信號,通過轉換器轉換為SDI信號,圖3 是通過北京東方艾迪普公司的B-BOX 視音頻轉換器將電腦顯卡信號轉為SDI 信號線路圖。
這種轉換方式對電視信號質量產生一些影響,例如播放時屏幕畫面有時會拉條、某幾幀畫面不同步,或混入其它電腦軟件輸出聲音等問題。
一些廣播電視設備可以將RTMP 流通過其內置的SDI 視頻板卡輸出,如美國TVU Networks 公司TVU Pack 接收服務器,圖4 是通過TVU Pack 接收服務器輸出的畫面,在帶寬良好情況下,輸出電視信號質量與通過傳統傳輸技術相比沒有差別。
圖4 TVU Pack 接收服務器SDI 信號輸出
使用RTMP 協議傳輸電視信號較之傳統廣播電視傳輸方式(光纖、微波、衛星),及同為互聯網傳輸的RTSP、HTTP 協議而言,主要優勢在于打破地域限制,其采用推、拉流工作方式,使得接收端只要連接互聯網就可以接收信號,且一個來源信號可以在多個不同地點接收和解碼使用,優勢明顯,缺點是傳輸信號延時較大,一般延時3 秒,當網絡速率較低時,視音頻信號會產生卡頓現象。
當使用RTMP 協議傳輸電視直播信號時,要保障信號穩定,除需要穩定可靠帶寬外,還需要利用其推、拉流工作原理,合理分配信號流走向,如2017 年,廣西廣播電視臺“壯族三月三”大直播時,將本臺新聞頻道直播信號通過RTMP協議傳輸給中央廣播電視總臺,上海、貴州、廣東等多家電視臺,采用多個SDI 視頻編碼器進行交叉推流,并通過一推一拉方式,保障8 小時信號傳輸,如圖5 所示。
圖5 “壯族三月三”大直播RTMP 傳輸系統
互聯網利用RTMP 協議傳輸電視現場直播信號時,如果需要保證電視信號質量,應設置較高碼率,對傳輸帶寬和穩定性有一定要求,因此仍未在廣播電視行業廣泛應用。
當前H.265 編碼開始使用,其在同等畫質下比H.264 編碼節省約50%的碼率,市售大部分視頻編碼器支持H.265 編碼,問題是少有RTMP 流媒體服務器軟件支持H.265 編碼,這使得H.265 編碼暫時無法應用于RTMP 協議體系。隨著RTMP 流媒體服務器軟件升級換代,此種傳輸技術將會廣泛應用。