J
johny8209
Unregistered / Unconfirmed
GUEST, unregistred user!
Q:如何获取采集卡上不同通道的影像?
不才第一次从事视频采集方面的开发,希望从事这方面研究的DFW们能指点在下一二,不胜感激之至.
视频采集卡使用4口PV-14N PCI卡,BT878芯片,用DSPack进行程序开发,现碰到的问题是能从采集卡上获取影像,但影像只能显示在一个视频播放窗口,且是轮Port影像,也就是说影像先播放几秒第一口的视频,再播放几秒第二口的视频...不能进行视频分离,每个视频采集口独立进行影像采集,有没有办法获取不同通道上的影像?
我的原码如下:
...
FilterGraph: TFilterGraph;
VideoWindow: TVideoWindow;
...
procedure CapVideo;
begin
FilterGraph.ClearGraph;
FilterGraph.Active := false;
Filter.BaseFilter.Moniker := SysDev.GetMoniker(0);//第一个卡上的影像
FilterGraph.Active := true;
with FilterGraph as ICaptureGraphBuilder2do
RenderStream(@PIN_CATEGORY_PREVIEW, nil, Filter as IBaseFilter, SampleGrabber as IBaseFilter, VideoWindow as IbaseFilter);
FilterGraph.Play;
end;
不才第一次从事视频采集方面的开发,希望从事这方面研究的DFW们能指点在下一二,不胜感激之至.
视频采集卡使用4口PV-14N PCI卡,BT878芯片,用DSPack进行程序开发,现碰到的问题是能从采集卡上获取影像,但影像只能显示在一个视频播放窗口,且是轮Port影像,也就是说影像先播放几秒第一口的视频,再播放几秒第二口的视频...不能进行视频分离,每个视频采集口独立进行影像采集,有没有办法获取不同通道上的影像?
我的原码如下:
...
FilterGraph: TFilterGraph;
VideoWindow: TVideoWindow;
...
procedure CapVideo;
begin
FilterGraph.ClearGraph;
FilterGraph.Active := false;
Filter.BaseFilter.Moniker := SysDev.GetMoniker(0);//第一个卡上的影像
FilterGraph.Active := true;
with FilterGraph as ICaptureGraphBuilder2do
RenderStream(@PIN_CATEGORY_PREVIEW, nil, Filter as IBaseFilter, SampleGrabber as IBaseFilter, VideoWindow as IbaseFilter);
FilterGraph.Play;
end;