孫向輝,江志峰
(中國電信股份有限公司北京研究院 北京 100035)
隨著現(xiàn)代通信技術(shù)和業(yè)務(wù)的發(fā)展,人們對通信的需求已經(jīng)由最初的單一語音需求轉(zhuǎn)變?yōu)閷σ粢曨l的綜合需求。尤其是最近幾年,企業(yè)級的視頻通信、視頻會議業(yè)務(wù)得到了很大發(fā)展,幫助企業(yè)降低了出行費用,提高了溝通效率。電信運營商也逐漸面向個人和家庭提供視頻通信業(yè)務(wù),而寬帶提速計劃也為視頻通信業(yè)務(wù)提供了保障。
目前的視頻通信系統(tǒng),按照系統(tǒng)實現(xiàn)方案劃分,主要包括以下幾種。
·專用硬件MCU(multi control unit)的方式。MCU設(shè)備位于網(wǎng)絡(luò)中央,所有終端的視頻流都必須送至MCU進(jìn)行處理,然后再由MCU發(fā)送至各個終端,這種方式下,MCU很容易成為瓶頸,而且MCU投資較高。這類系統(tǒng)主要是一些企業(yè)級的高清視頻會議系統(tǒng),例如思科網(wǎng)真、華為ViewPoint等。
·軟件客戶端方式。完全在終端使用軟件進(jìn)行視頻編解碼處理,終端之間完全基于互聯(lián)網(wǎng)進(jìn)行傳輸,例如目前一些IM所自帶的視頻通信功能。這種基于互聯(lián)網(wǎng)傳輸?shù)姆绞?,會?dǎo)致視頻傳輸質(zhì)量不能保證,用戶體驗不高。
·軟件MCU方式。目前一些互聯(lián)網(wǎng)視頻會議系統(tǒng)廠商,使用了基于通用服務(wù)器的軟件MCU結(jié)構(gòu),所有終端的視頻流都需要經(jīng)過這些服務(wù)器上的軟件模塊進(jìn)行轉(zhuǎn)發(fā),雖然這些通用服務(wù)器的成本較低,但是在大規(guī)模部署時,也會有系統(tǒng)瓶頸問題以及部署成本問題。
從上面3種方式看,視頻流的傳輸和處理在視頻通信業(yè)務(wù)中占有非常關(guān)鍵的位置。如果采用集中式的MCU方式進(jìn)行視頻流傳輸和處理,會容易形成系統(tǒng)瓶頸、可擴展性差;如果面向全網(wǎng)開展視頻通信/會議業(yè)務(wù),則成本很高;如果視頻流的傳輸完全基于開放的互聯(lián)網(wǎng),則視頻質(zhì)量難以保證。目前有一些論文和專利[1,2]提出一些新的解決方法,比如使用IP層組播或者應(yīng)用層的組播技術(shù)進(jìn)行多方視頻通信的視頻流傳輸,但是,在目前的互聯(lián)網(wǎng)中,IP層組播沒有大規(guī)模部署;應(yīng)用層組播的方式,其實質(zhì)也是視頻流基于互聯(lián)網(wǎng)進(jìn)行傳輸,依然不能保證視頻傳輸質(zhì)量。
目前在國內(nèi),互聯(lián)網(wǎng)上已經(jīng)部署了大量的內(nèi)容分發(fā)網(wǎng)絡(luò)(content delivery network,CDN),一些規(guī)模較大的內(nèi)容分發(fā)網(wǎng)絡(luò)已經(jīng)覆蓋了絕大部分互聯(lián)網(wǎng)用戶,為用戶提供較高質(zhì)量的點播/直播業(yè)務(wù)的視頻傳輸。本文提出一種基于內(nèi)容分發(fā)網(wǎng)絡(luò)的視頻通信系統(tǒng)架構(gòu),使用內(nèi)容分發(fā)網(wǎng)絡(luò)中的視頻直播技術(shù)來承載視頻通信的視頻流傳輸,一方面可以利用內(nèi)容分發(fā)網(wǎng)絡(luò)的良好可擴展性,為視頻通信中的視頻流提供傳輸保證,并且不會產(chǎn)生系統(tǒng)瓶頸;另一方面,無需為視頻通信新建系統(tǒng)或者設(shè)備,只需在現(xiàn)有的內(nèi)容分發(fā)網(wǎng)絡(luò)基礎(chǔ)上進(jìn)行升級即可。
在傳統(tǒng)的直播系統(tǒng)中,用戶直接從直播源服務(wù)器獲取直播內(nèi)容,由于用戶和直播源服務(wù)器通常不在一個網(wǎng)絡(luò)中,直播流需要經(jīng)過多個網(wǎng)絡(luò)進(jìn)行傳輸,復(fù)雜的網(wǎng)絡(luò)環(huán)境無法自行保證直播流的網(wǎng)絡(luò)傳輸,因此,傳統(tǒng)的直播系統(tǒng)無法保證用戶體驗,通常只能用于低碼率的直播流傳送。內(nèi)容分發(fā)網(wǎng)絡(luò)為直播業(yè)務(wù)提供了保證,內(nèi)容分發(fā)網(wǎng)絡(luò)在目前的網(wǎng)絡(luò)上部署了大量服務(wù)器簇,通過租用或者自建網(wǎng)絡(luò)連接,將這些服務(wù)器簇連接在一起,并制定了一套流量調(diào)度系統(tǒng),在服務(wù)器之間根據(jù)策略進(jìn)行流量的傳輸調(diào)度。在直播業(yè)務(wù)中,通過內(nèi)容分發(fā)系統(tǒng),可以直接將直播流傳輸至邊緣服務(wù)器,這個傳輸是有帶寬和延時保證的,用戶只需要從離自己最近的邊緣服務(wù)器請求直播流即可。
圖1為目前內(nèi)容分發(fā)網(wǎng)絡(luò)在提供直播業(yè)務(wù)時的架構(gòu)圖。通常 ICP(Internet content provider)提供直播源,然后使用內(nèi)容分發(fā)網(wǎng)絡(luò)的直播業(yè)務(wù),將直播視頻流送至終端側(cè);主界面為ICP提供的內(nèi)容展示界面,用戶通過這個界面可以看到直播內(nèi)容列表,并選擇相應(yīng)的直播內(nèi)容;內(nèi)容分發(fā)網(wǎng)絡(luò)的DNS服務(wù)器(CDN-DNS)將用戶的直播請求定位至相應(yīng)的邊緣服務(wù)器上。內(nèi)容分發(fā)網(wǎng)絡(luò)提供直播業(yè)務(wù)時,業(yè)務(wù)流是以樹形結(jié)構(gòu)從內(nèi)容源分發(fā)至邊緣服務(wù)器上。目前,由于直播業(yè)務(wù)主要用于ICP的直播內(nèi)容分發(fā),因此通常全網(wǎng)只有少數(shù)幾個注入服務(wù)器供直播內(nèi)容的上傳注入。其中內(nèi)容注入流程和用戶請求流程分別描述如下。
圖1 目前的內(nèi)容分發(fā)網(wǎng)絡(luò)直播業(yè)務(wù)架構(gòu)
(1)內(nèi)容注入流程
直播源向內(nèi)容分發(fā)系統(tǒng)請求注入直播流,系統(tǒng)向直播源返回請求結(jié)果。如果系統(tǒng)允許注入,則向直播源分配注入的網(wǎng)絡(luò)地址和端口,隨后,直播源將直播視頻流發(fā)送至系統(tǒng)中的注入服務(wù)器上。同時,該直播流在內(nèi)容分發(fā)系統(tǒng)中進(jìn)行注冊。直播源服務(wù)商的主界面頁面上會出現(xiàn)該直播流的信息,對應(yīng)的鏈接指向該直播流在內(nèi)容分發(fā)網(wǎng)絡(luò)中的地址。
(2)用戶請求流程
當(dāng)用戶想要觀看該直播內(nèi)容時,首先用戶需要訪問ICP提供的直播內(nèi)容主界面,點擊某個直播內(nèi)容鏈接,然后用戶域內(nèi)的DNS服務(wù)器將這個鏈接解析至CDN-DNS上,最后CDN-DNS將用戶請求解析至離用戶最近的邊緣服務(wù)器上。這時,用戶直接向該邊緣服務(wù)器請求直播內(nèi)容。如果這時該邊緣服務(wù)器沒有這個直播內(nèi)容,該邊緣服務(wù)器則向內(nèi)容分發(fā)網(wǎng)絡(luò)請求該直播視頻流,然后將直播視頻流轉(zhuǎn)發(fā)至最終的終端用戶。
利用內(nèi)容分發(fā)網(wǎng)絡(luò)的優(yōu)勢,直播業(yè)務(wù)可以將直播視頻流有保證地從直播源傳送至用戶側(cè)的邊緣服務(wù)器上,但是目前的內(nèi)容分發(fā)網(wǎng)絡(luò)系統(tǒng)中,由于只面向ICP提供直播分發(fā)服務(wù),因此直播內(nèi)容注入服務(wù)器較少,普通終端用戶不能使用直播內(nèi)容注入業(yè)務(wù)。在筆者提出的架構(gòu)中,增加注入服務(wù)器的數(shù)量,并盡量分布至離用戶較近的網(wǎng)絡(luò)邊緣,開放直播內(nèi)容注入接口,使終端用戶也可以通過注入服務(wù)器將自己的實時視頻流注入至內(nèi)容分發(fā)網(wǎng)絡(luò)中,并通過內(nèi)容分發(fā)網(wǎng)絡(luò)傳送至其他終端用戶處,從而達(dá)到實現(xiàn)視頻通信的目的。基于內(nèi)容分發(fā)網(wǎng)絡(luò)的視頻通信系統(tǒng),不僅可以利用內(nèi)容分發(fā)網(wǎng)絡(luò)的可擴展性高的特性,而且投資小,同時為內(nèi)容分發(fā)網(wǎng)絡(luò)增加了新的業(yè)務(wù)類型。為此需要對當(dāng)前的內(nèi)容分發(fā)網(wǎng)絡(luò)進(jìn)行一些改進(jìn),§3主要介紹改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)以及流程。
本章介紹基于內(nèi)容分發(fā)網(wǎng)絡(luò)直播技術(shù)的視頻通信系統(tǒng)架構(gòu)設(shè)計,本系統(tǒng)既支持一方對一方的視頻通信,也支持多方對多方的視頻通信,同時也支持一方對多方的視頻會議應(yīng)用。
為了基于內(nèi)容分發(fā)網(wǎng)絡(luò)提供視頻通信應(yīng)用,首先需要增加當(dāng)前的內(nèi)容分發(fā)網(wǎng)絡(luò)中的注入服務(wù)器數(shù)量,在視頻通信業(yè)務(wù)中,用戶需要同時接收和發(fā)送視頻流,因此要利用當(dāng)前的內(nèi)容分發(fā)網(wǎng)絡(luò)提供視頻通信業(yè)務(wù),就需要增加直播流注入服務(wù)器的數(shù)量,以保證用戶向內(nèi)容分發(fā)網(wǎng)絡(luò)注入實時視頻流;其次,需要將注入服務(wù)器分布至離終端用戶近的網(wǎng)絡(luò)邊緣,由于視頻通信的用戶分布在各地,因此,直播流注入服務(wù)器應(yīng)該盡可能地分散。實際上,目前的注入服務(wù)器也是基于通用服務(wù)器使用軟件實現(xiàn),因此,可以在當(dāng)前已經(jīng)部署的邊緣服務(wù)器上添加軟件模塊實現(xiàn)注入服務(wù)器功能。如圖2所示,在邊緣服務(wù)器上添加邊緣注入服務(wù)器模塊。
在系統(tǒng)中,使用SIP[3]協(xié)議處理用戶和系統(tǒng)之間的呼叫信令。利用SIP的呈現(xiàn)功能顯示用戶的好友列表,通過列表可以向好友發(fā)起視頻通信呼叫[4]。
圖2 支持用戶側(cè)視頻流上傳的內(nèi)容分發(fā)系統(tǒng)
本節(jié)介紹實時視頻流注入至內(nèi)容分發(fā)網(wǎng)絡(luò)中的處理流程。在傳統(tǒng)內(nèi)容分發(fā)網(wǎng)絡(luò)中,媒體流的地址都以統(tǒng)一資源定位符(uniform resource locator,URL)的形式進(jìn)行標(biāo)識。在本文提出的架構(gòu)中,系統(tǒng)中增加了邊緣注入服務(wù)器,用于接收終端用戶上傳的視頻通信流,使用UP_URL地址來標(biāo)識在邊緣注入服務(wù)器上接收終端用戶視頻流的地址。用戶向UP_URL地址發(fā)送視頻流。在傳統(tǒng)內(nèi)容分發(fā)網(wǎng)絡(luò)的直播應(yīng)用中,這個UP_URL地址相當(dāng)于內(nèi)容分發(fā)系統(tǒng)分配給ISP用于直播內(nèi)容注入的地址。圖3給出了添加邊緣注入服務(wù)器后的內(nèi)容分發(fā)系統(tǒng)中,用戶側(cè)視頻流上傳的流程。
用戶實時視頻流注入流程如下:
(1)終端向系統(tǒng)中的“直播管理服務(wù)器”發(fā)送實時視頻流注入請求;
圖3 用戶側(cè)視頻流上傳流程
(2)直播管理服務(wù)器確定用戶所屬的邊緣注入服務(wù)器,并和該服務(wù)器協(xié)商資源狀況,同時生成在內(nèi)容分發(fā)網(wǎng)絡(luò)中該直播流對應(yīng)的惟一UP_URL;
(3)直播管理服務(wù)器向終端返回UP_URL;
(4)終端根據(jù)直播管理服務(wù)器指定的地址信息,將直播流直接發(fā)送至相應(yīng)的邊緣注入服務(wù)器的UP_URL上。
本節(jié)給出具體內(nèi)容分發(fā)網(wǎng)絡(luò)中視頻通信的流程,包括登錄流程、兩方視頻通信流程以及三方視頻通信流程。
(1)登錄
在用戶終端上需要安裝客戶端軟件,用戶在發(fā)起視頻通信前,需要先進(jìn)行登錄操作。在正常登錄后,聯(lián)系人列表中會列出當(dāng)前可以進(jìn)行視頻呼叫的用戶名單。
UP_URL也會被保存在SIP服務(wù)器上,作為該用戶在SIP服務(wù)器上保存的用戶信息的其中一個屬性。
(2)視頻通信呼叫(兩方)
在進(jìn)行兩方參與的視頻通信呼叫中,用戶A和用戶B在成功登錄后,用戶A向用戶B發(fā)起視頻呼叫。其流程如圖4所示。
(3)視頻通信呼叫(三方)
在三方或者更多方場景下,由主叫一方發(fā)起三方或多方視頻通信,可由主叫一方選擇另外幾方之間是否也進(jìn)行視頻通信,其流程如圖5所示。
本方案的三方/多方視頻通信中的視頻流都是相互獨立的,用戶可以提前設(shè)定策略或者自行選擇和任意一方建立視頻通信。
通過使用內(nèi)容分發(fā)網(wǎng)絡(luò)直播應(yīng)用進(jìn)行視頻通信,與其他視頻通信方式相比,具有以下優(yōu)勢。
·與集中式MCU方式相比,采用內(nèi)容分發(fā)網(wǎng)絡(luò)進(jìn)行視頻傳輸,無需額外部署專用的、昂貴的MCU設(shè)備,而且內(nèi)容分發(fā)網(wǎng)絡(luò)可擴展性好,可以很大程度避免網(wǎng)絡(luò)中的單點故障。內(nèi)容分發(fā)網(wǎng)絡(luò)已經(jīng)在目前的互聯(lián)網(wǎng)上廣泛部署和使用,可以保證視頻分發(fā)規(guī)模和傳送的穩(wěn)定性。
·與完全的軟件客戶端方式相比,采用內(nèi)容分發(fā)網(wǎng)絡(luò)進(jìn)行視頻傳輸,充分利用了內(nèi)容分發(fā)網(wǎng)絡(luò)可以很好地保證視頻流傳輸?shù)葍?yōu)勢,視頻流不再完全基于互聯(lián)網(wǎng)進(jìn)行傳輸,在視頻傳輸質(zhì)量上有較好的保證。使用基于內(nèi)容分發(fā)網(wǎng)絡(luò)進(jìn)行視頻通信也有以下特點。
·無需新建系統(tǒng),只需對現(xiàn)有的內(nèi)容分發(fā)網(wǎng)絡(luò)進(jìn)行簡單軟件升級,也相當(dāng)于擴展現(xiàn)有內(nèi)容分發(fā)網(wǎng)絡(luò)的功能和業(yè)務(wù);同時,無需為上行視頻流預(yù)留獨立的計算能力,在邊緣服務(wù)器上,下行視頻流和上行視頻流的計算和處理可以共用底層計算資源。
·在多方應(yīng)用中,每個視頻流都是獨立的,用戶可以根據(jù)需要進(jìn)行靈活組合或者控制視頻流的狀況。
·網(wǎng)絡(luò)中不再有專門的設(shè)備處理編解碼及混頻功能,所有的編解碼都在終端實現(xiàn)。需要終端支持多路視頻流的編解碼。
基于內(nèi)容分發(fā)網(wǎng)絡(luò)開發(fā)了視頻通信的初步原型系統(tǒng)。在驗證系統(tǒng)中,采用語音流和視頻流分離的方式,視頻通過內(nèi)容分發(fā)網(wǎng)絡(luò)承載,語音通過協(xié)同通信平臺承載,具體說明如下。
·HMDN[5],北京塞維安訊公司的內(nèi)容分發(fā)網(wǎng)絡(luò)系統(tǒng),本驗證系統(tǒng)使用HMDN承載視頻流的傳輸。
圖4 兩方視頻通信呼叫建立流程
圖5 三方視頻通信呼叫建立流程
·ES(edge server),HMDN系統(tǒng)中的邊緣服務(wù)器,在驗證系統(tǒng)中進(jìn)行了模塊功能改進(jìn)。
·中國電信集團公司協(xié)同通信語音平臺[6],該平臺可以實現(xiàn)電話會議功能,在本驗證系統(tǒng)中用于語音的混音和呼叫處理,通過點擊撥號業(yè)務(wù)綁定用戶手機。
·用戶終端,使用低成本、嵌入式IP機頂盒,支持基于硬件的視頻編解碼功能,攝像頭為普通VGA攝像頭(支持 640 dpi×480 dpi),通過 USB 與機頂盒連接。
在演示系統(tǒng)中,用戶通過遙控器操作機頂盒來發(fā)起呼叫。3個機頂盒放置在兩個地點,其中兩個終端在中國電信集團公司北京研究院實驗室內(nèi),另一個放在塞維安訊公司內(nèi),經(jīng)過測試,本系統(tǒng)視頻質(zhì)量可以達(dá)到VGA水平,經(jīng)過與MSN視頻通信對比,視頻質(zhì)量優(yōu)于MSN視頻通信,初步驗證了技術(shù)可行性。下一步將繼續(xù)對系統(tǒng)中的關(guān)鍵技術(shù)進(jìn)行完善和研究。
內(nèi)容分發(fā)網(wǎng)絡(luò)目前已經(jīng)成為在互聯(lián)網(wǎng)上傳送流媒體內(nèi)容、提高用戶體驗的有效手段,基于內(nèi)容分發(fā)網(wǎng)絡(luò)的直播業(yè)務(wù)提供多路視頻通信系統(tǒng),可以在對網(wǎng)絡(luò)進(jìn)行少量改動的情況下,提供有傳輸保證的、可擴展性高的視頻通信業(yè)務(wù)。對于快速、大規(guī)模部署高質(zhì)量視頻通信系統(tǒng),具有良好的參考。在前期工作中,本項目團隊已經(jīng)開發(fā)出基于機頂盒的三方視頻通信系統(tǒng)原型,驗證了利用內(nèi)容分發(fā)網(wǎng)絡(luò)直播應(yīng)用進(jìn)行三方視頻通信的可行性和能力。
對于內(nèi)容分發(fā)系統(tǒng)來說,目前該系統(tǒng)主要用于互聯(lián)網(wǎng)上的多媒體內(nèi)容的點播和直播業(yè)務(wù)的內(nèi)容加速。利用本文提出的思路,可以在進(jìn)行系統(tǒng)升級的情況下,擴展系統(tǒng)的業(yè)務(wù)能力,提升內(nèi)容分發(fā)的價值。
1 趙問道,劉奇.一種應(yīng)用層組播視頻會議系統(tǒng).專利號:CN101710959A
2 王菲,申瑞民等.基于P2P和SIP的視頻會議系統(tǒng)及其實現(xiàn)方法.專利號:CN1889676
3 何彬,張國清.SIP可視電話系統(tǒng)的信令流分析.計算機工程與應(yīng)用,2005(15):157~159
4 Rosenerg J,Schulzrinne H,Camariblo G,et al.Session initiation protocol.RFC3261,2002
5 塞維安訊公司技術(shù)報告.面向多業(yè)務(wù)和網(wǎng)絡(luò)融合的下一代CDN技術(shù)——VSDN介紹
6 中國電信企業(yè)規(guī)范.協(xié)同通信業(yè)務(wù)開放接口技術(shù)規(guī)范