近年來,隨著視頻處理和通信技術的飛速發展,音視頻實時通訊的應用已經深入到生活的方方面面。從游戲直播、銀行視頻開戶、線上教育、直播帶貨再到視頻會議等,各種應用場景隨處可見。
在這些場景中,視頻畫面是否清晰、流暢、視頻延時是否足夠小,是影響用戶體驗的關鍵因素。當你在觀看游戲直播或者參加在線課程的時候,難免會遇到視頻卡頓、花屏、延時大、不清晰這些問題。那么你知道是什么原因導致了這些問題嗎?事實上,盡管相關廠商一直在致力于改進用戶體驗,但你仍然會時不時的碰到讓人頭痛的場景。今天的這篇文章將會帶你挖掘這些問題背后的原理,也讓你了解視頻服務提供商在面對這些“難搞”的問題時做了哪些努力。
為了便于理解,我們把一個視頻傳輸鏈路簡化成圖1所示,前端的成像系統進行現場畫面的圖像采集、編碼,然后以特定的網絡協議把碼流發送出去,視頻數據經過網絡服務器的路由和傳輸之后到達接收端,在接收端進行解碼、渲染,還原采集端的現場畫面。
圖1 視頻采集傳輸鏈路
清晰度
影響視頻清晰度的主要因素是傳感器成像時的圖像分辨率和編碼時的碼率。對應同樣大小的成像區域,采集圖像的分辨率越高意味著更多的細節被傳感器捕捉到。大多數情況下,我們可以簡單的認為4K視頻比1080P的視頻更清晰。而由于目前的視頻編碼全部都是有損編碼,碼率越高也就意味著編碼時損失掉的細節越少。當然,隨著視頻編碼算法的持續改善,一些更先進的編碼算法能夠在保持圖像質量的同時盡可能的降低碼率,但這也意味著編碼復雜度的增加和由此帶來的硬件成本增長。
流暢度
編碼之后的視頻碼流要在網絡上傳輸,由于發送端和接收端之間的網絡環境存在大量不確定因素,網絡抖動幾乎無法避免,“生產者”和“消費者”之間無法達到絕對意義上的平衡就會出現堵塞或丟包。如果把網絡比作高速公路,把網絡上傳輸的數據流比作“汽車”,那么視頻碼流的碼率越高,就意味著同樣的“道路”上要跑更多的“汽車”,堵車的概率也就越大,幾乎必然會帶來視頻卡頓、丟幀等現象,從而導致視頻不流暢。
延時
從圖1的數據流向我們可以看到,在采集端、網絡傳輸中、接收端都會產生延時。
攝像頭采集圖像時,sensor成像需要曝光和掃描時間,通常每秒30幀的視頻至少會產生33ms的延時,也就是一幀圖的時間。sensor采集到的數據送給編碼器進行編碼也會有延時,編碼本身是一個復雜的過程,并且通常圖像分辨率越高,編碼延時越長。盡管目前絕大多數場景下都會使用硬件編碼器,但編碼延時仍然是一個可觀的數字,通常達數十毫秒。
端到端的網絡傳輸需要遵循一定的網絡協議,因為存在大量的路由轉發、協議解析,延時自然也無法避免,當然不同的網絡協議帶來的延時也是不同的。
接收端收到數據后首先會進行解碼,這是編碼的逆過程,延時長短取決于解碼器的性能。普通性能的x86電腦解一幀高清圖像需要幾毫秒,而如果是在普通的手機上播放視頻,則需要10毫秒左右才能解碼一幀。接下來是渲染,也就是把視頻數據在顯示器中展示出來。一般情況下渲染的延時比較小,但如果考慮到系統硬件性能或音視頻同步的要求,延時也可能增加。
看到這里,細心的讀者可能會發現一些有意思的聯系,那就是清晰度、流暢度、延時這三個因素是相互關聯、相互約束的,想做到“既要又要還要”是很困難的。
圖2 三因素相互約束的示意圖
通常情況下,可以通過提升視頻分辨率和碼率來獲得更好的視頻清晰度,選擇合適的流媒體傳輸協議也能夠改善視頻的流暢性和延時,比如RTMP(Real-Tune Messaging Protocol)就比HLS(Http Live Streaming)的實時性更好。單獨優化某個性能指標并不困難,難點在于不同指標之間的相互約束,比如:降低碼率可以減少卡頓,提升流暢度并降低傳輸延時,但這也意味著會損失圖像質量,讓用戶失去觀看高清視頻的體驗,甚至丟失有價值的細節信息。又比如:增加網絡傳輸的緩沖區可以提升流暢度,但相應的延時就會加大。另外,在不同應用場景下這些指標的重要性也有差異,需要結合實際需求來提高某個指標的優先級。
接下來我們考慮一個特定的視頻應用場景------一體化融合指揮調度系統。在這樣一個用戶數和設備數眾多的系統中,由于終端設備五花八門,視頻采集端可能會有監控攝像機、4G/5G布控球、執法記錄儀、智能眼鏡、智能頭盔、無人機等,顯示端可能會有調度臺、手持終端、平板等,這些設備的視頻編解碼性能參差不齊,同時不同帶寬、不同穩定性的有線網絡、蜂窩網絡、Mesh及衛星網絡融合在一起,這時候如果仍然采用單一碼率的視頻流和固定的分發策略,并想要保持視頻的流暢性、減少卡頓,將會是一件非常困難的事情。
圖3 一體化融合指揮調度系統架構圖
上圖是一個典型的一體化融合指揮調度系統。在這個系統中,視頻預覽的動作通常是用戶通過客戶端發起,當用戶需要預覽設備的實時視頻時,會先向監控平臺發起預覽視頻的命令,平臺再向設備發起指令,然后設備將編碼之后的高清視頻流發送給平臺,平臺再進一步下發給客戶端。此時,當有另一個客戶端需要預覽同一個設備的視頻時,同樣的,會首先向監控平臺發起預覽視頻的命令,平臺發現之前已經向該設備申請過視頻流了,便直接將已有的高清視頻流分發給新的客戶端,而不是重新創建新的視頻流。
這種做法雖然保證了平臺和設備之間只有一條高清視頻流,能夠減輕設備端的編碼壓力,但忽略了網絡狀況差異帶來的影響。在整條通信鏈路上我們從平臺的角度將網絡分為兩部分:一部分是設備端(采集端)與平臺之間的視頻上傳,另一部分是平臺與客戶端(顯示端)之間的視頻分發。任意一個部分的網絡狀況變差時,都會引起視頻卡頓和延時。
為了解決這一難題,睿極智能做了大量的前沿探索和開創性研究,提出了一種網絡自適應流媒體分發系統。該系統的架構如圖4所示,它的工作流程可以簡要描述如下:
圖4 網絡自適應流媒體分發系統
(1)客戶端需要預覽設備的視頻時,首先向負載均衡器發送命令,負載均衡器判斷是否已經在預覽該設備的二級視頻流,如果是,直接返回對應的二級分發器的地址即可;否則,選擇一個負載最小的二級分發器返回。
(2)客戶端使用負載均衡器返回的地址與二級分發器建立視頻流的傳輸通道。
(3)二級分發器如果沒有在分發視頻流,則向負載均衡器發送預覽視頻的命令,負載均衡器判斷是否已經在預覽該設備的一級視頻流,如果是,直接返回對應的一級分發器的地址即可;否則,選擇一個負載最小的一級分發器返回。
(4)一級分發器與設備建立視頻流的傳輸通道,一級分發器從設備獲取到合適的視頻流后,將視頻流發送給二級分發器。
(5)二級分發器從一級分發器獲取到視頻流后,進行處理,再將處理后視頻流推送給客戶端。
自適應流媒體分發系統的關鍵就在上述的第4步和第5步。
在第4步中,設備與一級分發器建立傳輸通道后,會在最初的若干毫秒內發送隨機測試數據,計算出傳輸通道的初始網絡狀況,并根據網絡的帶寬、丟包率等選擇最合適的分辨率、幀率和碼率。同時,設備每隔一段時間就重新計算一次傳輸通道的網絡狀況,如果連續若干次計算出的網絡狀況都與之前的網絡狀況差別較大,則重新選擇最合適的分辨率、幀率和碼率。這樣,就對設備與一級分發器之間的流媒體傳輸通道進行了自適應。
在第5步中,二級分發器與客戶端建立傳輸通道后,會在最初的若干毫秒內發送隨機測試數據,計算出傳輸通道的初始網絡狀況,并根據網絡的帶寬、丟包率等選擇最合適的分辨率、幀率和碼率。如果選擇的分辨率、幀率和碼率對應的視頻流已經在預覽,則直接分發給客戶端即可。否則,將從一級分發器獲取的視頻流解碼成原始圖像數據,然后重采樣成選擇的分辨率,最后再使用選擇的碼率和幀率編碼成新的視頻流,并推送給客戶端。這樣,就對客戶端與二級分發器之間的流媒體傳輸通道進行了自適應。
對4G/5G車載設備實際路測發現,在進入涵洞、橋梁、高樓、隧道、電梯等附近時,設備與一級分發器之間的網絡帶寬迅速降低至幾百kbps,甚至幾十kbps,同時網絡丟包率大幅上升。未采用自適應流媒體分發系統前,客戶端預覽的視頻往往會卡頓好幾秒,甚至幾十秒,嚴重影響了用戶的使用體驗。采用自適應流媒體分發系統后,客戶端預覽的視頻基本不存在卡頓現象,非常流暢,延時也比較低,畫面清晰度尚可(碼率被一級分發器適當降低了)。當網絡狀況恢復后,客戶端預覽視頻的清晰度也會自動提升(碼率被一級分發器適當升高了)。
對手機/平板等客戶端實際路測發現,在進入涵洞、橋梁、高樓、隧道、電梯等附近時,客戶端與二級分發器之間的網絡帶寬迅速降低至幾百kbps,甚至幾十kbps,同時網絡丟包率大幅上升。未采用自適應流媒體分發系統前,客戶端預覽的視頻延時特別大,達到幾十秒,畫面也會卡頓住,偶爾刷新一下,還會出現馬賽克現象。采用自適應流媒體分發系統后,客戶端預覽的視頻基本不存在卡頓現象,非常流暢,延時也比較低,畫面清晰度尚可(碼率被二級分發器適當降低了)。當網絡狀況恢復后,或者對于網絡狀況良好的客戶端,其預覽的視頻畫面則是高清、甚至超高清的(碼率被二級分發器適當升高了)。
綜上,自適應流媒體分發系統采用精準的網絡狀況評估算法和負載均衡算法,在設備端自適應設備與一級分發器之間的網絡傳輸通道,在二級分發器端自適應二級分發器與客戶端之間的網絡傳輸通道,大幅降低了客戶端視頻出現卡頓、延遲和丟幀等現象的概率,顯著改善了用戶預覽視頻,特別是超高清視頻時的體驗。
通過上面的分析和總結我們可以發現,平臺的流媒體分發機制是整個架構中影響視頻效果的關鍵因素。睿極智能自主研發的可視化融合指揮調度平臺以視頻業務為核心,基于“實時視頻監控+融合指揮調度”雙引擎,在傳統安防視頻監控基礎功能之上,創新性的融入了指揮調度、視頻會商以及智能視覺分析三大業務體系,極大的豐富了無線視頻的應用場景。平臺具有“分布式、高安全、高可靠、大容量、可伸縮、易管理”等先進的設計理念,同時運用了上述網絡自適應流媒體分發系統,能夠為用戶提供流暢的超高清實時視頻傳輸服務。
作為視頻物聯網基礎應用的專業提供商,睿極智能將繼續不斷提升核心技術的積累,在視頻編碼、圖像質量、低延時流媒體傳輸協議、弱網環境下的視頻傳輸算法等領域持續創新,迎合更多場景的業務需求,為用戶提供最佳的產品體驗。
(新媒體責編:zpl05-02)
聲明:
1、凡本網注明“人民交通雜志”/人民交通網,所有自采新聞(含圖片),如需授權轉載應在授權范圍內使用,并注明來源。
2、部分內容轉自其他媒體,轉載目的在于傳遞更多信息,并不代表本網贊同其觀點和對其真實性負責。
3、如因作品內容、版權和其他問題需要同本網聯系的,請在30日內進行。電話:010-67683008
人民交通24小時值班手機:17801261553 商務合作:010-67683008轉602 E-mail:zzs@rmjtzz.com
Copyright 人民交通雜志 All Rights Reserved 版權所有 復制必究 百度統計 地址:北京市豐臺區南三環東路6號A座四層
增值電信業務經營許可證號:京B2-20201704 本刊法律顧問:北京京師(蘭州)律師事務所 李大偉
京公網安備 11010602130064號 京ICP備18014261號-2 廣播電視節目制作經營許可證:(京)字第16597號