從廣電制作到專業(yè)視聽,音視頻的同步是很多方案設(shè)計中必須考慮的重要環(huán)節(jié)。以大屏顯示為例,當(dāng)多個屏幕通過拼接技術(shù)顯示同一個畫面時,如果屏幕接收到的畫面之間不做同步處理,最終呈現(xiàn)的視頻很可能出現(xiàn)畫面拉絲的結(jié)果。為了實現(xiàn)音視頻同步,解決各類實際應(yīng)用中的挑戰(zhàn),人們探索了很多種方法和技術(shù)。在廣電行業(yè)中,比較常用的是Genlock同步鎖相技術(shù)-通過生成統(tǒng)一的時間碼來同步信號源的時鐘,實現(xiàn)同步的目的;而PTP(精準(zhǔn)時間協(xié)議)則常用于同步整個計算機(jī)網(wǎng)絡(luò)中的時鐘。然而在使用采集卡的方案中,有沒有更好的方法來實現(xiàn)視頻之間的同步呢?我們將在本文重點探討這個問題。
首先我們來看一下使用采集卡方案的基本工作流。采集卡作為視頻源和電腦主機(jī)之間的橋梁,將外部的視頻信號以幀或場為單位采集到電腦的CPU后交給應(yīng)用程序?qū)崿F(xiàn)后續(xù)操作。在這個過程中,應(yīng)用程序需要依據(jù)視頻信號上的時間戳信息來實現(xiàn)同步。研發(fā)人員都了解操作系統(tǒng)可以給進(jìn)入電腦的視頻打上時間信息,然而由系統(tǒng)打上的時間信息并不精確。如果采集卡硬件本身能給視頻打上時間戳將能很好的解決這個問題。美樂威的采集卡上都包含了板載晶振,能為每一個采集通道提供一個獨立的硬件時鐘,每一個音視頻幀到達(dá)采集卡的時間都會標(biāo)記一個以100納秒為單位的時間戳,時間戳就可以用來同步顯示多個采集通道采集的視頻畫面。
想要獲取由板載晶振打上精準(zhǔn)時間戳的視頻數(shù)據(jù),軟件研發(fā)人員需要調(diào)用美樂威MWCapture SDK中的美樂威采集接口。此外由于各采集通道的時鐘相互獨立,要想實現(xiàn)多通道畫面的同步首先得讓各個采集通道的硬件時鐘同步,也就是要將其設(shè)置為相同的基準(zhǔn)值。在采集之前先獲取某一采集通道的當(dāng)前時鐘值,然后以該通道的時鐘值作為時鐘基準(zhǔn)值設(shè)置到其他采集通道中。比如有4路采集通道,可以通過接口讀取第1路通道的時鐘值,然后再將其時鐘值設(shè)置給2、3、4路通道。
待各路采集通道的硬件時鐘同步后各通道就能夠基于同一個時鐘來打時間戳。在做畫面同步時,可以以1通道的視頻時間戳為基準(zhǔn),如果其它通道最近一幀的時間戳和其誤差在一定范圍內(nèi),那么即可認(rèn)為四個通道最近采集的4幀視頻屬于同一個畫面。
對“如何采集多通道視頻并實現(xiàn)視頻的同步和拼接”感興趣的讀者,可以參考開發(fā)人員文章。(https://cn.magewell.com/developer/14/detail)
美樂威(MAGEWELL)是一家專注于音視頻技術(shù)的設(shè)計研發(fā)型企業(yè),于2011年成立,位于中國南京。
公司圍繞采集、編碼和傳輸三大核心技術(shù)推出了包括I/O、轉(zhuǎn)換和編碼三大產(chǎn)品系列。
產(chǎn)品服務(wù)于廣電制作和專業(yè)視聽兩大核心領(lǐng)域,并廣泛應(yīng)用于視頻會議、醫(yī)療影像、教育培訓(xùn)、娛樂服務(wù)等眾多垂直行業(yè)。