欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種多路音視頻同時播放時處理音視頻同步的方法

文檔序號:7995407閱讀:504來源:國知局
專利名稱:一種多路音視頻同時播放時處理音視頻同步的方法
技術領域
本發(fā)明屬于計算機多媒體技術領域,涉及經(jīng)過網(wǎng)絡傳輸后對多路音視頻處理的方法,具體是一種多路音視頻同時播放時處理音視頻同步的方法。
背景技術
隨著當今互聯(lián)網(wǎng)寬帶技術和多媒體信息技術的飛速發(fā)展,網(wǎng)絡多媒體應用已經(jīng)成為internet應用的重要內容。特別是網(wǎng)絡視頻會議中,由于涉及到多人之間的交互行為, 需要對多路音視頻同時進行播放。此時每一路音視頻都需要同步,否則無法做到“唇音同步”的效果,影響溝通的流暢性。傳統(tǒng)的音視頻同步技術是將音視頻包各標記一個時間戳, 在播放時根據(jù)該時間戳來進行同步。這種方式只能工作于一路音頻和一路視頻的情況,在多路音頻和多路視頻的情況下無法正常工作,不能滿足視頻會議這類多人溝通應用對多路音視頻同時進行同步的要求。

發(fā)明內容
本發(fā)明的目的是針對現(xiàn)有技術的不足,提供了一種基于音頻播放驅動的多路視頻同步方法。本發(fā)明方法的具體步驟為
步驟(1).每個用戶分別獲取各自的音視頻數(shù)據(jù)并將音頻和視頻各自壓縮;將采集的音頻數(shù)據(jù)以10 120毫秒為單位分割成音頻數(shù)據(jù)單元,將每個音頻數(shù)據(jù)單元壓縮成音頻壓縮包,每個音頻壓縮包標記采集時刻的客戶端機器時間戳;將視頻數(shù)據(jù)中的每一幀壓縮成視頻壓縮包,每個視頻壓縮包標記采集時刻的客戶端機器時間戳;將每個音頻壓縮包和每個視頻壓縮包發(fā)送給服務器;
每個用戶分別獲取各自的音視頻數(shù)據(jù)的方法包括通過設備采集和從媒體文件中獲??; 如通過設備采集,則所述的時間戳為采集的時刻;如從媒體文件中獲取,媒體文件播放或解壓組件會為數(shù)據(jù)設置時間戳,該時間戳為相對媒體文件開始的時刻,轉換為以當前計算機時刻為標準的時間戳。步驟O).服務器將接收到的每個用戶的音頻壓縮包解壓后混音,然后在混音結果中記錄所有參與混音的音頻壓縮包對應的時間戳,壓縮成混音壓縮包,發(fā)送給客戶端;視頻壓縮包直接發(fā)送給客戶端。N個用戶U1、U2、…、UN,每個用戶有一路音頻,共有N路音頻,分別為A1、A2、…、 AN ;服務器需要混音出N+1路音頻,分別是
第0路.包含了所有音頻,記為M0、 第1路.除Al外其他所有音頻,記為Ml、
第2路.除A2外其他所有音頻,記為M2、 * * *、
第N路.除AN外其他所有音頻,記為麗。
生成的每路音頻都需要將其對應的N或N-I路源音頻的時間戳寫入這路音頻中, 該音頻包將會有N或N-I個時間戳,以及這些時間戳所對應的源音頻。生成這N+1路音頻后,將MO發(fā)送給所有沒有發(fā)送音頻的用戶,Ml發(fā)送給U1,M2發(fā)送給U2,以此類推,發(fā)送給每個用戶的音頻內容都不包含該用戶的音頻。步驟(3).每個客戶端接收到混音壓縮包和視頻壓縮包后,將混音壓縮包解壓后順序播放,然后根據(jù)音頻驅動視頻的原則,顯示對應視頻壓縮包中的視頻幀。每個客戶端接收到的內容為一路混音壓縮包和服務器轉發(fā)的N路視頻壓縮包;播放時通過音頻驅動視頻進行,即每播放一個音頻壓縮包,記錄該音頻壓縮包中包含的所有時間戳(U,A)···;播放X用戶的視頻時,取出該路視頻待播放的一幀對應的視頻時間戳(UX, VX),同時取出最近播放過的音頻幀的同一用戶的時間戳(UX,AX),對VX和AX進行比較,若 VX大于等于AX,則表示視頻內容已經(jīng)在音頻內容之后了,可以播放,而若VX小于AX,根據(jù)音頻驅動視頻原則,表示這個視頻幀還沒有到播放的時刻,因此需要等待下一次的播放判斷來決定是否可以播放。本發(fā)明方法以音頻時間戳為紐帶,將多路視頻與音頻同步,達到所有視頻均能夠與音頻“唇音同步”的效果。本發(fā)明方法中音頻在服務器混音時,并不使用單一的時間戳來標記一個音頻混音壓縮包,而是將參與這個音頻混音壓縮包的多路音頻的時間戳都保存起來,作為音頻混音壓縮包的時間戳,這樣就完整地保存了所有音頻和視頻之間的同步關系。
具體實施例方式一種多路音視頻同時播放時處理音視頻同步的方法,具體步驟為
步驟(1).每個用戶分別獲取各自的音視頻數(shù)據(jù)并將音頻和視頻各自壓縮;將采集的音頻數(shù)據(jù)以10 120毫秒為單位分割成音頻數(shù)據(jù)單元,將每個音頻數(shù)據(jù)單元壓縮成音頻壓縮包,每個音頻壓縮包標記采集時刻的客戶端機器時間戳;將視頻數(shù)據(jù)中的每一幀壓縮成視頻壓縮包,每個視頻壓縮包標記采集時刻的客戶端機器時間戳;將每個音頻壓縮包和每個視頻壓縮包發(fā)送給服務器。每個用戶分別獲取各自的音視頻數(shù)據(jù)的方法包括通過設備采集和從媒體文件中獲取;如通過設備采集,則所述的時間戳為采集的時刻;如從媒體文件中獲取,媒體文件播放或解壓組件會為數(shù)據(jù)設置時間戳,該時間戳為相對媒體文件開始的時刻,轉換為以當前計算機時刻為標準的時間戳。視頻處理則是將輸入的視頻以幀為單位,使用視頻編碼器壓縮后,根據(jù)網(wǎng)絡情況, 切割成適宜傳輸?shù)拇笮?一般為400 1400個字節(jié)),和該視頻幀的時間戳一起發(fā)送給服務器。為方便接收端排序以及判斷是否在傳輸過程中有丟包現(xiàn)象,音視頻包均帶有序列號。序列號為2字節(jié)遞增,超過最大值后從0重新開始。為提高帶寬較差時的用戶體驗,音視頻數(shù)據(jù)使用不同的連接來發(fā)送,這樣當帶寬不夠時,音頻連接由于數(shù)據(jù)相對視頻連接比較少,容易得到保障。而我們交互的主要手段是通過音頻,視頻一般來說是輔助手段,這樣做可以讓音頻比較流暢,減少對用戶的影響。步驟O).服務器將接收到的每個用戶的音頻壓縮包解壓后混音,然后在混音結果中記錄所有參與混音的音頻壓縮包對應的時間戳,壓縮成混音壓縮包,發(fā)送給客戶端;視頻壓縮包直接發(fā)送給客戶端。
N個用戶U1、U2、…、UN,每個用戶有一路音頻,共有N路音頻,分別為Al、A2、…、 AN ;服務器需要混音出N+1路音頻,分別是
第0路.包含了所有音頻,記為M0、 第1路.除Al外其他所有音頻,記為Ml、
第2路.除A2外其他所有音頻,記為M2、 * * *、
第N路.除AN外其他所有音頻,記為麗。生成的每路音頻都需要將其對應的N或N-I路源音頻的時間戳寫入這路音頻中, 該音頻包將會有N或N-I個時間戳,以及這些時間戳所對應的源音頻。例如MO將會包含 (Ul, Al) (U2,A2)…(UN,AN),Ml 將會包含(U2,A2) (U3, A3)…(UN,AN)。生成這N+1路音頻后,將MO發(fā)送給所有沒有發(fā)送音頻的用戶,Ml發(fā)送給U1,M2發(fā)送給U2,以此類推,發(fā)送給每個用戶的音頻內容都不包含該用戶的音頻,即避免在該用戶喇叭中產(chǎn)生回聲。步驟(3).每個客戶端接收到混音壓縮包和視頻壓縮包后,將混音壓縮包解壓后順序播放,然后根據(jù)音頻驅動視頻的原則,顯示對應視頻壓縮包中的視頻幀。每個客戶端接收到的內容為一路混音壓縮包和服務器轉發(fā)的N路視頻壓縮包;播放時通過音頻驅動視頻進行,即每播放一個音頻壓縮包,記錄該音頻壓縮包中包含的所有時間戳(U,A)···;播放X用戶的視頻時,取出該路視頻待播放的一幀對應的視頻時間戳(UX, VX),同時取出最近播放過的音頻幀的同一用戶的時間戳(UX,ΑΧ),對VX和AX進行比較,若 VX大于等于ΑΧ,則表示視頻內容已經(jīng)在音頻內容之后了,可以播放,而若VX小于ΑΧ,根據(jù)音頻驅動視頻原則,表示這個視頻幀還沒有到播放的時刻,因此需要等待下一次的播放判斷來決定是否可以播放。網(wǎng)絡傳輸?shù)牟淮_定性比較強,主要表現(xiàn)有以下幾點數(shù)據(jù)包亂序和接收延時的不確定性。通過TCP發(fā)送數(shù)據(jù)時,不同連接發(fā)出的數(shù)據(jù)在接收時可能會與發(fā)送的順序不同,通過UDP發(fā)送數(shù)據(jù)時,不同的數(shù)據(jù)包到達的順序也是不能保證的,這是數(shù)據(jù)包的亂序特性。無論使用TCP還是UDP,發(fā)出的數(shù)據(jù)包到達對方計算機所消耗的時間都是不確定的,會隨著網(wǎng)絡傳輸質量狀況而變化,一般可能在1毫秒到500毫秒內波動,網(wǎng)絡差的時候甚至有可能達到數(shù)秒鐘。由于以上兩個特性,需要對接收到的音視頻數(shù)據(jù)分別進行排序和緩沖處理。排序的依據(jù)是數(shù)據(jù)包中的序列號,緩沖的時間將根據(jù)網(wǎng)絡延遲決定。網(wǎng)絡延遲越小,表示網(wǎng)絡狀況越好,那么可以適當減少緩沖的音頻數(shù)據(jù),來獲取更好的實時性。網(wǎng)絡延遲越大,表示網(wǎng)絡狀況越差,那么我們將暫停播放,直到緩沖的音頻數(shù)據(jù)時長等于網(wǎng)絡延時的時長,這樣雖然犧牲了實時性,但是提高了播放的流暢度,減少播放的時候由于緩沖過短,數(shù)據(jù)被播放完后沒有數(shù)據(jù)可用造成的一卡一卡的現(xiàn)象。
權利要求
1. 一種多路音視頻同時播放時處理音視頻同步的方法,其特征在于該方法的具體步驟是步驟(1).每個用戶分別獲取各自的音視頻數(shù)據(jù)并將音頻和視頻各自壓縮;將采集的音頻數(shù)據(jù)以10 120毫秒為單位分割成音頻數(shù)據(jù)單元,將每個音頻數(shù)據(jù)單元壓縮成音頻壓縮包,每個音頻壓縮包標記采集時刻的客戶端機器時間戳;將視頻數(shù)據(jù)中的每一幀壓縮成視頻壓縮包,每個視頻壓縮包標記采集時刻的客戶端機器時間戳;將每個音頻壓縮包和每個視頻壓縮包發(fā)送給服務器;每個用戶分別獲取各自的音視頻數(shù)據(jù)的方法包括通過設備采集和從媒體文件中獲?。?如通過設備采集,則所述的時間戳為采集的時刻;如從媒體文件中獲取,媒體文件播放或解壓組件會為數(shù)據(jù)設置時間戳,該時間戳為相對媒體文件開始的時刻,轉換為以當前計算機時刻為標準的時間戳;步驟O).服務器將接收到的每個用戶的音頻壓縮包解壓后混音,然后在混音結果中記錄所有參與混音的音頻壓縮包對應的時間戳,壓縮成混音壓縮包,發(fā)送給客戶端;視頻壓縮包直接發(fā)送給客戶端;N個用戶U1、U2、…、UN,每個用戶有一路音頻,共有N路音頻,分別為A1、A2、…、AN; 服務器需要混音出N+1路音頻,分別是 第0路.包含了所有音頻,記為M0、 第1路.除Al外其他所有音頻,記為Ml、 第2路.除A2外其他所有音頻,記為M2、第N路.除AN外其他所有音頻,記為麗;生成的每路音頻都需要將其對應的N或N-I路源音頻的時間戳寫入這路音頻中,該音頻包將會有N或N-I個時間戳,以及這些時間戳所對應的源音頻;生成這N+1路音頻后,將MO發(fā)送給所有沒有發(fā)送音頻的用戶,Ml發(fā)送給U1,M2發(fā)送給 U2,以此類推,發(fā)送給每個用戶的音頻內容都不包含該用戶的音頻;步驟(3).每個客戶端接收到混音壓縮包和視頻壓縮包后,將混音壓縮包解壓后順序播放,然后根據(jù)音頻驅動視頻的原則,顯示對應視頻壓縮包中的視頻幀;每個客戶端接收到的內容為一路混音壓縮包和服務器轉發(fā)的N路視頻壓縮包;播放時通過音頻驅動視頻進行,即每播放一個音頻壓縮包,記錄該音頻壓縮包中包含的所有時間戳(U,A);播放X用戶的視頻時,取出該路視頻待播放的一幀對應的視頻時間戳(UX,VX),同時取出最近播放過的音頻幀的同一用戶的時間戳(UX,AX),對VX和AX進行比較,若VX大于等于AX,則表示視頻內容已經(jīng)在音頻內容之后了,可以播放,而若VX小于AX,根據(jù)音頻驅動視頻原則,表示這個視頻幀還沒有到播放的時刻,等待下一次的播放判斷來決定是否可以播放。
全文摘要
本發(fā)明涉及一種多路音視頻同時播放時處理音視頻同步的方法。傳統(tǒng)的音視頻同步技術不能滿足多人溝通應用對多路音視頻同時進行同步的要求。本發(fā)明方法中每個用戶分別獲取各自的音、視頻數(shù)據(jù)并壓縮成音、視頻壓縮包,每個音、視頻壓縮包標記時間戳,發(fā)送給服務器;服務器將接收到的每個用戶的音頻壓縮包解壓后混音,在混音結果中記錄所有參與混音的音頻壓縮包對應的時間戳,壓縮成混音壓縮包,發(fā)送給客戶端,視頻壓縮包直接發(fā)送給客戶端;每個客戶端接收到混音壓縮包和視頻壓縮包后,將混音壓縮包解壓后順序播放,然后根據(jù)音頻驅動視頻的原則,顯示對應視頻壓縮包中的視頻幀。本發(fā)明方法能夠完整地保存所有音頻和視頻之間的同步關系。
文檔編號H04N7/52GK102364952SQ20111032716
公開日2012年2月29日 申請日期2011年10月25日 優(yōu)先權日2011年10月25日
發(fā)明者李群巍, 胡開荊 申請人:浙江萬朋網(wǎng)絡技術有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
湖北省| 福海县| 敦煌市| 大同县| 北川| 文水县| 攀枝花市| 桃源县| 昌宁县| 澜沧| 通渭县| 罗山县| 宁安市| 黔南| 改则县| 东乡族自治县| 长岭县| 织金县| 曲阜市| 永泰县| 平南县| 东辽县| 建始县| 繁峙县| 吉林省| 闽侯县| 大竹县| 若羌县| 柳林县| 定边县| 吉林市| 宁乡县| 启东市| 汾西县| 安宁市| 磴口县| 什邡市| 宽城| 高密市| 高青县| 南部县|