0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于新型的音視頻同步方案的設(shè)計(jì)和實(shí)現(xiàn)方法

電子設(shè)計(jì) ? 來源:數(shù)字社區(qū)&智能家居 ? 作者:朱邦兵;呂楊;王友 ? 2021-03-29 11:55 ? 次閱讀

本文介紹了一種基于新型的音視頻同步解決方案。闡述了方案的構(gòu)思,設(shè)計(jì)和實(shí)現(xiàn)方法。該方案已在一種新型的數(shù)字化智能家居門禁系統(tǒng)中得到了應(yīng)用,并取得良好的效果。

一、引言

目前,成熟的智能家居系統(tǒng)的室外機(jī)、門禁可視對講和門禁控制幾乎全部采用模擬信號(hào),安裝時(shí)需要架設(shè)專用網(wǎng)絡(luò),布線復(fù)雜,不可擴(kuò)展,靈活性差,傳輸距離短,投資大,維護(hù)成本高。隨著市場需求的增長、消費(fèi)者消費(fèi)觀念的提高以及模擬系統(tǒng)沉重的工程維護(hù)代價(jià),結(jié)合以太網(wǎng)技術(shù)的全數(shù)字室外機(jī)和門禁產(chǎn)品成為研發(fā)的熱點(diǎn)。但是在諸多因素影響下,當(dāng)前的數(shù)字門禁產(chǎn)品不成熟、不穩(wěn)定、價(jià)格高昂,特別是門禁對講中的音視頻同步問題,一直以來都是數(shù)字可視對講的短板。

二、音視頻同步問題概述

音視頻同步問題是可視對講中的重點(diǎn)需要解決的問題之一,也是一直以來被模擬門禁產(chǎn)品廠商攻擊的一個(gè)弱點(diǎn),因?yàn)槟M可視對講產(chǎn)品都采用專線傳輸,不存在這個(gè)問題。解決同步問題的方法有很多種,其中時(shí)間戳是最成熟最完美也是最復(fù)雜的解決辦法,可以解決任何多媒體領(lǐng)域的音視頻同步問題;其原理是選擇一個(gè)參考時(shí)間,在生成數(shù)據(jù)流時(shí)依據(jù)參考時(shí)間上的時(shí)間給每個(gè)數(shù)據(jù)塊都打上時(shí)間戳;在播放時(shí),讀取數(shù)據(jù)塊上的時(shí)間戳,同時(shí)參考當(dāng)前時(shí)鐘上的時(shí)間來安排播放,讓快于這個(gè)參考時(shí)間的包等待,丟棄慢于這個(gè)參考時(shí)間的包。在基于時(shí)間戳的同步機(jī)制中,僅僅對不同步的數(shù)據(jù)進(jìn)行處理是不完備的,還需要反饋機(jī)制,如基于Windows平臺(tái)的DirectShow就提供這樣一個(gè)反饋機(jī)制,它的質(zhì)量控制(QualityControl)可以將播放的狀態(tài)反饋給源,讓源端加快或者放慢數(shù)據(jù)流的速度。

在多媒體文件采集,播放及對同步的要求都非常嚴(yán)格,如果從多媒體文件中分離出音視頻數(shù)據(jù)的數(shù)據(jù)不同步,音視頻的時(shí)間差則會(huì)越來越大,這是無法忍受的,所以在多媒體文件中,不但要求有同步機(jī)制,還要求有反饋機(jī)制。

三、數(shù)字可視對講中的音視頻同步方案

在數(shù)字可視對講中,可以考慮的音視頻同步方案有兩種:一是發(fā)送端解決;二是接收端解決。

發(fā)送端解決方法比較簡單,具體措施是在發(fā)送端先將一段時(shí)間內(nèi)采集到音視頻數(shù)據(jù)打包。比如采集到一幀視頻圖像,將這幀圖像與采集這幀視頻的時(shí)間內(nèi)采集到的視頻數(shù)據(jù)打成一個(gè)包,接收端接收到這個(gè)包之后解包分別播放就可以了。發(fā)送端解決的控制方法比較簡單,但是在高清要求清晰度比較高的情況下就不是很理想,清晰度高,意味著每個(gè)音視頻包數(shù)據(jù)量就大,能保證同步,卻難以保證連續(xù)。我們在同一個(gè)線程中按照先后順序發(fā)送PCM音頻和H.264視頻,測試結(jié)果表明這種方法確實(shí)存在連續(xù)問題。

接收端解決方案繞不開的問題是時(shí)間戳,接收端根據(jù)接收到的音視頻數(shù)據(jù)的時(shí)間戳安排播放。時(shí)間戳需要一個(gè)參考時(shí)間,而采集過程中視頻的時(shí)間是不定的,數(shù)字?jǐn)z像頭采集圖像的幀率是一個(gè)平均值,不宜用來做參考時(shí)間,所以只能用音頻時(shí)間作為參考時(shí)間。

四、聲卡編程和聲卡驅(qū)動(dòng)的時(shí)間機(jī)制

門禁可視對講中音頻是雙向的。本文的門禁可視對講方案中,音頻的采用PCM(PulseCodeModulation——脈碼調(diào)制錄音)采集,在網(wǎng)絡(luò)中傳送的也是原始數(shù)據(jù),之所以沒有對音頻數(shù)據(jù)進(jìn)行編碼處理是基于以下原因:一是S3C6410沒有提供對音頻的硬編解碼,如果使用軟件實(shí)現(xiàn)編解碼,在有限的系統(tǒng)資源條件下難以實(shí)現(xiàn);二是音頻數(shù)據(jù)量較小:采用8000采樣率和量化位數(shù)為8位的電話語音標(biāo)準(zhǔn),一秒的音頻數(shù)據(jù)是8K字節(jié),只相當(dāng)于視頻1幀數(shù)據(jù)的兩倍,這對普遍擁有百兆網(wǎng)卡的局域網(wǎng)來說,數(shù)據(jù)量很小。實(shí)驗(yàn)的結(jié)果表明,這種簡單的處理方式被證明是有效的。

Linux操作系統(tǒng)音頻接口有/dev/dsp,/dev/audio,/dev/Mixer三種。前兩種的屬性基本相同,DSP是數(shù)字信號(hào)處理器(DigitalSignalProcessor)的簡稱,是用于數(shù)字采樣(sampling)和數(shù)字錄音(recording)的設(shè)備文件,它對于Linux下的音頻編程來講非常重要。向該設(shè)備寫數(shù)據(jù)即意味著激活聲卡上的D/A轉(zhuǎn)換器進(jìn)行放音,而向該設(shè)備讀數(shù)據(jù)則意味著激活聲卡上的A/D轉(zhuǎn)換器進(jìn)行錄音。目前許多聲卡都提供有多個(gè)數(shù)字采樣設(shè)備。/dev/audio屬性與dsp類似,但更多的用于sun的工作站中,為兼容性考慮,應(yīng)用中一般使用/dev/dsp作為音頻接口。mixer為混音器,也是聲卡設(shè)備中相當(dāng)重要的一部分,它的作用是將多個(gè)信號(hào)組合或者疊加到一起,但對應(yīng)用程序來說,這些都無需考慮,但可以通過這個(gè)接口調(diào)節(jié)聲卡播放時(shí)聲音的大小等參數(shù)

無論是Linux下還是Windows下,聲卡的編程接口都是由聲卡驅(qū)動(dòng)提供的,而驅(qū)動(dòng)都是會(huì)考慮到時(shí)間機(jī)制的,其表現(xiàn)形式就是當(dāng)聲卡驅(qū)動(dòng)沒有裝好時(shí),使用播放器播放多媒體文件時(shí)聲音以極快的速度過去了,但是聲卡驅(qū)動(dòng)裝好之后就很正常了,本文的音視頻同步解決方案即以此為基礎(chǔ)。

五、基于音頻時(shí)間機(jī)制的音視頻同步解決方案

與文件形式的多媒體不同的是,可視對講中音視頻流的源端是永遠(yuǎn)同步的。所以一種簡單的解決方案是發(fā)送端啟用獨(dú)立的音頻和視頻線程,進(jìn)行音視頻采集,采集后只管往外發(fā)送數(shù)據(jù),接收端接到數(shù)據(jù)就分別解碼播放,從表面看,這種采用無同步機(jī)制多線程解決方案是可行的,但是忽略了一個(gè)問題,即音頻數(shù)據(jù)包和視頻數(shù)據(jù)包的大小。包的大小會(huì)影響網(wǎng)絡(luò)傳輸?shù)乃俣?。這種差別在網(wǎng)絡(luò)條件好的情況下顯示不出來,一旦遇到網(wǎng)絡(luò)擁塞或者其他情況就會(huì)變得很明顯。

根據(jù)對音頻采集和處理的敘述,我們知道,音頻的采集是有時(shí)間機(jī)制的。比如采樣率是8000,采樣位數(shù)是8,我們就可以算出采8K字節(jié)的數(shù)據(jù)所用的時(shí)間是1s,這樣音頻就可以按照自己的速度播放;而攝像頭每秒采集的幀數(shù)是相對固定的,如OV9650采集速度為平均每秒30幀,這樣即可以算出1/30秒(約為0.03333,具體精度可以根據(jù)要求決定)刷新一幀圖片,這種方式中只要保證源端音頻視頻的采集是同步的就可以,而門禁對講過程中,這種同步是原生的。

接收端接收到音頻數(shù)據(jù),直接交給聲卡播放,當(dāng)前播放的音頻包的時(shí)間戳?xí)r間傳送給視頻線程;接收到視頻幀,則將其時(shí)間戳?xí)r間與當(dāng)前播放的音頻時(shí)間戳進(jìn)行比較,若未達(dá)到參考時(shí)間,則解碼播放;若達(dá)到參考時(shí)間,則說明該視頻幀滯后,丟棄該視頻幀,接收下一個(gè)視頻幀,循環(huán)往復(fù),直到線程接收到結(jié)束命令停止;以上述音頻采樣率和采樣位數(shù)為例,視頻參考時(shí)間的計(jì)算方法為(以C語言格式的?號(hào)表達(dá)式表示):

音頻時(shí)間戳?xí)r間+1/30>視頻時(shí)間戳?xí)r間?丟棄:播放;

在編程實(shí)現(xiàn)時(shí),采集端和播放端的音頻和視頻可采用獨(dú)立的線程,并利用Qt的信號(hào)槽機(jī)制實(shí)現(xiàn)音視頻線程時(shí)間戳的傳遞,此處不再贅述。

六、方案測試

本同步方案在科技部中小型企業(yè)產(chǎn)業(yè)化創(chuàng)新基金項(xiàng)目“智能家居系統(tǒng)與控制器”中得到應(yīng)用,應(yīng)用結(jié)果表明,這種音視頻同步解決方案可以實(shí)現(xiàn)數(shù)字門禁可視對講的音視頻同步。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 門禁系統(tǒng)
    +關(guān)注

    關(guān)注

    17

    文章

    391

    瀏覽量

    45436
  • 多媒體
    +關(guān)注

    關(guān)注

    0

    文章

    494

    瀏覽量

    36922
  • 智能家居
    +關(guān)注

    關(guān)注

    1926

    文章

    9471

    瀏覽量

    183871
收藏 人收藏

    評論

    相關(guān)推薦

    音視頻同步的原理及實(shí)現(xiàn)方案

    音視頻同步是我們觀看視頻的一個(gè)基本體驗(yàn),尤其對于視頻畫面中能看到聲源動(dòng)作(如:嘴型)的場景,音視頻同步
    發(fā)表于 04-20 14:32 ?9291次閱讀

    音視頻測量方案

     求音視頻測量方案
    發(fā)表于 03-20 01:13

    dm8168 dvrrdk 16路音視頻是怎么同步的呢?

    dm8168 dvrrdk 16路音視頻是怎么同步的呢? dvrrdk2.80 支持音頻的采集壓縮吧? 有沒有介紹dvrrdk 音視頻同步方面的資料呢?
    發(fā)表于 06-21 06:20

    dm8168 音視頻同步問題

    我在8168上用dvrrdk 4.0.03做音視頻,我的視頻和音頻都來自網(wǎng)絡(luò),經(jīng)過解碼處理后,再編碼,但是編碼后的視頻音頻數(shù)據(jù)有同步的問題,rdk里面有沒有什么接口或者API能讓
    發(fā)表于 06-23 04:51

    基于ARM Linux的無線音視頻對講系統(tǒng)

    開源的Speex算法消除了回音。具體做法:將該算法編譯成庫文件,加入到Linux內(nèi)核,即可以使用Speex 的API函數(shù),實(shí)現(xiàn)音頻的回音消除?! ?.3嵌入式音視頻同步  本文的基本思想是以
    發(fā)表于 07-24 13:48

    什么是音視頻同步?音視頻同步的影響因素有哪些?

    什么是音視頻同步?有什么要求?音視頻同步的影響因素有哪些?音視頻同步的常見技術(shù)有哪些?
    發(fā)表于 06-15 08:48

    音視頻邊緣計(jì)算

    今天讀到一篇關(guān)于音視頻邊緣計(jì)算的帖子音視頻合成的云邊緣計(jì)算實(shí)現(xiàn)文章里有兩個(gè)要點(diǎn)1)邊緣計(jì)算 具體功能有:流合成 錄像 水印 送審等功能 這些多數(shù)設(shè)計(jì)到需要對媒體數(shù)據(jù)做處理2)作者再部署的部署
    發(fā)表于 10-29 08:34

    FFMPEG如何進(jìn)行音視頻同步

    自己百度吧!  1、幀率控制  幀率控制的方法有千萬種,最2的方法無非是每解碼/顯示一幀就進(jìn)行延時(shí),為了方便我們在進(jìn)行幀率控制的同時(shí)能夠理解音視頻同步,我在此采用PCR
    發(fā)表于 08-23 16:27

    音視頻

    音視頻技術(shù)都喜歡深究內(nèi)部最核心的原理和機(jī)制,尤其是ffmpeg這個(gè)編解碼庫,可以說是音視頻領(lǐng)域事實(shí)上的標(biāo)準(zhǔn)。語音智能算法,語言語義分析和理解,流媒體服務(wù)器等高端技術(shù)也都基于它而構(gòu)建。希望有幸獲得本書,深度學(xué)習(xí)ffmpeg核心技術(shù),和作者一起在技術(shù)海洋中探索和進(jìn)步。
    發(fā)表于 11-23 08:51

    MPEG4音視頻編碼卡的設(shè)計(jì)與實(shí)現(xiàn)

    摘 要:本文介紹了一塊基于PCI總線的單路MPEG4音視頻編碼卡的設(shè)計(jì)與實(shí)現(xiàn)。該卡實(shí)現(xiàn)音視頻流的實(shí)時(shí)MPEG4編碼壓縮,并通過通用PC平臺(tái)可以
    發(fā)表于 03-11 13:18 ?1764次閱讀
    MPEG4<b class='flag-5'>音視頻</b>編碼卡的設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>

    音視頻/信號(hào)分配器,音視頻/信號(hào)分配器是什么意思

    音視頻/信號(hào)分配器,音視頻/信號(hào)分配器是什么意思     音視分配器專為音視頻信號(hào)在傳播中進(jìn)行分配而設(shè)計(jì),適用于KTV、MTV
    發(fā)表于 03-26 09:51 ?2688次閱讀

    根據(jù)互聯(lián)網(wǎng)音視頻的手機(jī)視頻監(jiān)控幼兒園應(yīng)用方案

    根據(jù)互聯(lián)網(wǎng)音視頻的手機(jī)視頻監(jiān)控幼兒園應(yīng)用方案 宙斯眼手機(jī)視頻監(jiān)控系統(tǒng)是一種基于互聯(lián)網(wǎng)音視頻應(yīng)用的新型
    發(fā)表于 03-29 08:53 ?1265次閱讀
    根據(jù)互聯(lián)網(wǎng)<b class='flag-5'>音視頻</b>的手機(jī)<b class='flag-5'>視頻</b>監(jiān)控幼兒園應(yīng)用<b class='flag-5'>方案</b>

    基于RTP 的H.323視頻會(huì)議系統(tǒng)音視頻同步

    本文針對H.323 視頻會(huì)議系統(tǒng)設(shè)計(jì)了一種基于RTP 的音視頻同步方法,該方法在嚴(yán)格遵守RTP 協(xié)議的前提下,將
    發(fā)表于 09-21 15:27 ?4358次閱讀
    基于RTP 的H.323<b class='flag-5'>視頻</b>會(huì)議系統(tǒng)<b class='flag-5'>音視頻</b><b class='flag-5'>同步</b>

    基于i.MX6車載音視頻系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)

    車載音視頻系統(tǒng)的硬件模塊和軟件流程圖,驅(qū)動(dòng)初始化狀態(tài)機(jī)實(shí)現(xiàn)方法。系統(tǒng)測試結(jié)果表明本文提出的音視頻系統(tǒng)實(shí)現(xiàn)
    發(fā)表于 12-31 09:20 ?35次下載

    音視頻集成是什么 音視頻視頻有什么區(qū)別

    音視頻集成是將音頻和視頻設(shè)備、系統(tǒng)和技術(shù)進(jìn)行整合,以實(shí)現(xiàn)全面的音視頻功能和體驗(yàn)的過程。
    發(fā)表于 06-19 17:14 ?2540次閱讀