一種實現(xiàn)視頻通話的方法及視頻中繼服務(wù)器的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)技術(shù),尤指一種實現(xiàn)視頻通話的方法及視頻中繼服務(wù)器。
【背景技術(shù)】
[0002]由于娛樂、交流等的需要,視頻通話作為一種非常接近面對面交流體驗的通訊方式,它的需求正在變得越來越強烈。目前,建立基于互聯(lián)網(wǎng)的視頻通話的形式一般是借助于視頻服務(wù)器。由于這種形式對于任何的網(wǎng)絡(luò)類型都可以實現(xiàn),因而成為一種重要的視頻通話形式。
[0003]視頻通話的視頻服務(wù)器作為通話數(shù)據(jù)的載體是視頻通話中的重要一環(huán),一個高實時性、高效的視頻服務(wù)器在高質(zhì)量的視頻通話中扮演著重要的角色。
【發(fā)明內(nèi)容】
[0004]為了解決上述技術(shù)問題,本發(fā)明提供了一種實現(xiàn)視頻通話的方法及視頻中繼服務(wù)器,能夠在視頻通話中保證視頻通話數(shù)據(jù)的及時轉(zhuǎn)發(fā)。
[0005]為了達到本發(fā)明目的,本發(fā)明提供了一種實現(xiàn)視頻通話的方法,包括:
[0006]視頻中繼服務(wù)器在為要進行視頻通話的第一終端和第二終端建立通話時,分別分配用于接收第一終端發(fā)送的音、視頻數(shù)據(jù)的端口和用于接收第二終端發(fā)送的音、視頻數(shù)據(jù)的端口 ;
[0007]所述視頻中繼服務(wù)器在接收到第一終端的音、視頻數(shù)據(jù)后,記錄第一終端發(fā)送音、視頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址,作為向第一終端轉(zhuǎn)發(fā)第二終端的音、視頻數(shù)據(jù)的網(wǎng)絡(luò)地址,并在已記錄第二終端發(fā)送音、視頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址的情況下,將第一終端發(fā)送的音、視頻數(shù)據(jù)通過記錄的第二終端發(fā)送音、視頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址轉(zhuǎn)發(fā)給第二終端;
[0008]所述視頻中繼服務(wù)器在接收到第二終端的音、視頻數(shù)據(jù)后,記錄第二終端發(fā)送音、視頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址,作為向第二終端轉(zhuǎn)發(fā)第一終端的音、視頻數(shù)據(jù)的網(wǎng)絡(luò)地址,并在已記錄第一終端發(fā)送音、視頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址的情況下,將第二終端發(fā)送的音、視頻數(shù)據(jù)通過記錄的第一終端發(fā)送音、視頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址發(fā)送給第一終端。
[0009]進一步地,所述分別分配用于接收第一終端發(fā)送的音、視頻數(shù)據(jù)的端口和用于接收第二終端發(fā)送的音、視頻數(shù)據(jù)的端口,包括:
[0010]為第一終端分別分配接收第一終端發(fā)送的音頻數(shù)據(jù)的音頻數(shù)據(jù)接收端口和接收第一終端發(fā)送的視頻數(shù)據(jù)的視頻數(shù)據(jù)接收端口;并且,為第二終端分別分配接收第二終端發(fā)送的音頻數(shù)據(jù)的音頻數(shù)據(jù)接收端口和接收第二終端發(fā)送的視頻數(shù)據(jù)的視頻數(shù)據(jù)接收端
□ ο
[0011]進一步地,所述記錄第一終端發(fā)送音、視頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址,作為向第一終端轉(zhuǎn)發(fā)第二終端的音、視頻數(shù)據(jù)的網(wǎng)絡(luò)地址,包括:在通過為第一終端分配的音頻數(shù)據(jù)接收端口接收到音頻數(shù)據(jù)時,記錄第一終端的音頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址,作為向第一終端轉(zhuǎn)發(fā)第二終端的音頻數(shù)據(jù)的網(wǎng)絡(luò)地址;在通過為第一終端分配的視頻數(shù)據(jù)接收端口接收到視頻數(shù)據(jù)時,記錄第一終端的視頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址,作為向第一終端轉(zhuǎn)發(fā)第二終端的視頻數(shù)據(jù)的網(wǎng)絡(luò)地址;
[0012]所述記錄第二終端發(fā)送音、視頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址,作為向第二終端轉(zhuǎn)發(fā)第一終端的音、視頻數(shù)據(jù)的網(wǎng)絡(luò)地址,包括:在通過為第二終端分配的音頻數(shù)據(jù)接收端口接收到音頻數(shù)據(jù)時,記錄第二終端的音頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址,作為向第二終端轉(zhuǎn)發(fā)第一終端的音頻數(shù)據(jù)的網(wǎng)絡(luò)地址;在通過為第二終端分配的視頻數(shù)據(jù)接收端口接收到視頻數(shù)據(jù)時,記錄第二終端的視頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址,作為向第二終端轉(zhuǎn)發(fā)第一終端的視頻數(shù)據(jù)的網(wǎng)絡(luò)地址。
[0013]進一步地,所述分別分配用于接收第一終端發(fā)送的音、視頻數(shù)據(jù)的端口和用于接收第二終端發(fā)送的音、視頻數(shù)據(jù)的端口,包括:為第一終端分配一端口既接收第一終端發(fā)送的音頻數(shù)據(jù)又接收第一終端發(fā)送的視頻數(shù)據(jù);為第二終端分配一端口既接收第二終端發(fā)送的音頻數(shù)據(jù)又接收第二終端發(fā)送的視頻數(shù)據(jù);
[0014]所述記錄第一終端發(fā)送音、視頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址,作為向第一終端轉(zhuǎn)發(fā)第二終端的音、視頻數(shù)據(jù)的網(wǎng)絡(luò)地址,包括:在通過為第一終端分配的端口接收到音頻數(shù)據(jù)時,記錄第一終端的音頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址,作為向第一終端轉(zhuǎn)發(fā)第二終端的音頻數(shù)據(jù)的網(wǎng)絡(luò)地址;在通過為第一終端分配的端口接收到視頻數(shù)據(jù)時,記錄第一終端的視頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址,作為向第一終端轉(zhuǎn)發(fā)第二終端的視頻數(shù)據(jù)的網(wǎng)絡(luò)地址;
[0015]所述記錄第二終端發(fā)送音、視頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址,作為向第二終端轉(zhuǎn)發(fā)第一終端的音、視頻數(shù)據(jù)的網(wǎng)絡(luò)地址,包括:在通過為第二終端分配的端口接收到音頻數(shù)據(jù)時,記錄第二終端的音頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址,作為向第二終端轉(zhuǎn)發(fā)第一終端的音頻數(shù)據(jù)的網(wǎng)絡(luò)地址;在通過為第二終端分配的端口接收到視頻數(shù)據(jù)時,記錄第二終端的視頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址,作為向第二終端轉(zhuǎn)發(fā)第一終端的視頻數(shù)據(jù)的網(wǎng)絡(luò)地址。
[0016]進一步地,所述方法還包括:
[0017]所述視頻中繼服務(wù)器在接收到第一終端或第二終端的音、視頻數(shù)據(jù)后,將接收到的音、視頻數(shù)據(jù)分別放入音頻抖動緩沖處理器和視頻抖動緩沖處理器;
[0018]所述視頻中繼服務(wù)器從音頻抖動緩沖處理器中取音頻數(shù)據(jù),放入時間對齊隊列,并從視頻抖動緩沖處理器中取視頻數(shù)據(jù),放入時間對齊隊列,從時間對齊隊列中取出對齊后的音頻數(shù)據(jù)和視頻數(shù)據(jù),寫入錄像文件中,完成錄像。
[0019]進一步地,所述方法還包括:
[0020]在將接收到的音、視頻數(shù)據(jù)分別放入音頻抖動緩沖處理器和視頻抖動緩沖處理器后,音頻和視頻抖動緩沖處理器分別對音、視頻數(shù)據(jù)進行排序,如果存在數(shù)據(jù)丟失,則進行補償,包括通過解碼器模擬數(shù)據(jù)包進行補償或在丟失包的后續(xù)包里查找丟失包。
[0021]進一步地,一種視頻中繼服務(wù)器,包括:會話單元、第一轉(zhuǎn)發(fā)單元和第二轉(zhuǎn)發(fā)單元,其中:
[0022]所述會話單元,用于在為要進行視頻通話的第一終端和第二終端建立通話時,分別分配用于接收第一終端發(fā)送的音、視頻數(shù)據(jù)的端口和用于接收第二終端發(fā)送的音、視頻數(shù)據(jù)的端口;
[0023]所述第一轉(zhuǎn)發(fā)單元,用于在接收到第一終端的音、視頻數(shù)據(jù)后,記錄第一終端發(fā)送音、視頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址,作為向第一終端轉(zhuǎn)發(fā)第二終端的音、視頻數(shù)據(jù)的網(wǎng)絡(luò)地址,并在已記錄第二終端發(fā)送音、視頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址的情況下,將第一終端發(fā)送的音、視頻數(shù)據(jù)通過記錄的第二終端發(fā)送音、視頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址轉(zhuǎn)發(fā)給第二終端;
[0024]所述第二轉(zhuǎn)發(fā)單元,用于在接收到第二終端的音、視頻數(shù)據(jù)后,記錄第二終端發(fā)送音、視頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址,作為向第二終端轉(zhuǎn)發(fā)第一終端的音、視頻數(shù)據(jù)的網(wǎng)絡(luò)地址,并在已記錄第一終端發(fā)送音、視頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址的情況下,將第二終端發(fā)送的音、視頻數(shù)據(jù)通過記錄的第一終端發(fā)送音、視頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址發(fā)送給第一終端。
[0025]進一步地,所述會話單元分別分配用于接收第一終端發(fā)送的音、視頻數(shù)據(jù)的端口和用于接收第二終端發(fā)送的音、視頻數(shù)據(jù)的端口,包括:為第一終端分別分配接收第一終端發(fā)送的音頻數(shù)據(jù)的音頻數(shù)據(jù)接收端口和接收第一終端發(fā)送的視頻數(shù)據(jù)的視頻數(shù)據(jù)接收端口 ;并且,為第二終端分別分配接收第二終端發(fā)送的音頻數(shù)據(jù)的音頻數(shù)據(jù)接收端口和接收第二終端發(fā)送的視頻數(shù)據(jù)的視頻數(shù)據(jù)接收端口;
[0026]所述第一轉(zhuǎn)發(fā)單元記錄第一終端發(fā)送音、視頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址,作為向第一終端轉(zhuǎn)發(fā)第二終端的音、視頻數(shù)據(jù)的網(wǎng)絡(luò)地址,包括:在通過為第一終端分配的音頻數(shù)據(jù)接收端口接收到音頻數(shù)據(jù)時,記錄第一終端的音頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址,作為向第一終端轉(zhuǎn)發(fā)第二終端的音頻數(shù)據(jù)的網(wǎng)絡(luò)地址;在通過為第一終端分配的視頻數(shù)據(jù)接收端口接收到視頻數(shù)據(jù)時,記錄第一終端的視頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址,作為向第一終端轉(zhuǎn)發(fā)第二終端的視頻數(shù)據(jù)的網(wǎng)絡(luò)地址;
[0027]所述第二轉(zhuǎn)發(fā)單元記錄第二終端發(fā)送音、視頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址,作為向第二終端轉(zhuǎn)發(fā)第一終端的音、視頻數(shù)據(jù)的網(wǎng)絡(luò)地址,包括:在通過為第二終端分配的音頻數(shù)據(jù)接收端口接收到音頻數(shù)據(jù)時,記錄第二終端的音頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址,作為向第二終端轉(zhuǎn)發(fā)第一終端的音頻數(shù)據(jù)的網(wǎng)絡(luò)地址;在通過為第二終端分配的視頻數(shù)據(jù)接收端口接收到視頻數(shù)據(jù)時,記錄第二終端的視頻數(shù)據(jù)的上行網(wǎng)絡(luò)地址,作為向第二終端轉(zhuǎn)發(fā)第一終端的視頻數(shù)據(jù)的網(wǎng)絡(luò)地址。
[0028]進一步地,所述會話單元分別分配用于接收第一終端發(fā)送的音、視頻數(shù)據(jù)的端口和用于接收第二終端發(fā)送的音、視頻數(shù)據(jù)的端口,包括:為第一終端分配一端口既接收第一終端發(fā)送的音頻數(shù)據(jù)又接收第一終端