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

一種音視頻同步播放的控制方法與流程

文檔序號(hào):11411308閱讀:522來源:國知局
一種音視頻同步播放的控制方法與流程

本發(fā)明涉及音視頻處理領(lǐng)域,特別是涉及一種音視頻同步播放的控制方法。



背景技術(shù):

視頻播放同步是多媒體應(yīng)用區(qū)別于其他數(shù)據(jù)應(yīng)用的主要特征之一。這里的同步是指同一視頻文件里面可能既有視頻流,又有音頻流,在這種情況下就要做到視頻圖像顯示和聲音的同步一致。比如讓視頻中演講者嘴唇的運(yùn)動(dòng)圖像與其播出的聲音保持吻合,以及讓畫面中的文字隨著朗讀的聲音高亮顯示。

現(xiàn)有的音視頻數(shù)據(jù)都是在互為獨(dú)立的線程中處理,兩個(gè)線程分別在做讀文件塊和解碼,當(dāng)解碼器需要數(shù)據(jù)時(shí)會(huì)向緩沖區(qū)中取得,如果緩沖區(qū)沒有數(shù)據(jù)可取,解碼器會(huì)等待并切換線程;反過來,如果讀文件線程在讀文件的時(shí)候發(fā)現(xiàn)緩沖區(qū)滿了,它也只有等待并切換線程,在線程切換的時(shí)候消耗資源,所以可能會(huì)由于網(wǎng)絡(luò)或節(jié)點(diǎn)環(huán)境因素而失去同步。另外,由于網(wǎng)絡(luò)傳輸、系統(tǒng)cpu忙等問題,可能導(dǎo)致數(shù)據(jù)流中一些幀不能按時(shí)產(chǎn)生,這更增加了同步的難度。



技術(shù)實(shí)現(xiàn)要素:

基于此,有必要針對(duì)音視頻數(shù)據(jù)不能同步的問題,提供一種音視頻同步播放的控制方法。

一種音視頻同步播放的控制方法,其特征在于,包括:從本地內(nèi)存讀取待播放文件;并將所述文件輸入到過濾器模塊;過濾器模塊以同步時(shí)鐘對(duì)所述文件進(jìn)行編解碼、格式轉(zhuǎn)換、壓縮解壓縮處理,得到處理后數(shù)據(jù);其中,處理后數(shù)據(jù)包括視頻數(shù)據(jù)和音頻數(shù)據(jù);將視頻數(shù)據(jù)和音頻數(shù)據(jù)分別傳輸?shù)斤@卡、聲卡以同步時(shí)鐘進(jìn)行同步播放;其中,所述同步時(shí)鐘,用于提供標(biāo)準(zhǔn)時(shí)間,所述同步時(shí)鐘的時(shí)鐘頻率為音頻數(shù)據(jù)本身的幀率。

優(yōu)選的,將視頻數(shù)據(jù)和音頻數(shù)據(jù)分別傳輸?shù)斤@卡、聲卡以同步時(shí)鐘進(jìn)行同步播放的步驟包括:將視頻數(shù)據(jù)通過directdraw傳輸?shù)斤@卡以同步時(shí)鐘進(jìn)行同步播放;將音頻數(shù)據(jù)通過directshow傳輸?shù)铰暱ㄒ酝綍r(shí)鐘進(jìn)行同步播放;

優(yōu)選的,所述過濾器模塊包括:依次連接的源過濾器、變換過濾器和提交過濾器;所述源過濾器,用于接收待播放文件;所述變換過濾器,用于對(duì)待播放文件進(jìn)行編解碼、格式轉(zhuǎn)換、壓縮解壓縮處理,得到處理后數(shù)據(jù);所述提交過濾器,用于處理后數(shù)據(jù)的數(shù)據(jù)發(fā)送到顯卡、聲卡。

優(yōu)選的,還包括:緩沖區(qū);所述緩沖區(qū)位于每兩個(gè)相連的過濾器之間;所述緩沖區(qū),用于存儲(chǔ)所述媒體樣本,其中媒體樣本包括媒體數(shù)據(jù)和時(shí)間片;所述時(shí)間片用于標(biāo)記媒體數(shù)據(jù)產(chǎn)生的時(shí)刻或者被渲染的時(shí)刻。

優(yōu)選的,將視頻數(shù)據(jù)和音頻數(shù)據(jù)分別傳輸?shù)斤@卡、聲卡以同步時(shí)鐘進(jìn)行同步播放的步驟包括:當(dāng)視頻的播放幀率低于當(dāng)前的同步時(shí)鐘頻率,則跳過一定的視頻幀數(shù)進(jìn)行播放;當(dāng)視頻的播放幀率高于當(dāng)前的同步時(shí)鐘頻率,則暫停播放,進(jìn)行等待。

優(yōu)選的,將視頻數(shù)據(jù)和音頻數(shù)據(jù)分別傳輸?shù)斤@卡、聲卡以同步時(shí)鐘進(jìn)行同步播放的步驟還包括:當(dāng)音頻的播放幀率低于當(dāng)前的同步時(shí)鐘頻率,則跳過一定的音頻幀數(shù)進(jìn)行播放;當(dāng)音頻的播放幀率高于當(dāng)前的同步時(shí)鐘頻率,則暫停播放,進(jìn)行等待。

優(yōu)選的,還包括:渲染過濾器;所述渲染過濾器位于變換過濾器和提交過濾器之間;將視頻數(shù)據(jù)和音頻數(shù)據(jù)分別傳輸?shù)斤@卡、聲卡以同步時(shí)鐘進(jìn)行同步播放的步驟還包括:當(dāng)網(wǎng)絡(luò)繁忙或者cpu繁忙時(shí),所述渲染過濾器將緩沖區(qū)中媒體樣本依次取出,并通知視頻解碼器以加快模式運(yùn)行。

優(yōu)選的,所述渲染過濾器包括視頻染過濾器和音頻染過濾器;當(dāng)取出的媒體樣本中缺少聲音樣本,所述視頻染過濾器和音頻染過濾器暫停,等待下一個(gè)聲音樣本。

上述音視頻同步播放的控制方法,過濾器模塊以同步時(shí)鐘對(duì)所述文件進(jìn)行編解碼、格式轉(zhuǎn)換、壓縮解壓縮處理,得到處理后數(shù)據(jù);其中,處理后數(shù)據(jù)包括視頻數(shù)據(jù)和音頻數(shù)據(jù);將視頻數(shù)據(jù)和音頻數(shù)據(jù)分別傳輸?shù)斤@卡、聲卡以同步時(shí)鐘進(jìn)行同步播放;視頻數(shù)據(jù)和音頻數(shù)據(jù)的處理過程和播放過程均以統(tǒng)一的同步時(shí)鐘頻率進(jìn)行,能夠很好的保持音視頻播放的高度同步。

附圖說明

圖1為一實(shí)施例的音視頻同步播放的控制方法的示意性流程圖;

圖2為一實(shí)施例的音視頻同步播放的控制方法所適應(yīng)系統(tǒng)的示意性結(jié)構(gòu)圖。

具體實(shí)施方式

本方案的音視頻同步播放的控制方法在directshow的層次結(jié)構(gòu)下解決同步的問題。directshow通過時(shí)間戳來解決音頻和視頻的同步。

圖1為一實(shí)施例的音視頻同步播放的控制方法的示意性流程圖;圖2為一實(shí)施例的音視頻同步播放的控制方法所適應(yīng)系統(tǒng)的示意性結(jié)構(gòu)圖。下面結(jié)合圖1和圖2對(duì)所述的音視頻同步播放的控制方法進(jìn)行闡述。

一種音視頻同步播放的控制方法,包括:

s11,從本地內(nèi)存11讀取待播放文件;并將所述文件輸入到過濾器模塊;

s12,過濾器模塊以同步時(shí)鐘對(duì)所述文件進(jìn)行編解碼、格式轉(zhuǎn)換、壓縮解壓縮處理,得到處理后數(shù)據(jù);其中,處理后數(shù)據(jù)包括視頻數(shù)據(jù)和音頻數(shù)據(jù);

s13,將視頻數(shù)據(jù)和音頻數(shù)據(jù)分別傳輸?shù)斤@卡16、聲卡18以同步時(shí)鐘進(jìn)行同步播放;

其中,所述同步時(shí)鐘,用于提供標(biāo)準(zhǔn)時(shí)間,所述同步時(shí)鐘的時(shí)鐘頻率為音頻數(shù)據(jù)本身的幀率。

由于音頻對(duì)播放速率的均勻性要求更嚴(yán),因此音頻的播放時(shí)根據(jù)其本身的幀率按一定的速率不斷的取出數(shù)據(jù)進(jìn)行播放的。視頻則是根據(jù)計(jì)時(shí)器所更新的系統(tǒng)時(shí)鐘(同步時(shí)鐘)來確定是否播放,也就是說,當(dāng)系統(tǒng)時(shí)鐘超過下一幀的播放時(shí)間后,該視頻播放。系統(tǒng)時(shí)鐘的更新以音頻為基準(zhǔn)。

作為一優(yōu)選實(shí)施例,將視頻數(shù)據(jù)和音頻數(shù)據(jù)分別傳輸?shù)斤@卡16、聲卡18以同步時(shí)鐘進(jìn)行同步播放的步驟包括:將視頻數(shù)據(jù)通過directdraw16傳輸?shù)斤@卡16以同步時(shí)鐘進(jìn)行同步播放;將音頻數(shù)據(jù)通過directshow17傳輸?shù)铰暱?8以同步時(shí)鐘進(jìn)行同步播放;

作為一優(yōu)選實(shí)施例,所述過濾器模塊包括:依次連接的源過濾器12、變換過濾器13和提交過濾器14;所述源過濾器12,用于接收待播放文件;所述變換過濾器13,用于對(duì)待播放文件進(jìn)行編解碼、格式轉(zhuǎn)換、壓縮解壓縮處理,得到處理后數(shù)據(jù);所述提交過濾器14,用于處理后數(shù)據(jù)的數(shù)據(jù)發(fā)送到顯卡16、聲卡18。

作為一優(yōu)選實(shí)施例,還包括:緩沖區(qū);所述緩沖區(qū)位于每兩個(gè)相連的過濾器之間;所述緩沖區(qū),用于存儲(chǔ)所述媒體樣本,其中媒體樣本包括媒體數(shù)據(jù)和時(shí)間片;所述時(shí)間片用于標(biāo)記媒體數(shù)據(jù)產(chǎn)生的時(shí)刻或者被渲染的時(shí)刻。

作為一優(yōu)選實(shí)施例,將視頻數(shù)據(jù)和音頻數(shù)據(jù)分別傳輸?shù)斤@卡16、聲卡18以同步時(shí)鐘進(jìn)行同步播放的步驟包括:當(dāng)視頻的播放幀率低于當(dāng)前的同步時(shí)鐘頻率,則跳過一定的視頻幀數(shù)進(jìn)行播放;當(dāng)視頻的播放幀率高于當(dāng)前的同步時(shí)鐘頻率,則暫停播放,進(jìn)行等待。

作為一優(yōu)選實(shí)施例,將視頻數(shù)據(jù)和音頻數(shù)據(jù)分別傳輸?shù)斤@卡16、聲卡18以同步時(shí)鐘進(jìn)行同步播放的步驟還包括:當(dāng)音頻的播放幀率低于當(dāng)前的同步時(shí)鐘頻率,則跳過一定的音頻幀數(shù)進(jìn)行播放;當(dāng)音頻的播放幀率高于當(dāng)前的同步時(shí)鐘頻率,則暫停播放,進(jìn)行等待。

作為一優(yōu)選實(shí)施例,還包括:渲染過濾器;所述渲染過濾器位于變換過濾器13和提交過濾器14之間;將視頻數(shù)據(jù)和音頻數(shù)據(jù)分別傳輸?shù)斤@卡16、聲卡18以同步時(shí)鐘進(jìn)行同步播放的步驟還包括:當(dāng)網(wǎng)絡(luò)繁忙或者cpu繁忙時(shí),所述渲染過濾器將緩沖區(qū)中媒體樣本依次取出,并通知視頻解碼器以加快模式運(yùn)行。直到媒體樣本緩沖被取空。這種,模式會(huì)有更快的解碼速度,但是會(huì)都是一些幀的信息。通過這樣丟掉一些圖像的策略可以保證用戶看到的效果不會(huì)有明顯的下降。

作為一優(yōu)選實(shí)施例,所述渲染過濾器包括視頻染過濾器和音頻染過濾器;當(dāng)取出的媒體樣本中缺少聲音樣本,所述視頻染過濾器和音頻染過濾器暫停,等待下一個(gè)聲音樣本。只有在這種情況下,用戶才會(huì)看到播放器停頓,直到下面的數(shù)據(jù)到來,其他情況下將不會(huì)有很強(qiáng)的感覺。

上述音視頻同步播放的控制方法,過濾器模塊以同步時(shí)鐘對(duì)所述文件進(jìn)行編解碼、格式轉(zhuǎn)換、壓縮解壓縮處理,得到處理后數(shù)據(jù);其中,處理后數(shù)據(jù)包括視頻數(shù)據(jù)和音頻數(shù)據(jù);將視頻數(shù)據(jù)和音頻數(shù)據(jù)分別傳輸?shù)斤@卡、聲卡以同步時(shí)鐘進(jìn)行同步播放;視頻數(shù)據(jù)和音頻數(shù)據(jù)的處理過程和播放過程均以統(tǒng)一的同步時(shí)鐘頻率進(jìn)行,能夠很好的保持音視頻播放的高度同步。

以上所述實(shí)施例的各技術(shù)特征可以進(jìn)行任意的組合,為使描述簡潔,未對(duì)上述實(shí)施例中的各個(gè)技術(shù)特征所有可能的組合都進(jìn)行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當(dāng)認(rèn)為是本說明書記載的范圍。

以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
吐鲁番市| 腾冲县| 斗六市| 奉化市| 清水河县| 广水市| 南郑县| 邵武市| 石景山区| 灌云县| 南投县| 文成县| 乳山市| 蕲春县| 丰顺县| 自治县| 龙江县| 永仁县| 石泉县| 桂阳县| 平山县| 合川市| 南江县| 汾阳市| 盐山县| 高要市| 文安县| 灌南县| 沾化县| 平阴县| 平陆县| 平和县| 依安县| 波密县| 同江市| 陕西省| 舞钢市| 山东| 田东县| 曲松县| 上杭县|