胡紅明
【摘要】? ? H.264/AVC是新一代的視頻編碼標(biāo)準(zhǔn),通常是將視頻編碼和傳輸分開,從而形成了VCL(視頻編碼層)和NAL(網(wǎng)絡(luò)提取層)。其中VCL在實際應(yīng)用過程中起到的主要作用就是對視頻進(jìn)行高質(zhì)量壓縮,而NAL起到的作用就是通過對網(wǎng)絡(luò)環(huán)境情況的合理分析,將經(jīng)過壓縮的數(shù)據(jù),進(jìn)行分裝傳輸,為視頻信息內(nèi)容傳輸提供一個良好的網(wǎng)絡(luò)環(huán)境。下面,針對RTP的H.264視頻傳輸技術(shù)進(jìn)行深入分析,希望文中內(nèi)容對相關(guān)工作人員可以有所幫助,能夠促進(jìn)整個行業(yè)的發(fā)展。
【關(guān)鍵詞】? ? 視頻傳輸? ? RTP? ? 編碼技術(shù)? ? 傳輸質(zhì)量
近幾年,互聯(lián)網(wǎng)技術(shù)得到了飛速發(fā)展,其在許多行業(yè)中都得到了廣泛應(yīng)用,具有不錯的應(yīng)用空間和發(fā)展?jié)摿ΑT诨ヂ?lián)網(wǎng)快速發(fā)展的背景下,數(shù)字視頻技術(shù)如何在IP網(wǎng)絡(luò)上傳輸成為了一項需要人們重點(diǎn)研究的內(nèi)容。H.264其在實際應(yīng)用過程中性能優(yōu)異,因此被廣泛的應(yīng)用到了數(shù)字電視廣播、網(wǎng)絡(luò)視頻、實施通訊等多個方面。
一、H.264在應(yīng)用過程中的特點(diǎn)
H.264其具有良好的壓縮性能,同時還具有良好的網(wǎng)絡(luò)親和性,也因為其具有這一特點(diǎn),使其在網(wǎng)絡(luò)中能夠發(fā)揮出良好的作用。近幾年,我國網(wǎng)絡(luò)技術(shù)得到了飛速發(fā)展,同時,隨著人們生活水平的提高,人們對視頻通訊也提出更高的要求,其也得到了更加廣泛的應(yīng)用。例如,遠(yuǎn)程教學(xué)、視頻會議等[1]。從實際情況來看,在視頻信息傳輸期間,受多項因素影響,可能會因為IP數(shù)據(jù)流發(fā)生突發(fā)性改變,產(chǎn)生不良影響。例如,當(dāng)流量過大時,網(wǎng)絡(luò)會出現(xiàn)擁堵情況,此時則會出現(xiàn)誤碼、丟包等各種不良現(xiàn)象,從而會導(dǎo)致傳輸?shù)囊曨l圖像中出現(xiàn)大量的方塊,這種視頻質(zhì)量是人們難以接受的[2]。因此, 針對視頻傳輸技術(shù)來說,不僅要求其在應(yīng)用期間具有較高的壓縮比,而且,還應(yīng)當(dāng)能夠在惡劣的條件的完成相應(yīng)的傳輸作業(yè),而H.264具有抗阻塞、抗誤碼的健壯性,因此,通過對其的應(yīng)用,能夠很好的完成視頻傳輸。
二、選取視頻傳輸協(xié)議
RTP作為應(yīng)用型傳輸協(xié)議,其不提供傳輸可靠性保證,以及流量擁塞控制機(jī)制,其位于User Datagram Protoco(UDP)上。主要研究人員注意的是UDP在是實際應(yīng)用期間,其在性能上不如TCP可靠,同時,也不能確保實時業(yè)務(wù)的質(zhì)量可以達(dá)到相應(yīng)的標(biāo)準(zhǔn),因此,需要RTCP實施監(jiān)控數(shù)據(jù)傳輸,以及相應(yīng)的服務(wù)質(zhì)量,確保視頻傳輸作業(yè)的順利進(jìn)行。但是,因為UDP傳輸時延要明顯低于TCP,同時,可以很好的與視頻和音頻進(jìn)行配合[3]。因此,在在具體應(yīng)用過程中RTP/RTCP/UDP用于音頻/視頻媒體,而TCP則被應(yīng)用在數(shù)據(jù)和控制信令傳輸。
RTP是針對互聯(lián)網(wǎng)中媒體數(shù)據(jù)流的一項傳協(xié)議?,F(xiàn)代RTP被定義為一對多或一對一傳輸情況下工作,對其進(jìn)行應(yīng)用的目的就是提供時間信息,同時,確保現(xiàn)實流能保持同步,更好的完成相應(yīng)的視頻信息準(zhǔn)確傳輸。RTP自身只能夠確保信息內(nèi)容數(shù)據(jù)傳輸?shù)臏?zhǔn)確性,并不能夠?qū)崿F(xiàn)擁塞控制或流量控制,在對RTP進(jìn)行應(yīng)用,以上各項內(nèi)容的實現(xiàn)都要依據(jù)RTCP。
RTCP的起到的主要作用就是對傳輸質(zhì)量進(jìn)行管理,在目前的進(jìn)程中,完成對各項控制信息內(nèi)容的合理交換。在RTP會話過程中,參與者就可以通過周期性的方式,完成對RTCP包的傳送,包中包含了已經(jīng)發(fā)送的數(shù)據(jù)包的具體數(shù)量信息內(nèi)容,以及丟失的數(shù)據(jù)包的數(shù)量等多項統(tǒng)計資料信息[4]。因此,在該期間,服務(wù)器可以通過對這些信息的合理應(yīng)用,通過動態(tài)的方式,使信息的傳輸速率發(fā)生合理改變,甚至可以使有效荷載類型發(fā)生合理改變。合理的配合應(yīng)用RTP和RTCP,可以很好的完成實時數(shù)據(jù)傳輸工作。也正式因為如此,在網(wǎng)絡(luò)傳輸中,采用RTP/RTCP協(xié)議,承載在UDP協(xié)議上,最后利用IP完成相應(yīng)的傳輸。
三、H.264視頻封裝及傳輸設(shè)計
3.1 H.264視頻流封裝方案
H.264視頻數(shù)據(jù)要先利用RTP封裝,將其數(shù)據(jù)信息進(jìn)行打包處理,從而形成合適的網(wǎng)絡(luò)傳輸大數(shù)據(jù)包,然后再完成相應(yīng)的傳輸作業(yè),可見,在對H.264進(jìn)行應(yīng)用期間,做好相應(yīng)的分析工作,設(shè)計出何時的RTP封裝策略,然后實現(xiàn)對視頻數(shù)據(jù)的合理封裝意義重大[5]。
通常來說,H.264中,RTP封裝要嚴(yán)格遵循下列原則:
(1)保持相對較低的開銷,因此,對于傳輸最大單元(MTU)來說,應(yīng)當(dāng)將其控制在100-64K字節(jié)間。
(2)注重易于區(qū)分分組的重要性,并且在實際作業(yè)期間,不必對分組內(nèi)的數(shù)據(jù)進(jìn)行解碼。
(3)應(yīng)當(dāng)可以對數(shù)據(jù)的具體類型進(jìn)行準(zhǔn)確檢測,不必要對整個數(shù)據(jù)流進(jìn)行解碼,并且可以可以通過對編碼流間相關(guān)性,將無用數(shù)據(jù)信息丟棄,不會對其在應(yīng)用過程中的具體性能造成不良影響。
(4)支持將一個NALU拆分成多個RTP:輸入圖片的不同大小決定了NALU的長度與MTU相比,可能大很多,在具體問題處理過程中,只有對其進(jìn)行拆分,才可以有效避免IP層在傳輸期間發(fā)生分片情況[6]。
(5)可以將不同的NALU匯集到通過一個RTP分組中,通常來說,等多個圖片編碼的整體數(shù)據(jù)與MTU相比更小,可以對該模式進(jìn)行應(yīng)用,進(jìn)而達(dá)到提升網(wǎng)絡(luò)傳輸效率的目的。
3.1.1 分割NAL單元
分割NAL單元時,可以通過對多個RTP分組進(jìn)行合理應(yīng)用,完成相應(yīng)的傳輸工作。依據(jù)IP層MTU的實際大小完成相應(yīng)的分析,針對尺寸相對較大的NALU來說,對其必須進(jìn)行相應(yīng)的分割處理,實際分割可以在兩個不同的層次上完成。
(1)視頻編碼層VCL上的科學(xué)分割
為了能夠跟好的適應(yīng)網(wǎng)絡(luò)MTU尺寸,可以采用編碼器完成Slice NALU大小的選擇的,進(jìn)而使其在具體應(yīng)用期間能夠提供更好的性能。通常來說,調(diào)整編碼Slice大小,保持其大小適中都可以被控制在1460字節(jié)以內(nèi),通過該處理方式,避免IP層遭受分割[7]。
(2)分割提出層NAL
針對網(wǎng)絡(luò)層上的NALU進(jìn)行分割處理,實際作業(yè)中的具體工作就是對分片單元方案進(jìn)行進(jìn)行應(yīng)用,完成相應(yīng)的分割操作。H.264標(biāo)準(zhǔn)匯中對分割機(jī)制進(jìn)行了明確,可以讓NAL單元尺寸的大小適中都小于1460字節(jié)。需要特別注意的是,該方在具體應(yīng)用期間,只是針對同一個NAL單元進(jìn)行,完成相應(yīng)的分割,并不可以將其應(yīng)用在聚合分組中[8]。對于一個NAL單元來說,完成相應(yīng)的分割分組后,對于每個RTP分組序列號來說,都應(yīng)當(dāng)加1。
3.1.2 NAL單元重組
將多個NAL單元聚合在同一個RTP分組中。一些H.264的NAL單元的具體大小,例如SEL NAL單元、參數(shù)集都很小,一些只有幾個字節(jié),因此,印度剛激昂這些內(nèi)容合理的組合在同一個RTP包中,通過這種組合方式,可以有效減小標(biāo)頭的具體開銷情況。從現(xiàn)階段的情況來看,常見的聚合分組有以下兩種類型:
①STAP(單一時間聚合分組)
該類型的聚合分組主要包括單一時間聚合分組A(STAP-A)和單一時間聚合分組B(STAP-B),依據(jù)時間戳完成相應(yīng)的組合,他們的NAL單元有著相同的時間戳,通常該聚合分組方式被應(yīng)用在延遲相對較低的環(huán)境匯總,并且從實際應(yīng)用情況來看,也取得了不錯的應(yīng)用效果。
②MTAP(多時間聚合分組)
該類型的分組主要分為兩種不同類型的多時間聚合分組,分比為MTAP16(16比特偏移時間聚合分組)和MTAP24(24比特偏移時間聚合分組),兩種不同類型的分組中不同的時間戳也可以完成相應(yīng)的組合,該方式通常都別應(yīng)用在網(wǎng)絡(luò)延遲相對較高的環(huán)境中,例如,經(jīng)常被應(yīng)用在流媒體中,而且從實際應(yīng)用情況來看,也取得了不錯的應(yīng)用效果。需要注意的是這種聚合分組方式的具體打包方案相對來說較為復(fù)雜,其使基于流媒體的H.264性能得到進(jìn)一步加強(qiáng),可以發(fā)揮出更好的作用,滿足應(yīng)用需求。
3.1.3 分裝設(shè)計
針對分裝設(shè)計來說,要從RTP包裝和RTCP包裝設(shè)計兩個方面入手,通過分析,確定分裝頭部數(shù)據(jù)結(jié)構(gòu),然后完成相應(yīng)的包裝處理,使其可以滿足應(yīng)用需求。
3.2 傳輸設(shè)計思想
3.2.1 服務(wù)器端
針對H.264視頻的分裝、發(fā)送、相應(yīng)等各項請求進(jìn)行合理設(shè)計。在實際設(shè)計過程中,要對H.264視頻中的NAL單元網(wǎng)絡(luò)友好性記性合理應(yīng)用,制定一個合理的RTP封裝方式,同時,在哦服務(wù)器端加設(shè)一個緩沖區(qū),通過對該緩沖區(qū)的應(yīng)用,使服務(wù)器在應(yīng)用期間的處理能力可以得到進(jìn)一步提升,確保視頻傳輸質(zhì)量能夠得到要求標(biāo)準(zhǔn)。
3.2.2 網(wǎng)絡(luò)傳輸
通過對服務(wù)器端的應(yīng)用,完成對RTCP、RTP數(shù)據(jù)包的發(fā)送,各項內(nèi)容在IP層上完成相應(yīng)的封裝,然后將封裝后的信息傳輸?shù)骄W(wǎng)上,最終將信息傳輸給客戶。
3.2.3 客戶端
客戶端的核心作用就是接收視頻流,同時,完成相應(yīng)的解碼播放,使客戶能夠接收到相應(yīng)的視頻信息。
四、結(jié)束語
隨著互聯(lián)網(wǎng)技術(shù)和多媒體技術(shù)的飛速發(fā)展,實時視頻通信成為了現(xiàn)代網(wǎng)絡(luò)中應(yīng)用的一項焦點(diǎn)內(nèi)容。H.264視頻自身具有的友好性網(wǎng)絡(luò)適宜性和壓縮性,使該項技術(shù)的應(yīng)用變得更加廣泛,并且得到了人們的重視,做好相應(yīng)的研究工作,使其作用可以得到進(jìn)一步提升,滿足人們的應(yīng)用需求。
參? 考? 文? 獻(xiàn)
[1]游張華.基于ZigBee和H.264的無線視頻傳輸系統(tǒng)的設(shè)計與實現(xiàn)[J].微型機(jī)與應(yīng)用,2016,35(24):54-56+60.
[2]余波,徐文磊,熊強(qiáng)強(qiáng).基于H.265的無線數(shù)字音視頻傳輸系統(tǒng)設(shè)計[J].九江學(xué)院學(xué)報(自然科學(xué)版),2019, 34(01):49-52.
[3]楊軍.基于H.264的視頻數(shù)據(jù)傳輸及解碼技術(shù)研究與設(shè)計[J].信息通信,2015(07):56-57.
[4]陳嵐,鮑可進(jìn).基于S3C6410和3G的無線視頻傳輸系統(tǒng)的設(shè)計與實現(xiàn)[J].無線通信技術(shù),2014,23(02):42-46.
[5]楊芳,傅民倉.基于H.264編解碼技術(shù)的視頻網(wǎng)絡(luò)傳輸[J].科技視界,2013(32):96.
[6]葉萄,任礬.基于H.264視頻編碼技術(shù)的高清視頻系統(tǒng)概述[J].科技廣場,2013(08):43-45.
[7]徐寧,孟凡榮,孫洋.基于H.264的E1標(biāo)準(zhǔn)下的視頻傳輸技術(shù)改進(jìn)研究[J].艦船電子工程,2012,32(12):68-71+100.
[8]沈歡,彭力,王皓,等.基于ARM11的H.264硬編解碼視頻傳輸系統(tǒng)設(shè)計[J].計算機(jī)測量與控制,2018, 26(05):120-124.