翁國川
?
即時通信系統(tǒng)中的音視頻處理技術(shù)
翁國川
極帆迅騰工作室,廣東 珠海 519088
近年來,我國通信系統(tǒng)的發(fā)展越來越成熟,其中,音視頻通信技術(shù)更是發(fā)生了質(zhì)的飛躍,有著明朗的發(fā)展前景。傳統(tǒng)的音視頻通信技術(shù)要想正常運行不僅需要客戶端程序,還需要服務(wù)器以及數(shù)據(jù)庫的幫助。目前利用服務(wù)器來處理問題已經(jīng)不是明智的做法,它與當(dāng)前的用戶需求仍然存在一定的差距。基于此,主要闡述了當(dāng)前音視頻處理技術(shù)的發(fā)展以及它在通信系統(tǒng)中的影響。
通信系統(tǒng);音視頻;處理技術(shù)
隨著互聯(lián)網(wǎng)的不斷發(fā)展,即時通信工具從曾經(jīng)簡單的聊天轉(zhuǎn)變?yōu)榫邆湟粢曨l功能的應(yīng)用程序。我國現(xiàn)在主要運用的音視頻通信方式非常多樣化,如:視頻會議系統(tǒng)、語音通話等。許多通信公司都在爭相往這個方向發(fā)展,同時傳輸服務(wù)質(zhì)量成為了主要的評價指標(biāo)。在整個即時通信系統(tǒng)中,音視頻通信功能的實現(xiàn)離不開視音頻處理框架以及即時通信協(xié)議的存在。這兩者構(gòu)成了這項處理技術(shù)的核心[1]。
1.1 Gstreamer音視頻處理
目前,音視頻主要是運用模塊化的設(shè)計理念來進(jìn)行處理,同時可以更好地構(gòu)建流媒體程序。其中,Gstreamer音視頻的處理原理是先將每一個模塊進(jìn)行封裝,然后再通過元件的方式呈現(xiàn)在用戶面前。用戶在使用的過程中,可以運用庫中的元件來進(jìn)行編程,除此之外,還可以用這種方式來編寫元件,最后進(jìn)入調(diào)用程序。如果僅僅以元件的方式來實現(xiàn)許多功能,編寫應(yīng)用程序也會相應(yīng)簡化,只要采用模塊化方式來進(jìn)行編寫即可。這種音視頻處理是通過局域網(wǎng)來進(jìn)行簡單的多媒體傳送。Gstreamer在傳送視頻數(shù)據(jù)流的過程中,首先要先將采集到的數(shù)據(jù)進(jìn)行色度空間轉(zhuǎn)換,然后再依次進(jìn)行荷頭添加、視頻編碼等步驟,對數(shù)據(jù)進(jìn)行整合的過程發(fā)生在gstrtpbin中,同時要顯現(xiàn)出報告的發(fā)送時間,以便音視頻能夠同時在接收端得到同步播放, 進(jìn)而傳導(dǎo)UDP中。另外,在接收端,由UDP采集到的數(shù)據(jù)要經(jīng)過多個步驟來進(jìn)行解碼,如:數(shù)據(jù)包解析、解碼器解碼等,最終利用插件來將這些數(shù)據(jù)呈現(xiàn)在窗口。其中,會話管理的核心構(gòu)件就是指的是gstrtpbin,它能夠進(jìn)行數(shù)據(jù)包的傳輸、音視頻的分流、傳輸控制等,這些功能讓它在音視頻處理過程中起著重要的作用[2]。
1.2 Farsight視頻處理
在Gstreamer開發(fā)庫中,可以利用基礎(chǔ)元件進(jìn)行音視頻的處理過程,而且能夠在一定的局域網(wǎng)范圍內(nèi)進(jìn)行視頻通信。但是這種處理方式仍然存在一定的局限性,一般情況下,視頻會議的進(jìn)行需要多個多媒體同時進(jìn)行會話,這個過程需要各個多媒體之間要進(jìn)行相互協(xié)調(diào),彼此進(jìn)行良好的配合,實現(xiàn)會話管理,進(jìn)而為高層提供更加便捷的工作方式。而Farsight視頻處理指的是在Gstreamer的基礎(chǔ)之上提出的視頻會議理念,進(jìn)而構(gòu)建出相應(yīng)的框架,它能夠?qū)崿F(xiàn)各個多媒體相互協(xié)調(diào)、配合,有利于插件程序的編寫,另外,還能夠提供API給用戶來調(diào)用插件。當(dāng)高層運用這種方式進(jìn)行音視頻會議的時候,存在一個顯著的優(yōu)勢,能夠保證底層數(shù)據(jù)流的穩(wěn)定以及NAT穿越的問題。為了能夠?qū)崿F(xiàn)視頻會議功能的多媒體框架,F(xiàn)arsight在對元件開發(fā)的時候要注意與Gstreamer元件的整合度,只有當(dāng)整合度越高,視屏?xí)h功能的實現(xiàn)才能更有保障。Farsight中包括多路音視頻會話流,里面存在許多會話參與者,使得音視頻會話管理的功能更加強(qiáng)大。采用模塊化設(shè)計的方式來實現(xiàn)通信軟件的音視頻服務(wù),為多媒體處理提供了更廣闊的渠道,同時使得視頻會議功能能夠?qū)崿F(xiàn)不斷地發(fā)展。就目前情況而言,大多數(shù)即時通信客戶端都是采用這種處理方式來實現(xiàn)音視頻通信。
為了創(chuàng)造出更便捷地開發(fā)方法,一些軟件開發(fā)者開始將帶有圖形的用戶界面與通信部分進(jìn)行分離,將它們的核心代碼提煉出來,成為通信客戶端開發(fā)的重要組成部分,俗稱Libpurple?,F(xiàn)如今,Adium與Proteus這些客戶端都采用這個程序庫。他們先完成分離工作,再將自己的圖形程序添加進(jìn)去,形成一個新的客戶端接口。在Libpurple中,多媒體通信成為最主要的目標(biāo),所以軟件開發(fā)者要Udine整個處理框架進(jìn)行稍微地處理,繼承和封裝。并通過即時通信協(xié)議,來為用戶提供使用接口。同時用戶可以通過應(yīng)用程序接口的方式來進(jìn)行程序的編寫,從而完成網(wǎng)絡(luò)層與網(wǎng)絡(luò)層之間的銜接。除此之外,程序操作者還可以直接通過Libpurple來編寫程序的核心代碼,進(jìn)而完成整個應(yīng)用程序的建設(shè)。而且Libpurple實現(xiàn)的即時通信協(xié)議非常多樣化,如: MSN、AIM等。并且對于媒體后端流處理的協(xié)同工作也能夠順利完成。Libpurple是以實現(xiàn)具有自身特色的流媒體模式為主要目標(biāo)來進(jìn)行開發(fā),但是要想完成這個目標(biāo)需要站在Farsight的基礎(chǔ)上來進(jìn)行設(shè)計。
在Jingle協(xié)議中規(guī)定了RTP通信的許多標(biāo)準(zhǔn),同時為用戶提供了兩種不同的數(shù)據(jù)通道,RAWUDP和ICE—。注意要根據(jù)具體的視頻通信情況來選擇數(shù)據(jù)通道,程序的不同會導(dǎo)致對通道的選擇不同。為了讓音視頻通信進(jìn)行地更加順利,Libpurple需要在原有的基礎(chǔ)上構(gòu)建一個新的組件對象酬emedia,再利用這個對象來對Farsight組件中參數(shù)信息進(jìn)行提取,提煉出精簡的、有用的信息,如傳送目的地址、解碼器信息等。在完成這個步驟之后,將過濾后的信息傳遞給Jingle協(xié)議,進(jìn)而不斷地在通道內(nèi)對協(xié)議進(jìn)行完善。當(dāng)出現(xiàn)新的即時通信協(xié)議時,要利用Farsight完成視頻通信,此時,開發(fā)者通常都是以Libpurple為前提進(jìn)行開發(fā),結(jié)束后再進(jìn)行移植,實現(xiàn)完整的視頻通信。
綜上所述,以當(dāng)前的形勢來看,即時通信系統(tǒng)的出現(xiàn)十分頻繁,如:騰訊、Skype等通信公司都具備一個完整的系統(tǒng)框架。一般情況下,開源特性較強(qiáng)的即時通信開發(fā)速度比較快,重視技術(shù)的發(fā)展,不斷更新技術(shù),進(jìn)而為用戶創(chuàng)造一個富有個性化的應(yīng)用模式。而音視頻處理在即時通信系統(tǒng)中顯得尤為重要,其中以Farsight/Gstreamer音視頻處理框架是實現(xiàn)多媒體通信的重要技術(shù)基礎(chǔ),它能夠讓音視頻通信工作變得簡單化。目前我國的這項技術(shù)在通信系統(tǒng)中的應(yīng)用還不夠成熟,還需要一段時間進(jìn)行磨合,所以相關(guān)的研究人員必須要加大研究力度,提高兩者的整合度,相互促進(jìn),相互發(fā)展。
[1]張晨. 關(guān)于即時通信系統(tǒng)的相關(guān)研究[J]. 中國科技縱橫,2016(1):55.
[2]劉克軒. 基于FPGA和DSP的音視頻采集處理系統(tǒng)設(shè)計[J]. 電子器件,2016(3):32.
Audio and Video Processing Technology in Instant Communication System
Wengguochuan
Jifan xunteng studio, Guangdong Zhuhai 519088
In recent years, the development of communication system in our country is more and more mature, among them, the audio and video communication technology has been a qualitative leap, has a bright future. The traditional audio and video communication technology to normal operation not only needs the client program, but also need the help of the server and the database. At present, it is not wise to use the server to deal with the problem, it still has a certain gap with the current user needs. This paper mainly expounds the development of the current audio and video processing technology and its impact on the communication system.
communication system; audio and video; processing technology
TN912.3
A
1009-6434(2016)10-0089-02
翁國川(1994—),男,漢族,籍貫為廣東省潮州市,學(xué)歷本科,研究方向為軟件音視頻通信,圖像處理。