張莉 沛縣廣播電視臺
隨著Internet的飛速發(fā)展,4G、WIFI網(wǎng)絡(luò)的全面覆蓋以及智能手機(jī)、平板電腦等智能終端的應(yīng)用普及 ,現(xiàn)場直播可以隨時(shí)隨地在網(wǎng)上發(fā)起,吸引眾多網(wǎng)友圍觀。與傳統(tǒng)的電視直播相比,網(wǎng)絡(luò)直播沒有時(shí)段限制和節(jié)目調(diào)整等問題,受眾也不再受限于電視接收和屏幕觀看,只要有網(wǎng)絡(luò)環(huán)境就可以通過計(jì)算機(jī)、手機(jī)、平板電腦等設(shè)備隨時(shí)隨地進(jìn)行收看。近年來,在國家全力推進(jìn)“三網(wǎng)融合”的驅(qū)動下,傳統(tǒng)的廣電媒體紛紛搶灘網(wǎng)絡(luò)直播陣地,逐步建立起自己的網(wǎng)絡(luò)直播系統(tǒng)。
網(wǎng)絡(luò)直播是對視音頻信號采集編碼后轉(zhuǎn)換成數(shù)字碼流,并通過網(wǎng)絡(luò)邊傳輸邊播放的一種流媒體應(yīng)用。通用的網(wǎng)絡(luò)直播模型如圖1所示。
從圖1我們可以看到,直播流程主要包括以下三個(gè)部分:
(1)采集編碼
圖1 通用網(wǎng)絡(luò)直播模型
網(wǎng)絡(luò)直播的首要環(huán)節(jié)是圖像和聲音的采集。圖像和聲音的采集設(shè)備主要有手機(jī)、電腦和攝像機(jī),它們都是通過圖像傳感器和聲音傳感器將圖像和聲音轉(zhuǎn)換成電信號,經(jīng)數(shù)字采樣、量化、編碼后生成數(shù)字基帶信號。中間可能還需要對視頻進(jìn)行美顏、水印等處理。數(shù)字基帶信號要在網(wǎng)上進(jìn)行傳輸還必須要進(jìn)行壓縮編碼和封裝。網(wǎng)上常用的視頻壓縮編碼格式有MPEG、H.264等。常見的視頻封裝格式有:MP4、3GP、AVI、MKV、WMV、MPG、VOB、FLV、MOV、RMVB和WebM等。與網(wǎng)絡(luò)直播視頻相關(guān)的術(shù)語有:
① 圖像傳輸格式:通用影像傳輸格式(Common Intermediate Format)是網(wǎng)絡(luò)直播傳輸中使用的影像傳輸格式。
② 圖像格式:通常采用YCBCR格式存儲原始數(shù)據(jù)信息,其中包含黑白亮度圖像信息,以及可由CB、CR兩個(gè)色差信號組合成的彩色圖像信息。
③ 傳輸通道:正常情況下只需1路通道傳輸信號,但隨著虛擬現(xiàn)實(shí)技術(shù)的日漸成熟,為了拍攝一個(gè)完整的360°視頻,需要通過不同角度的拍攝,并經(jīng)多通道傳輸在終端進(jìn)行合成。
④ 分辨率:隨著設(shè)備屏幕尺寸的日益增大,視頻采集過程中原始視頻分辨率越來越重要,后續(xù)處理環(huán)節(jié)中使用的所有視頻分辨率的定義都以原始視頻分辨率為基礎(chǔ)。視頻采集卡能支持的最大點(diǎn)陣反映了其分辨率的性能。⑤ 采樣頻率:采樣頻率就是模數(shù)轉(zhuǎn)換時(shí)抽取樣本的頻度,它反映了采集卡處理圖像的速度和能力。在進(jìn)行高清晰度圖像采集時(shí),需要注意采集卡的采樣頻率是否滿足要求。采樣率越高,圖像質(zhì)量越高,同時(shí)保存這些圖像信息的數(shù)據(jù)量也越大。
音頻的采集過程是先通過設(shè)備將環(huán)境中的模擬信號采樣、量化、編碼為PCM的原始數(shù)據(jù),然后將這些數(shù)據(jù)壓縮編碼成音頻格式數(shù)據(jù)。常見的音頻壓縮格式有:MP3、AAC、OGG、WMA、OPUS、FLAC、APE、M4A和AMR等。
與網(wǎng)絡(luò)直播音頻相關(guān)的技術(shù)術(shù)語有:
① 采樣率:采樣就是把模擬信號數(shù)字化的過程,采樣頻率越高,記錄這一段音頻信號所用的數(shù)據(jù)量就越大,同時(shí)音頻質(zhì)量也就越高。
② 量化位寬:每一個(gè)采樣點(diǎn)都需要用一個(gè)量化數(shù)值來表示大小,這個(gè)量化數(shù)值可以是8bit、16bit、20bit、32bit等,位數(shù)越多,就越精細(xì),聲音質(zhì)量就越好,而數(shù)據(jù)量也會成倍增大。在音頻采樣過程中常用的量化位寬是16bit。
③ 聲道數(shù):由于音頻的采集和播放是可以疊加的,因此,可以同時(shí)從多個(gè)音頻源采集聲音,并分別輸出到不同的揚(yáng)聲器。聲道數(shù)一般表示聲音錄制時(shí)的音源數(shù)量或回放時(shí)相應(yīng)的揚(yáng)聲器數(shù)量。聲道數(shù)為1和2分別稱為單聲道和雙聲道,是比較常見的聲道參數(shù)。
④ 音頻幀:音頻跟視頻不一樣,視頻每一幀就是一幅圖像,而音頻數(shù)據(jù)是流式的,本身沒有明確的一幀幀的概念。在實(shí)際應(yīng)用中,為了音頻處理和傳輸?shù)姆奖?,一般約定俗成取2.5ms-60ms為單位的數(shù)據(jù)量為一幀音頻。這個(gè)時(shí)間被稱之為“采樣時(shí)間”,其長度沒有特別的標(biāo)準(zhǔn),它是根據(jù)編解碼器和具體應(yīng)用的需求來決定的。
(2)推流存儲
推流是直播的“第一公里”,直播的推流對直播鏈路影響非常大,如果推流不穩(wěn)定,就會出現(xiàn)圖像和聲音卡頓、暫停等現(xiàn)象,觀眾的體驗(yàn)就會很差。網(wǎng)絡(luò)直播推流的關(guān)鍵是推送協(xié)議的采用。目前常用的網(wǎng)絡(luò)推送協(xié)議有以下幾種:
① RTMP和HTTP-FLV
RTMP是Real Time Messaging Protocol(實(shí)時(shí)消息傳輸協(xié)議)的縮寫。該協(xié)議基于TCP,是一個(gè)協(xié)議族,包括RTMP基本協(xié)議及RTMPT/RTMPS/RTMPE等多個(gè)變種。RTMP是一種設(shè)計(jì)用來進(jìn)行實(shí)時(shí)數(shù)據(jù)通信的網(wǎng)絡(luò)協(xié)議,主要用來在Flash/AIR平臺和支持RTMP協(xié)議的流媒體/交互服務(wù)器之間進(jìn)行音視頻和數(shù)據(jù)通信。支持該協(xié)議的軟件包括Adobe Media Server/Ultrant Media Server/red5等。RTMP是目前主流的流媒體傳輸協(xié)議,廣泛應(yīng)用于直播領(lǐng)域,市面上絕大多數(shù)的直播產(chǎn)品都采用了這個(gè)協(xié)議。它的優(yōu)點(diǎn)是CDN支持良好,主流的CDN廠商都支持,而且協(xié)議簡單,在各平臺上容易實(shí)現(xiàn)。它的缺點(diǎn)是基于TCP,傳輸成本高,在弱網(wǎng)環(huán)境下丟包率高,且不支持瀏覽器推送。
HTTP-FLV協(xié)議實(shí)際上和RTMP協(xié)議傳輸?shù)臄?shù)據(jù)是一樣的,HTTP-FLV是一個(gè)無限大的HTTP流的文件,只能用于直播,而RTMP還可以推流和更多的操作。但是HTTP的優(yōu)點(diǎn)是網(wǎng)絡(luò)穿透性強(qiáng),而RTMP是非開放協(xié)議。
這兩個(gè)協(xié)議是如今直播平臺主選的直播方式,主要原因就是延時(shí)極低。
② HLS
HLS是Apple推出的直播協(xié)議,通過將視頻流切片成文件片段實(shí)現(xiàn)直播??蛻舳耸紫葧埱笠粋€(gè)m3u8文件,里面會有不同碼率的流,或者直接是TS文件列表,通過給出的TS文件地址去依次播放。在直播的時(shí)候,客戶端會不斷請求m3u8文件,檢查TS列表是否有新的TS切片。這種方式直播的主要弊端就是延遲過大,最小延時(shí)為TS單個(gè)文件的時(shí)長。
③ DASH
DASH 實(shí)際工作原理和HLS一樣,只不過不是mpegts文件,DASH 可以支持多種切片文件,比如mp4切片。當(dāng)為mp4切片,客戶端直接可用js控制利用html5直接播放。DASH 也有延時(shí)。
視音頻內(nèi)容通過網(wǎng)絡(luò)推流,最終都存儲到網(wǎng)絡(luò)云存儲上進(jìn)行分發(fā)和點(diǎn)播。現(xiàn)在的云存儲有很多,像荔枝云、阿里云、騰訊云等等,都提供網(wǎng)絡(luò)直播平臺服務(wù)。內(nèi)容存儲需主要考慮兩個(gè)問題,一個(gè)是內(nèi)容源的集中存儲,另一個(gè)是內(nèi)容在Cache節(jié)點(diǎn)中的分布式存儲。由于內(nèi)容的規(guī)模比較大,會有很大的數(shù)據(jù)吞吐量,因此,通常采用海量存儲架構(gòu)。目前常用的存儲技術(shù)主要有直連附加存儲(DAS)、網(wǎng)絡(luò)附加存儲(NAS)和存儲區(qū)域網(wǎng)(SAN)。網(wǎng)絡(luò)直播一般都會購買第三方的云存儲平臺服務(wù),采用的技術(shù)方案一般由第三方去考慮。
(3)分發(fā)播放
內(nèi)容分發(fā)技術(shù)是通過網(wǎng)絡(luò)的構(gòu)建減小IP骨干網(wǎng)絡(luò)的傳輸壓力,將連接到IP網(wǎng)絡(luò)上的內(nèi)容迅速分發(fā)到用戶終端。分發(fā)技術(shù)有兩種:
① 分段分發(fā)技術(shù)
流媒體對邊緣內(nèi)容的完整性沒有要求,節(jié)點(diǎn)只需存儲少量的節(jié)目或節(jié)目片段即可實(shí)時(shí)推送內(nèi)容,為用戶提供完整的服務(wù)。當(dāng)用戶點(diǎn)播的內(nèi)容只有部分片段或沒有時(shí),系統(tǒng)將采用分發(fā)技術(shù)進(jìn)行內(nèi)容的快速分發(fā)。
② 部分分發(fā)技術(shù)
部分分發(fā)技術(shù)可提升邊緣系統(tǒng)的命中率,如果對10%的內(nèi)容采用全復(fù)制,20%的內(nèi)容采用50%復(fù)制,50%的內(nèi)容采用10%復(fù)制,那么,系統(tǒng)可以實(shí)現(xiàn)95%以上的命中率,大大降低骨干網(wǎng)的負(fù)荷,具有優(yōu)越的分發(fā)性能。
播放其實(shí)是推流的逆過程——拉流。標(biāo)準(zhǔn)的拉流格式有RTMP、FLV、HLS等。RTMP是Adobe的專利協(xié)議,開源軟件和開源庫都支持的比較好,播放端只要支持FlashPlayer就能非常簡單的播放RTMP直播,直播延遲一般在1-3秒。FLV(HTTPFLV)協(xié)議和RTMP協(xié)議一樣,直播延遲同樣可以做到1-3秒。HLS是蘋果提出的基于HTTP的流媒體傳輸協(xié)議,HTML5可以直接打開播放,同時(shí),通過微信、QQ等軟件分享的直播,用戶也可以直接觀看。HLS的缺點(diǎn)是延遲通常大于10秒。
網(wǎng)絡(luò)直播分發(fā)播放示意圖如圖2所示。
作為廣播電視的專業(yè)機(jī)構(gòu),電視臺舉辦的活動進(jìn)行網(wǎng)絡(luò)直播與普通的網(wǎng)絡(luò)直播存在較大差異。電視臺網(wǎng)絡(luò)直播的一些特殊需要主要表現(xiàn)在以下幾個(gè)方面:
(1)專業(yè)接口
電視臺進(jìn)行的網(wǎng)絡(luò)直播一般都會采用廣播級和專業(yè)級的設(shè)備進(jìn)行現(xiàn)場錄制,提供較高質(zhì)量的視音頻,并采用專業(yè)接口進(jìn)行傳輸。因此,直播系統(tǒng)必須具有專業(yè)接口與廣電的直播系統(tǒng)進(jìn)行對接。
(2)分辨率
電視目前主流的分辨率是標(biāo)清和高清兩種格式。我國標(biāo)清格式分辨率是720×576。除了一部分的播出系統(tǒng)還是標(biāo)清系統(tǒng)外,我國高清電視的應(yīng)用已經(jīng)非常普及。目前電視臺采用的主流高清格式有 1080i、720p、1080p等,分辨率為1920×1080、1280×720。
圖2 網(wǎng)絡(luò)直播分發(fā)播放示意圖
(3)網(wǎng)絡(luò)帶寬
不同的視頻格式產(chǎn)生不同的碼流,碼流越大,需要的網(wǎng)絡(luò)帶寬越大,充裕的網(wǎng)絡(luò)帶寬可保證網(wǎng)絡(luò)直播圖像和聲音的穩(wěn)定性。網(wǎng)絡(luò)直播的視頻格式與碼率如表1所示。
表1 視頻格式與碼率
電視直播通常采用720p以上分辨率的高清格式,按720p格式計(jì)算,直播應(yīng)用需要1024kbps的帶寬,即1M帶寬。而實(shí)際直播應(yīng)用中,還有消息推送、附屬數(shù)據(jù)等信息,會有更多的帶寬消耗,因此一般直播帶寬的要求是視頻碼率的2倍以上。
在分發(fā)端,如果有2萬人同時(shí)在線觀看高清直播,所需的并發(fā)峰值帶寬會達(dá)到2G,這需要合作的網(wǎng)絡(luò)直播平臺的技術(shù)支持和提供的服務(wù)技術(shù)。網(wǎng)絡(luò)直播平臺一般都可以提供5萬人以上同時(shí)在線觀看的服務(wù)。
(4)與官網(wǎng)、官微的銜接
電視臺都有自己的官網(wǎng)和官微,直播的相關(guān)信息都要通過這些渠道傳送給網(wǎng)絡(luò)觀眾。因此,網(wǎng)絡(luò)直播必須和官網(wǎng)和官微銜接好,觀眾通過官網(wǎng)和官微的鏈接,簡單點(diǎn)擊就能進(jìn)行網(wǎng)絡(luò)收看。通過網(wǎng)絡(luò)現(xiàn)場直播,可以進(jìn)一步擴(kuò)大官網(wǎng)和官微的影響力。
2017年9月,我臺舉辦的《沛縣好聲音·第3季》總決選活動采用了網(wǎng)絡(luò)直播的形式,這也是我臺的首次網(wǎng)絡(luò)直播。這次網(wǎng)絡(luò)直播系統(tǒng)的搭建和測試只有半個(gè)月的時(shí)間,為快速建成這個(gè)系統(tǒng),我們搭建了一個(gè)簡單易用的網(wǎng)絡(luò)直播鏈路。
視頻采集端我們用直播車來實(shí)現(xiàn)高清視頻及音頻的攝取和輸出。編碼推流環(huán)節(jié)我們采用了天創(chuàng)恒達(dá)的30S編碼器,該編碼器的輸入具有SD/HD-SDI接口,編碼后可以通過4G、WIFI和網(wǎng)絡(luò)進(jìn)行推流。直播平臺我們選擇與微贊直播平臺進(jìn)行合作,我臺的官網(wǎng)和官微都建立了微贊直播的鏈接,觀眾可以直接通過微信和網(wǎng)站進(jìn)行觀看和互動。網(wǎng)絡(luò)直播系統(tǒng)如圖3所示。
網(wǎng)絡(luò)直播平臺應(yīng)用主要有以下兩個(gè)關(guān)鍵點(diǎn):(1)編碼器的設(shè)置
圖3 沛縣廣播電視臺網(wǎng)絡(luò)直播系統(tǒng)圖
圖4 主流編碼設(shè)置
圖5 主流協(xié)議設(shè)置
圖6 微贊電腦操作界面
圖7 微贊手機(jī)操作界面
編碼器的設(shè)置,首先要確定使用何種網(wǎng)絡(luò)進(jìn)行推流。因?yàn)檫@次活動是在沛縣廣播電視臺臺內(nèi)進(jìn)行,我們選擇了網(wǎng)絡(luò)傳輸?shù)姆绞剑W(wǎng)絡(luò)帶寬有保證而且可靠。先用手機(jī)通過WIFI與編碼器建立連接,為編碼器分配一個(gè)固定IP地址并接入交換機(jī)。然后通過在相同網(wǎng)段內(nèi)的計(jì)算機(jī)對其進(jìn)行編碼及推流的相關(guān)設(shè)置。主流編碼設(shè)置如圖4所示。
因?yàn)槲遗_直播車輸出的信號是1080 50i的高清信號,編碼方式選擇了H.264格式,編碼幀率可選擇25或30。編碼后分辨率選擇1280×720。視頻比特率可選擇1024到3500,比特率越高,網(wǎng)絡(luò)直播的視頻質(zhì)量越好,所需推流帶寬也越高。我們折中選擇1500,帶寬確保在3M以上。
主流協(xié)議設(shè)置主要用來確定推流采用的方式。我們選擇主流的RTMP方式,只需把推流地址的三段分別填入相應(yīng)的設(shè)置窗口即可。主流協(xié)議設(shè)置如圖5所示。
(2)微贊直播間的設(shè)置
微贊需首先確定一名管理員,管理員通過自己的賬號建立一個(gè)頻道,頻道下面可以建立多個(gè)直播間,每個(gè)直播間就是一次活動直播。管理員可以通過電腦和手機(jī)微信進(jìn)行相關(guān)的設(shè)置,可以設(shè)置直播開始時(shí)間,生成直播二維碼,發(fā)言權(quán)限,流字彈幕等。電腦、手機(jī)操作界面如圖6、圖7所示。
2017年9月16日,我臺的《沛縣好聲音·第3季》總決選活動準(zhǔn)時(shí)進(jìn)行網(wǎng)絡(luò)直播。在直播時(shí)段內(nèi),有2.5萬人實(shí)時(shí)在線收看了比賽實(shí)況。無論是手機(jī)還是電腦收看,都非常流暢,畫質(zhì)和音質(zhì)清晰。這次網(wǎng)絡(luò)直播的系統(tǒng)比較簡潔,可迅速搭建,達(dá)到了我們的直播預(yù)期效果。