DirectShow视频采集保存的有关问题
发布时间:2011-06-27 19:27:23 文章来源:www.iduyao.cn 采编人员:星星草
DirectShow视频采集保存的问题
我想用C#+Directshow做了一个视频采集程序,能够同时进行预览、截图,在不影响预览和截图的情况下随机截取一段视频保存。
但是以我现在的知识,我只能做到从IMediaControl.Run()到程序关闭一直都进行采集保存,能不能截取中间一个随机时间段进行保存,比如设置一个Button,当第一次点击Button的时候开始保存,第二次点击的时候保存结束,这样重复的点击,将视频保存为几个不同的文件,但是不影响视频采集的预览和截图,请各位师兄指教……~~
部分代码如下:
IGraphBuilder graphBuilder=(IGraphBuilder)new FilterGraph();
IMediaControl mediaControl=graphBuiler as IMediaControl;
ICaptureGraphBuilder2 captureGraphBuilder=(ICaptureGraphBuilder2)new CaptureGraphBuiler2();
ISampleGrabber sampleGrabber;
IBaseFilter sourceFilter; //视频采集设备的源Filter
IBaseFilter aviWriter; //保存文件的Filter
………………
………………
………………
captureGraphBuilder.SetFiltergraph(graphBuilder);
sourceFilter = FindCaptureDevice();//自定义函数获取设备源
graphBuilder.AddFilter(sourceFilter, "Video Capture");
sampleGrabber = (ISampleGrabber)new SampleGrabber();
IBaseFilter grabBFilter = (IBaseFilter)sampleGrabber;
ConfigSampleGrabber(sampleGrabber);//自定义函数设置ISampleGrabber
graphBuilder.AddFilter(grabBFilter, "Ds.NET Grabber");
captureGraphBuilder.RenderStream(PinCategory.Preview, MediaType.Video, sourceFilter, grabBFilter, null);//预览与截图
captureGraphBuilder.SetOutputFileName(MediaSubType.Avi, @"C:\A.Avi", out aviWriter,out fsFilter);//设置保存文件并初始化aviWriter
captureGraphBuilder.RenderStream(PinCategory.Capture, MediaType.Video, sourceFilter, null, aviWriter);//保存文件
我不知道最后一段有关保存的代码是否可以在其他地方进行控制,如何控制它的开始与结束,如何重新设置保存的文件名。
------解决方案--------------------
你的要求,必须把采集和保存分开。
with 2 graph.
1. caputer filre ->sample grab->null render
| //samole deliver to source filter.
2. bridge source filter->avi mux->writer.
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
DSHOW push
推模式,ConnectDirect 的,为什么我一直反回错误
下级级用的是HAALI的一个东西,用CMemStream拉模式的时候是可以连接的
...
-
ffmpeg编码后视频速度不正确,质量也不好,求助,求助,求助,求助啊
对采集到得摄像头图像进行编码保存,发现得到的视频质量不好,而且速度不...
-
请问怎么在live555中接收jpeg
请问,我现在想接收一个服务器发送的jpeg 不知道怎么用live555做一个客户端, 接收它并显示。
请问应...
-
XP SP3 YUV420 的fiter依赖 在线等答案……
链接时媒体类型为WMMEDIASUBTYPE_I420
有的XP可以播放出来
有的就不行,请问不能播放...
-
如何获取通过麦克风来获取当前说话的音量?
使用Wave系统API采集音频输入的数据,当数据缓存区满了后,收到消息取得数据后,如何根据这里...
-
RFC3984 有没有完整的中文版本呢?
搜了几个 都是一半英文一半中文的。哎 郁闷!
------解决方案--------------------
英文的凑合...
-
介绍一个学习directshow和com、atl技术的网站
有一个学习directshow和com、atl技术的网站,还可以下视频教程,共享给大家: http://www...
-
攻击帖:jrtplib、live555是个垃圾,刚开始搞流媒体就用这玩意就是找s
不解释~
来丢我砖头吧~~
我分太多了用不完~ 支持的散分~~~
...
-
50分,寻找《Visual C++音频/视频处理技术及工程实践》的随书光盘?
急于使用其中的几个例程。若哪位好心人能够提供,非常感谢!!我的QQ:52...
-
h264的高宽比怎么获取?
我看标准里面只有样点的高宽比啊。
还有,bit rate可以读出来吗?
------解决方案--------------------
是要...