2017-03-15 4924
直播技術(shù)是當下很受關注的技術(shù)領域,它開啟全新的交互變革。目前,直播技術(shù)的現(xiàn)狀如何?它的技術(shù)細節(jié)有哪些?下一個趨勢會是什么?本文帶你詳細了解。
直播技術(shù)現(xiàn)狀
移動直播的主流技術(shù)方案
移動直播,PC 和移動端不一樣,有很大差異。
現(xiàn)在手機的主流視頻參數(shù)是 360P( 640×360 分辨率)、800kbps ,幀率 15-25fps ,延遲 3-6 秒(看到的主播和延遲),編碼方案基本上全是 H.264 ,軟編硬編都有,YY 自身也是軟硬編碼都有。前處理基本的思路都是基于 GPU 的美顏等特效。
主流的傳輸方案:上行是RTMP ,下行 FLV over HTTP ,CDN 云服務負責轉(zhuǎn)發(fā)。當然,也有個別的廠商不一樣,YY 就不一樣,YY 整個傳輸都是自己寫的,這和業(yè)界完全不同,原因是之前就是做語音傳輸?shù)?,那時一直是自己做傳輸層,由 UDP 來實現(xiàn)傳輸協(xié)議,做視頻的時候就延續(xù)過去的技術(shù)傳統(tǒng),所以跟主播廠商不一樣。當然,YY支持標準協(xié)議。
當前直播技術(shù)的困境
終端硬件的性能瓶頸
整個移動直播最近兩年很火,曾經(jīng)開玩笑稱這個行業(yè)是被 iPhone6 創(chuàng)造出來的,沒有 iPhone6 就沒有今天的移動直播行業(yè)。為什么呢?因為在 iPhone 之前的手機根本沒有辦法拿來做直播,電池太小、屏幕太小、CPU 主頻太低、性能太差、攝像頭也太差,iPhone 之前的手機都不能作為一個合格的直播手機,自從 iPhone 這個劃時代的偉大產(chǎn)品出現(xiàn),創(chuàng)造出這個直播的行業(yè)。但是 iPhone 的性能也卡住了這個行業(yè)的技術(shù)上限,例如現(xiàn)在 iPhone7 發(fā)布,iPhone7 的性能上限就是整個行業(yè)各項技術(shù)指標的上限,不可能超越它,YY 下一步技術(shù)指標再進步就只能指望 iPhone8 了。
傳輸寬帶的成本
算法缺乏成熟的開源方案
算法是有的,但是都是從 PC 時代過來的算法,并沒有對手機做單獨的優(yōu)化,從設計之初并沒有考慮到移動視頻或者視頻直播的場景,所以要做大量的改進、優(yōu)化、定制。例如回聲消除,當時考慮的是 PC 環(huán)境,對手機的環(huán)境適應很差,這些需要自己去改。
優(yōu)質(zhì)的內(nèi)容制作技術(shù)和互聯(lián)網(wǎng)的鴻溝
優(yōu)質(zhì)內(nèi)容制作手段非常多,比如影視劇、電影電視、廣電部門的綜藝節(jié)目,制作成本相當高,拍攝畫面清晰,畫面特效融合得非常好,創(chuàng)作廣電和互聯(lián)網(wǎng)內(nèi)容之間會產(chǎn)生鴻溝,傳統(tǒng)電視的東西怎么推到互聯(lián)網(wǎng)?他們之間只有很窄的通道即采集卡,輸出到采集卡,從 PC 反采集出去,變成能夠在互聯(lián)網(wǎng)上推流的東西。
廣電有嚴格的標準委員會,有嚴格的執(zhí)行標準,采購商按照標準采購,但是到互聯(lián)網(wǎng)之后并沒有那么遵守標準,或者說壓根沒有什么標準,沒有移動直播標準委員會推廣移動直播的標準,各家直播出來的視頻甚至都不互聯(lián)互通。傳統(tǒng)廣電制作的優(yōu)秀內(nèi)容,過渡到互聯(lián)網(wǎng)這邊就會有各種各樣的麻煩。
直播質(zhì)量的幾個重要指標
視頻畫質(zhì)
主觀畫質(zhì)和客觀畫質(zhì),都有相應的算法。
美顏效果
卡頓率,主觀流暢性
有些視頻其實不卡,偶爾頓一下,或者顯得動作不連貫,就是主觀流暢性。
編解碼性能功耗
音視頻延遲
音畫同步率
在唱歌的場景特別重要,口形和聲音對不上會認為這個人在假唱。
主觀音質(zhì),PESQ ,POLQA
YY 的一些質(zhì)量優(yōu)化成果
編碼優(yōu)化
開源的項目其實并不是為移動直播和視頻直播做設計的,在性能上有巨大的優(yōu)化空間。性能、畫質(zhì)、碼率不可能全部都要,YY 的思路是犧牲其中一項換另外兩項的提升。匯編優(yōu)化能產(chǎn)生一點效果,但是收益比較有限,開源項目對手機的 SSE NEON 指令等效果不錯,但是不會有太大的進步。主要是犧牲少量畫質(zhì)可以換取性能大幅提升,犧牲碼率穩(wěn)定性換取平均碼率降低。在測試上,YY 更看重總體功耗測試。在手機上比較靠譜的是總功耗,即使用一段時間之后耗了多少電、發(fā)熱多少,這是比較靠譜的。
編碼算法性能優(yōu)化
算法的進展,移動直播主流的碼率是 800kbps ,YY 是針對800kbps 做的。中等運動是 800kbps ,優(yōu)化前PSNR 33.994,優(yōu)化后是 33.827,PSNR 降低 0.16% ,性能提升 39.6% ,PSNR降低 0.3 人眼才能看,0.16% 在主觀上是看不出來的,YY 用零點幾的 PSNR 畫質(zhì)的降低去換性能,編碼算法性能優(yōu)很明顯。
編碼性能測試
單獨運行編碼器的性能不代表實際使用性能,CPU 占用率不代表實際功耗。也有人用硬件編碼,但是硬編碼沒有想象中提升的程度多,硬編碼性能的確比軟編碼好,但是功耗降低并不多。簡單的對比測試,軟編和硬編 CPU 差得很多,軟編是 50% 、60%左右,硬編是 30% 、40% ,耗電相差 3% ,但是硬編畫質(zhì)損失不如軟便畫質(zhì)損失好,取舍權(quán)衡也很難。還是很期待下一代iPhone ,下一代 iPhone 的 CPU 上去了,想嘗試用軟編。
美顏效果優(yōu)化的思路
最痛苦的是沒有評價函數(shù),做 IT 的一定要有評價函數(shù)。美顏沒有評價函數(shù),完全主觀感受,同一個東西找不同的人,會得出天壤之別的結(jié)論。做了一年不知道是否變好了。
有一個思路可以分享:
膚色區(qū)域檢測,保持皮膚的顆粒質(zhì)感,有些開源的做直播都帶美顏,磨皮做出來很虛假,像塑料,人的皮膚不那么平,需要人為地增加一點顆粒感。膚色調(diào)節(jié),人膚色白一點。基于人臉檢測的自動曝光和自動白平衡,手機上有這項功能,但是它不是針對人臉做的,YY 是基于人臉的自動曝光和自動白平衡,對人臉形狀微調(diào),其實就是瘦臉,可以達到輕微整形的效果,把下巴兩腮稍微細一點,把人臉的形狀檢測出來,把圖像一點點扭曲,達到一點瘦臉的效果。只不過不敢做得太多,做得太多就有點扭曲時空的效果,比如把手機往臉旁邊放一下,手機的平面是扭曲的。
延遲優(yōu)化
1. 編解碼延遲
延遲低總會有一些代價,綜合考慮采用更小的 GOP ,最長的時候 GOP 有 5 秒多,現(xiàn)在基本上是 2 秒的 GOP ,畫質(zhì)降一些。放棄B frame ,盡量維持高幀率。
2. 接入延遲
接入頻道看屏幕的時候有一些延遲,涉及到視頻的細節(jié)。YY 在接入的一剎那音視頻同步放棄掉,不讓它音畫同步,放棄一兩秒音畫同步,把畫面盡量快地播儲量,后面用一個算法慢慢平滑地追平,用戶一般看不出來。
3. 緩沖延遲
自適應低延遲抖動緩沖算法,抖動緩沖你要寫低延遲的就復雜,高延遲的好寫。
音視頻同步的測試方法
播放音視頻嚴格同步的脈沖視頻源,針對這個視頻閃一個白光的同時再“嘀”一聲,視頻畫面和發(fā)出來的聲音是完全同步的,把這個東西做視頻源再看播出來是否同步。YY 做了這樣一個設備,采集光信號、電信號,把電信號轉(zhuǎn)成音頻信號,輸入到采集設備中,原理很簡單,跟音頻的電信號做對比。比出來的結(jié)果,只要兩個峰值是對在一起的,就說明音畫同步,如果兩個峰值錯開了,即音畫不同步?;◣讉€月,把音畫同步壓在了 150 毫秒之內(nèi),廣電的電視音畫同步標準是 90 - 100 毫秒,超過 175 毫秒人類才能感知。
轉(zhuǎn)碼服務優(yōu)化
從 2015 年開始,作為觀眾來說,移動端的數(shù)目爆漲。整個用戶中 60% 用手機看直播,PC 只占 40% ,而且 PC 的數(shù)據(jù)還在萎縮,手機仍在增長。手機的解碼能力和傳輸能力較低,要求高清內(nèi)容都必須提供轉(zhuǎn)碼,這個需求也是從 2015 年開始爆發(fā)出來的。原來的轉(zhuǎn)碼服務很差,后來需求太多,只能優(yōu)化。
YY 現(xiàn)在的轉(zhuǎn)碼任務是 80 萬/天。轉(zhuǎn)碼任務是,主播從開播到結(jié)束算一個任務,峰值并發(fā)轉(zhuǎn)碼是 1 萬路左右,應用 264 編碼優(yōu)化方案,替換 ffmpeg 和 ×264 的線程池,降低線程遷移概率,提高緩存命中率。ffmpeg 和 ×264 是很好的算法,但都是當年為了單機而設計的,把十幾個任務放在一起,做了一個改動,把ffmpeg 和 ×264 換掉了。很有效果,有 20% 、30% 的提升。
關于直播技術(shù)趨勢的思考
降低直播成本
未來兩三年直播成本會是一個大問題。
提高直播傳輸質(zhì)量
傳輸質(zhì)量是一個問題,碼流會越來越高,幀率也會越來越高,延遲也會越來越高。
強化內(nèi)容生產(chǎn)能力
直播成本
YY 寬帶成本呈直線上升,2016 年前三季度已經(jīng)突破 5 億。四季度財報一出來,很有可能突破 7 億。這樣的帶寬成本上升,還伴隨著很多壓榨帶寬的手段、壓榨采購價格,但是仍然抑制不住帶寬成本的指數(shù)型上升。
直播成本優(yōu)化
推動 HEVC 普及,2013 年年底已經(jīng)有了標準和解決方案,但是整個產(chǎn)業(yè)環(huán)境不夠成熟;改進碼率控制,優(yōu)化特定場景的寬帶;傳輸服務規(guī)?;推骄杀尽,F(xiàn)在的直播近似固定碼率,在流通方面有些壓榨空間,傳輸?shù)姆找?guī)?;瑢?span lang="EN-US" style="font-size:16px;"> YY 來說不需要用 CDN ,但是其他直播是用 CDN ,未來 CDN 會有一場價格戰(zhàn),通過合并產(chǎn)生幾家巨頭。規(guī)模越大,單位成本越低,現(xiàn)在 CDN 廠商也不少。
YY 所有傳輸?shù)膸捑勺约鹤?,自己運維機房,自己買機器。
HEVC 進展
1. 全平臺的解決方案(除 Web 外)性能接近 H264
虎牙直播的個別頻道是 265 的,大概有幾百個頻道,YY 沒有全面開。因為編 265 對直播的機器要求比較高,只開了幾百個,現(xiàn)在解碼的部分已經(jīng)接近 264 。
2. PC 端采用 nVidia 和 Intel 編碼方案已經(jīng)成熟
移動端編碼已經(jīng)有少量機型支持。比如高通 820 以后的芯片。
3. 部分第三方的軟編碼器在移動端已經(jīng)可以做到360p 實時編碼,只是功耗還是過高,有待進一步優(yōu)化
Ittiam 已經(jīng)被 Google 收了一部分,在安卓 5.0 以后的版本內(nèi)置了解碼器,相當于開源。南方千壹被金山云買了,目前在各項編解碼器的評估中基本上是世界第一。
4. 轉(zhuǎn)碼方案完全支持 HEVC 轉(zhuǎn) 264
直播上下行傳輸優(yōu)化
上行 RTMP 優(yōu)化,適應弱網(wǎng)絡環(huán)境和移動網(wǎng)格,比如 UDP tunnel 等。對主播的網(wǎng)絡帶寬要求比較高。
轉(zhuǎn)發(fā)網(wǎng)絡,DPDK ,智能路由等。YY 經(jīng)常在機房間轉(zhuǎn)大量的流量,在全國有幾十家機房,主播上行是一個機房,觀眾是另外一個機房,把視頻流量從這個機房運到另一個機房,但是中國內(nèi)機房之間的網(wǎng)絡流量很糟糕,經(jīng)常遇到丟報 20% 、30% 的情況。所以,YY 自己做了一個智能路由,有兩三條路由可選,當一條不行的時候趕緊切換,而且這種切換是下層做的,上游不能看見,感覺卡了一下就好了。
下行 FLV over HTTP ,TCP 加速,為視頻直播優(yōu)化 TCP 擁塞控制。前一陣 Google 公開了 BBR 的中塞控制,即使什么都不改也比原來好用。BBR 相當于對所有的傳輸所做的,YY 會針對視頻做,現(xiàn)在能夠做到 20% 、30% 的丟包。
Web 端推進 H5 Video,用 FLV+MSE 替換 Flash 。Flash 基本上時日不多了,用一天少一天,因為 Flash 實在太多缺點,也給 YY 惹了不少麻煩。
協(xié)議標準化可以讓直播內(nèi)容更開放、更容易傳播。相信未來業(yè)界還是會走上標準化協(xié)議,YY 自身雖然有自身的協(xié)議,過去也支持了業(yè)界的標準協(xié)議,可以使用這些協(xié)議跟 YY 的傳輸層連接。
強化內(nèi)容生產(chǎn)能力
過去 YY 在內(nèi)容編碼、傳輸上花費了很大力氣,但忽視了內(nèi)容的制作能力?,F(xiàn)在 YY 沒有一個靠譜的導播工具,要做多個視頻源切換、剪輯、疊加都沒有方便的工具。不過 OBS 不錯,但是對于 YY 的直播來說還是有不夠的地方。
提供強交互解決方案。現(xiàn)在還不太有,現(xiàn)在的交互既聊天,再強一點的暫時沒有。
為 PGC 提供更強大的靈活的內(nèi)容生產(chǎn)方式?,F(xiàn)在的視頻直播一般是用戶拿手機或者電腦,全是UGC ,PGC 有很小的部分比例,原因是 PGC 還面臨很多內(nèi)容制作的困難。其他的內(nèi)容生產(chǎn)方式還包括多路內(nèi)容的實時調(diào)度、多人連線直播、專業(yè)印象設備接入,采集編碼推流的一體化便攜式的解決方案。
人臉檢測和標定技術(shù)。優(yōu)化美顏效果和增強現(xiàn)實特效,人臉檢測沒有比較好的開源方案,YY 自己在做,現(xiàn)在有第三方廠商提供一些商業(yè)化的方案,但是這些方案仍不夠成熟,還有改進的空間。
連麥和異地解說
兩個人都是高清和連麥,還是有些麻煩。直播體育賽事,異地解說,畫面得同步,解說怎么跟畫面同步?傳統(tǒng)電視臺之所以能同步,因為解說員比你更早地看到了賽場,把自己的聲音合成之后再給觀眾。所以,傳統(tǒng)的體育賽事解說和畫面是同步的,但是對于互聯(lián)網(wǎng)直播很麻煩,主播所在地點不確定。
LiveU 類似的無線推流設備
這類設備沒有有線網(wǎng),只有 4G ,這套設備 20 多萬,而且還有服務費,成本降不下來。
基于人臉標定的特效
增強現(xiàn)實特效,現(xiàn)在對 CPU 、GPU 的消耗比較高。MSQRD在業(yè)界做得不錯,據(jù)說被 Facebook 收購了。
虛擬主播
現(xiàn)在有一些離線軟件已經(jīng)可以做到,比如 FaceRig 、 Live2D ,把人的表情和動作投射到 3D 或者 2D 模型上,人只要出聲音即可。這個有解決方案,但是集成在直播中還是有一些事情要做,比如 VR 、 3D 、全景,解決方案有,技術(shù)原型也有,但是離真正上線仍然還有很多工程細節(jié)要解決。
用直播與世界對話
直播是互聯(lián)網(wǎng)新型的技術(shù)方式,是全新的視頻方式。之前發(fā)一個帖子什么時候看都行,但直播是一個實時的互聯(lián)網(wǎng),跟以前的傳播方式不一樣,是比較新生的事物,配套的產(chǎn)業(yè)技術(shù)仍有待完善。