原創|使用教程|編輯:郝浩|2013-08-30 15:39:24.000|閱讀 538 次
概述:一個或是幾個作為普通的視頻源使用的TVideoGrabber組件,可以進行混合來作為一個TVideoGrabber組件使用,這些普通的組件可以是視頻捕捉設備或是視頻剪輯。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
一個或是幾個作為普通的視頻源使用的TVideoGrabber組件,可以進行混合來作為一個TVideoGrabber組件使用,這些普通的組件可以是視頻捕捉設備或是視頻剪輯。
這個混合的組件獨立于源組件,當第一組組件持續的發送給它視頻幀時,它可以停止、預覽、錄制、暫停等······
源組件可被顯示到混合器組件中:
——作為一個基本的“復制”:在混合模式中的第二個組成部分接收和顯示從第一部分組件來的視頻。
——在需要的時候,將幾個視頻源切換成一個單一的來源。
——最為一個鑲嵌模式,比如說在同一時間用2x2布局顯示4個攝像機。
——交替顯示,比如4攝像機一個接一個的顯示
——一個馬賽克/交替布局,比如16個攝像機用4個交替的2 x2攝像機的馬賽克布局顯示。
結合馬賽克/交替混合
結合馬賽克和交替布局,比如通過打組交替成4 X 4的視頻窗口顯示的4個攝像機來顯示16個攝像機。
Mixer_AddToMixer組件參數:
——第1個參數是源組件的UniqueId
——第2個參數在那個時候不使用,只是將它設置為0
——第3個參數是源將會顯示在的鑲嵌線(對于一個只是交替使用設置為0)
——第4個參數是源將會顯示在的馬賽克列(對于一個只是交替使用設置為0)
——第5個參數是顯示組號(對于一個只是交替使用設置為0)
——第6個參數是顯示組持續的毫秒時間(對于一個只有馬賽克設置為0)
——第 7參數應設置為TRUE
—— 第8參數應設置為TRUE
基本混合(第二個組件從第一組件接收到視頻幀)
在這個模式下,你有第二組組件,可以將第一個組件作為一個視頻源使用。
比如第一個組件使用預覽,第二組件獨立的開始/停止/暫停/恢復錄音的第一個組件,并進行連續的預覽。
VideoGrabber1.VideoSource = vs_VideoCaptureDevice VideoGrabber1.StartPreview() VideoGrabber2.VideoSource = vs_Mixer VideoGrabber2.Mixer_AddToMixer (VideoGrabber1.UniqueID, 0, 0, 0, 0, 0, true, true); VideoGrabber2.StartPreview()
VideoGrabber2將會作為視頻源接收通過VideoGrabber1顯示和發送的視頻。
選擇混合視頻尺寸
默認情況下,混合組件將會使用以下視頻大小:
——在開啟混合組件之前,如果源已經開始,這個混合組件就會使用源尺寸。
——如果源尚未開始,混合組件會開始于320 x240。
在StartRecording StartPreview之前,在混合組件上調用UseNearestVideoSize來選擇視頻尺寸。
VideoGrabberMixer.VideoSource = vs_Mixer VideoGrabberMixer.UseNearestVideoSize (640, 480, true) VideoGrabberMixer.StartPreview()
在需要的時候,將幾個源轉換為一個
類似于用多于一個視頻源的基本混合,可以通過調用Mixer_Activation來轉換源,比如:
1、開啟第1個捕捉設備的預覽:
VideoGrabber1.VideoSource = vs_VideoCaptureDevice VideoGrabber2.VideoDevice = 0 VideoGrabber1.StartPreview()2、開啟第2個捕捉設備的預覽:
VideoGrabber2.VideoSource = vs_VideoCaptureDevice VideoGrabber2.VideoDevice = 1 VideoGrabber2.StartPreview()3、開啟將會使得預覽或記錄在混合模式中的第3個組件
VideoGrabber3.VideoSource = vs_Mixer int MixerId1 = VideoGrabber3.Mixer_AddToMixer (VideoGrabber1.UniqueID, 0, 0, 0, 0, 0, true, true) int MixerId2 = VideoGrabber3.Mixer_AddToMixer (VideoGrabber2.UniqueID, 0, 0, 0, 0, 0, true, true) VideoGrabber3.Mixer_Activation (MixerId2, false) // let' start with MixerId1 activated only VideoGrabber3.StartPreview()4、然后在輸入、激活和停用以及其他之間進行切換:
VideoGrabber3.Mixer_Activation (MixerId1, false) VideoGrabber3.Mixer_Activation (MixerId2, true) or VideoGrabber3.Mixer_Activation (MixerId2, false) VideoGrabber3.Mixer_Activation (MixerId1, true)
>>>TVideoGrabber 下載
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件