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