一種多路視頻同步回放方法及裝置製造方法
2023-09-11 19:27:40 2
一種多路視頻同步回放方法及裝置製造方法
【專利摘要】本發明適用於監控【技術領域】,提供了一種多路視頻同步回放方法及裝置,所述多路視頻同步回放方法包括:獲取當前播放的多路視頻的多個時間戳;在所述多路視頻的多個時間戳中,選定其中一路視頻為標準視頻,所述標準視頻的時間戳為標準時間戳;根據所述標準時間戳,調整所述多路視頻的視頻幀,直至同步播放所述多路視頻。本發明根據標準時間戳,調整多路視頻的視頻幀,直至同步播放多路視頻,避免了在定位過程中,因查找線程堵塞或解碼速率跟不上視頻幀速率,出現多路視頻不能同步回放的情況,使得同一時間可以同時回放多路視頻,從而既減少了多路視頻同步回放的線程,也提高多路視頻同步回放的速度。
【專利說明】—種多路視頻同步回放方法及裝置
【技術領域】
[0001]本發明屬于于監控【技術領域】,尤其涉及一種多路視頻同步回放方法及裝置。
【背景技術】
[0002]硬碟錄像機(DigitalVideoRecorder,DVR),即數字視頻錄像機,採用硬碟錄像,具有對圖像/語音進行長時間錄像、錄音、遠程監視和控制的功能。隨著網絡帶寬、計算機處理能力和存儲容量的迅速提高以及各種實用視頻信息處理技術的出現,視頻監控進入了全數位化的網絡時代,即是通常所說的第三代視頻監控系統。數位化監控以其直觀、方便和內容豐富等特點,日益受到人們的重視和關注。
[0003]然而,現有的DVR支持多路視頻採集,在使用時間戳進行幀同步的基礎上實現了對多路視頻的同步回放,其存在兩個方面的主要缺點,詳述如下:
[0004]第一方面,在DVR進行多路視頻同步播放時,需要先查找定位多路視頻的視頻幀信息,其原因在於,採用DVR原有的視頻幀查找定位,需要通篇讀取多路視頻中視頻幀,才能夠準確定位視頻幀的位置信息,因此,容易造成線程堵塞,出現多路視頻回放不同步現象。
[0005]第二方面,在DVR進行多路視頻同步播放時,多路視頻與音頻混合編碼,在進行解碼播放線程時,往往因為視頻的解碼速率跟不上視頻幀速率,導致視頻回放時只能一一播放,因此,無法進行多路視頻同步回放。
【發明內容】
[0006]本發明實施例的目的在於提供一種多路視頻同步回放方法及裝置,旨在解決多路視頻在同步回放時,因查找定位過程中線程堵塞或解碼速率跟不上視頻幀速率,導致多路視頻無法實現同步回放的問題。
[0007]本發明實施例是這樣實現的,一種多路視頻同步回放方法,包括:
[0008]獲取當前播放的多路視頻的多個時間戳;
[0009]在所述多路視頻的多個時間戳中,選定其中一路視頻為標準視頻,所述標準視頻的時間戳為標準時間戳;
[0010]根據所述標準時間戳,調整所述多路視頻的視頻幀,直至同步播放所述多路視頻。
[0011]本發明實施例的另一目的在於提供多路視頻同步回放裝置,包括:
[0012]時間戳獲取模塊,用於獲取當前播放的多路視頻的多個時間戳;
[0013]標註時間戳選擇模塊,用於在所述多路視頻的多個時間戳中,選定其中一路視頻為標準視頻,所述標準視頻的時間戳為標準時間戳;
[0014]同步處理模塊,用於根據所述標準時間戳,調整所述多路視頻的視頻幀,直至同步播放所述多路視頻。
[0015]在本實施例中,根據標準時間戳,調整多路視頻的視頻幀,直至同步播放多路視頻,避免了在定位過程中,因查找線程堵塞或解碼速率跟不上視頻幀速率,出現多路視頻不能同步回放的情況,使得同一時間可以同時回放多路視頻,從而既減少了多路視頻同步回放的線程,也提高多路視頻同步回放的速度。
【專利附圖】
【附圖說明】
[0016]圖1是本發明實施例提供的多路視頻同步回放方法的實現流程圖;
[0017]圖2是本發明實施例提供的多路視頻同步回放方法步驟S103的實現流程圖;
[0018]圖3是本發明實施例提供的多路視頻同步回放方法解碼緩存的實現流程圖;
[0019]圖4是本發明實施例提供的多路視頻同步回放裝置的第一結構框圖;
[0020]圖5是本發明實施例提供的多路視頻同步回放裝置的第二結構圖;
[0021]圖6是本發明實施例提供的多路視頻同步回放裝置的第三結構圖;
[0022]圖7是本發明實施例提供的多路視頻同步回放裝置的第四結構圖。
【具體實施方式】
[0023]為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。
[0024]實施例一
[0025]參考圖1,圖1是本發明實施例提供的多路視頻同步回放方法的實現流程圖,詳述如下:
[0026]在步驟S101中,獲取當前播放的多路視頻的多個時間戳;
[0027]在步驟S102中,在所述多路視頻的多個時間戳中,選定其中一路視頻為標準視頻,所述標準視頻的時間戳為標準時間戳;
[0028]在步驟S103中,根據所述標準時間戳,調整所述多路視頻的視頻幀,直至同步播放所述多路視頻。
[0029]其中,在視頻編碼打包生成錄像包文件的,所述視頻編碼是採用壓縮技術,將視頻的格式進行轉換,壓縮編碼可以為MPEG與Η.26X形式。
[0030]其中,在多路視頻解碼線程中,解碼器對視頻流的解碼播放時通過逐幀處理循環調用的,一次循環只完成一幀圖像的解碼、處理、顯示;而且在循環的運行速度加以控制,解碼播放線程將以最高速度運行,因此,必須加入對線程的暫停操作來減緩循環執行頻率,從而實現對播放速率的控制。
[0031]在本實施例中,根據標準時間戳,調整多路視頻的視頻幀,直至同步播放多路視頻,避免了在定位過程中,因查找線程堵塞或解碼速率跟不上視頻幀速率,出現多路視頻不能同步回放的情況,使得同一時間可以同時回放多路視頻,從而既減少了多路視頻同步回放的線程,也提高多路視頻同步回放的速度。
[0032]實施例二
[0033]在預先配置的索引表內獲取當前播放的多路視頻的多個時間戳。
[0034]在本實例中,提取的當前播放的多路視頻的多個視頻幀,所述視頻幀為關鍵幀,靠儘可能去除圖像空間冗餘信息來壓縮傳輸數據量的幀內編碼圖像,通過所述視頻幀的時間信息與所述視頻幀的偏移地址對應建立每路視頻的索引表,讀取每路索引表的信息,即可獲取該路視頻內的具體信息。
[0035]實施例三
[0036]提取多路視頻中視頻幀的時間信息,根據所述時間信息配置索引表。
[0037]其中,所述錄像包文件包括錄像包頭部信息與多路視頻;視頻幀索引表的信息包括視頻幀時間與視頻幀在多路視頻中的偏移地址。
[0038]在本實施例中,將生成的錄像包文件的視頻幀索引表添加至錄像包文件尾部,即是多路視頻尾部,視頻幀索引表的地址依次添加至錄像包頭部信息內,每一路的視頻幀索引表依次存儲至該路視頻尾部,便於在回放查找定位時,通過讀取錄像包文件的時候迅速定位到視頻幀索引表,再通過視頻幀索引表獲取錄像包內的具體信息。
[0039]實施例四
[0040]參考圖2,圖2是本發明實施例提供的多路視頻同步回放方法步驟S103的實現流程圖,詳述如下:
[0041]根據所述標準時間戳,在所述多路視頻中,調整除所述標準視頻以外的視頻的視頻幀,直至同步播放所述多路視頻,具體為:
[0042]在步驟S201中,根據所述標準時間戳,在所述多路視頻中,判斷所述標準視頻以外的視頻的時間戳是否大於所述標準時間戳;
[0043]在步驟S202中,當所述視頻的時間戳大於所述標準時間戳時,則重新輸出上一視頻幀,直至所述視頻的時間戳與所述標準時間戳相同;
[0044]在步驟S203中,當所述視頻的時間戳小於所述標準時間戳的情況下,丟掉所述視頻當前幀數據,獲取下一視頻幀,直至視頻的時間戳與所述標準時間戳相同。
[0045]其中,多路視頻可以為4、6、9、12、16、32或者更多路視頻,此處,優選為4路視頻;另外3路視頻一一與該標準時間戳進行對比處理,如果某路視頻的時間戳大於標準時間戳時,則重新輸出該路視頻的上一幀視頻數據;如果某路視頻的時間戳小於標準時間戳時,則出現丟幀現象,直接獲取該路視頻的下一幀視頻數據,到達調準時間戳而實現視頻數據的同步。
[0046]實施例五
[0047]參考圖3,圖3是本發明實施例提供的多路視頻同步回放方法的解碼緩存實現流程圖,詳述如下:
[0048]在步驟S301中,根據多路視頻中解碼器幀率與視頻流幀率差值比較,確定解碼緩存的顯示時長;
[0049]在本實例中,設置變量Toverflow表示為「目前為止各幀顯示總時長超出其應用總時長的時間差」,假設某時第η幀經過暫停線程msle印(t)顯示,調用clockO函數得到此時時間tn之後線程繼續運行至下一幀準備好被顯示時,則第η幀以顯示的時長Τη =clock 0~tn+l ;
[0050]在步驟S302中,根據解碼緩存的顯示時長,調整多路視頻中緩存解碼直至同步。
[0051]當視頻解碼器幀率顯示的時長Τη大於視頻流幀率每幀圖像顯示的時長Tf時,將Tn-Tf的值加入Toverf low,直接進入n+1巾貞顯示;
[0052]在本實例中,η幀的顯示時長超過了它應該顯示時長,因為n+1幀解碼消耗過多時間,所以將Tn-Tf的時長差值加入Toverf low,實現視頻快進形式,直接進入n+1巾貞顯示。
[0053]當視頻解碼器幀率顯示的時長Τη不大於視頻流幀率每幀圖像顯示的時長長Tf時,且Tf-Tn的值小於Toverf low當前累計的值,將Toverf low減去Tf_Tn的值,直接進入n+1巾貞顯示;
[0054]在本實例中,使在播放的視頻實現倒退,達到解碼後同步顯示的目的。
[0055]當視頻解碼器幀率顯示的時長Τη不大於視頻流幀率每幀圖像顯示的時長Tf時,且Tf-Tn的值不小於Toverf low當前累計的值,暫停線程msleep (t)暫停Tf-Tn-Toverf low的時長,然後清空Toverf low並進入。
[0056]在本實施例中,當Tf-Tn的顯示時長差值不小於Toverflow當前累計的值,其中,包括Toverflow為零的情況,當暫停了 Tf-Tn-Toverflow時長時,清空Toverflow的累積值,進入n+1巾貞顯示。
[0057]實施例六
[0058]圖4是本發明實施例提供的多路視頻同步回放裝置的第一結構框圖,該多路視頻同步回放裝置可以運行於伺服器。為了便於說明,僅示出了與本實施例相關的部分。
[0059]參照圖4,該多路視頻同步回放裝置,包括:
[0060]時間戳獲取模塊41,用於獲取當前播放的多路視頻的多個時間戳;
[0061]標註時間戳選擇模塊42,用於在所述多路視頻的多個時間戳中,選定其中一路視頻為標準視頻,所述標準視頻的時間戳為標準時間戳;
[0062]同步處理模塊43,用於根據所述標準時間戳,調整所述多路視頻的視頻幀,直至同步播放所述多路視頻。
[0063]在本實施例的一種實現方式中,參照圖5,圖5是本發明實施例提供的多路視頻同步回放裝置的第二結構圖,在該多路視頻同步回放裝置中,所述時間戳獲取模塊41包括:
[0064]索引表配置單元411,提取多路視頻中視頻幀的時間信息,根據所述時間信息配置索引表。
[0065]在本實例中,所述索引表包括視頻幀時間信息與視頻幀的偏移地址,所述索引表對應保存在多路視頻的尾部;將所述索引表的地址添加至多路視頻的頭部,根據所述索引表內視頻幀時間信息與視頻幀的偏移地址獲取當前播放的多路視頻的多個時間戳。
[0066]時間戳獲取單元412,在預先配置的索引表內獲取當前播放的多路視頻的多個時間戳
[0067]在本實例中,提取當前播放的多路視頻的多個視頻幀時間信息,根據所述多個視頻幀時間信息建立對應的索引表,在所述索引表內獲取當前播放的多路視頻的多個時間戳。
[0068]在本實施例的一種實現方式中,參照圖6,圖6是本發明實施例提供的多路視頻同步回放裝置的第三結構圖,在該多路視頻同步回放裝置中,所述同步處理模塊43包括:
[0069]同步處理單元431,用於根據所述標準時間戳,在所述多路視頻中,調整除所述標準視頻以外的視頻的視頻幀,直至同步播放所述多路視頻。
[0070]在本實施例的一種實現方式中,參照圖7,圖7是本發明實施例提供的是多路視頻同步回放裝置的第四結構圖,在該多路視頻同步回放裝置中,所述同步處理單元431,包括:
[0071]判斷子單元4311,用於根據所述標準時間戳,在所述多路視頻中,判斷所述標準視頻以外的視頻的時間戳是否大於所述標準時間戳;
[0072]第一同步子單元4312,用於當所述視頻的時間戳大於所述標準時間戳時,則重新輸出上一視頻幀,直至所述視頻的時間戳與所述標準時間戳相同;
[0073]第二同步子單元4313,用於當所述視頻的時間戳小於所述標準時間戳的情況下,丟掉所述視頻當前幀數據,獲取下一視頻幀,直至視頻的時間戳與所述標準時間戳相同。
[0074]本發明實施例提供的裝置可以應用在前述對應的方法實施例中,詳情參見上述實施例的描述,在此不再贅述。
[0075]通過以上的實施方式的描述,所屬領域的技術人員可以清楚地了解至本發明可藉助軟體加必需的通用硬體的方式來實現。所述的程序可以存儲於可讀取存儲介質中,所述的存儲介質,如隨機存儲器、快閃記憶體、只讀存儲器、可編程只讀存儲器、電可擦寫可編程存儲器、寄存器等。該存儲介質位於存儲器,處理器讀取存儲器中的信息,結合其硬體執行本發明各個實施例所述的方法。
[0076]以上所述,僅為本發明的【具體實施方式】,但本發明的保護範圍並不局限於此,任何熟悉本【技術領域】的技術人員在本發明揭露的技術範圍內,可輕易想至的變化或替換,都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應以權利要求的保護範圍為準。
【權利要求】
1.一種多路視頻同步回放方法,其特徵在於,包括: 獲取當前播放的多路視頻的多個時間戳; 在所述多路視頻的多個時間戳中,選定其中一路視頻為標準視頻,所述標準視頻的時間戳為標準時間戳; 根據所述標準時間戳,調整所述多路視頻的視頻幀,直至同步播放所述多路視頻。
2.根據權利要求1所述的多路視頻同步回放方法,其特徵在於,所述獲取當前播放的多路視頻的多個時間戳,具體為: 在預先配置的索引表內獲取當前播放的多路視頻的多個時間戳。
3.根據權利要求2所述的多路視頻同步回放方法,其特徵在於,所述在所述索引表內獲取當前播放的多路視頻的多個時間戳之前,包括: 提取多路視頻中視頻幀的時間信息,根據所述時間信息配置索引表。
4.根據權利要求1所述的多路視頻同步回放方法,其特徵在於,所述根據所述標準時間戳,調整所述多路視頻的視頻幀,直至同步播放所述多路視頻,具體為: 根據所述標準時間戳,在所述多路視頻中,調整除所述標準視頻以外的視頻的視頻幀,直至同步播放所述多路視頻。
5.根據權4所述的多路視頻同步回放方法,所述根據所述標準時間戳,在所述多路視頻中,調整除所述標準視頻以外的視頻的視頻幀,直至同步播放所述多路視頻,具體為: 根據所述標準時間戳,在所述多路視頻中,判斷所述標準視頻以外的視頻的時間戳是否大於所述標準時間戳; 當所述視頻的時間戳大於所述標準時間戳時,則重新輸出上一視頻幀,直至所述視頻的時間戳與所述標準時間戳相同; 當所述視頻的時間戳小於所述標準時間戳的情況下,丟掉所述視頻當前幀數據,獲取下一視頻幀,直至視頻的時間戳與所述標準時間戳相同。
6.一種多路視頻同步回放裝置,其特徵在於,包括: 時間戳獲取模塊,用於獲取當前播放的多路視頻的多個時間戳; 標註時間戳選擇模塊,用於在所述多路視頻的多個時間戳中,選定其中一路視頻為標準視頻,所述標準視頻的時間戳為標準時間戳; 同步處理模塊,用於根據所述標準時間戳,調整所述多路視頻的視頻幀,直至同步播放所述多路視頻。
7.根據權利要求6所述的多路視頻同步回放裝置,其特徵在於,所述時間戳獲取模塊,包括: 時間戳獲取單元,在預先配置的索引表內獲取當前播放的多路視頻的多個時間戳。
8.根據權利要求7所述的多路視頻同步回放裝置,其特徵在於,所述時間戳獲取模塊,還包括: 索引表配置單元,提取多路視頻中視頻幀的時間信息,根據所述時間信息配置索引表。
9.根據權利要求6所述的多路視頻同步回放裝置,其特徵在於,同步處理模塊包括: 同步處理單元,用於根據所述標準時間戳,在所述多路視頻中,調整除所述標準視頻以外的視頻的視頻幀,直至同步播放所述多路視頻。
10.根據權利要求9所述的多路視頻同步回放裝置,其特徵在於,所述同步處理單元包 括: 判斷子單元,用於根據所述標準時間戳,在所述多路視頻中,判斷所述標準視頻以外的視頻的時間戳是否大於所述標準時間戳; 第一同步子單元,用於當所述視頻的時間戳大於所述標準時間戳時,則重新輸出上一視頻幀,直至所述視頻的時間戳與所述標準時間戳相同; 第二同步子單元,用於當所述視頻的時間戳小於所述標準時間戳的情況下,丟掉所述視頻當前幀數據,獲取下一視頻幀,直至視頻的時間戳與所述標準時間戳相同。
【文檔編號】H04N7/18GK104410807SQ201410681595
【公開日】2015年3月11日 申請日期:2014年11月24日 優先權日:2014年11月24日
【發明者】莊少華, 陳文明, 江常杯 申請人:深圳市華寶電子科技有限公司