视频图像处理系列索引 || Arcgis/Engine/Server开发索引 || Web Map Gis开发索引 || jquery表格组件 JQGrid索引
WPF MVVM模式开发实现简明教程索引 || ArcGIS Runtime WPF(.net C#)开发简明教程索引

使用Vlc.DotNet打开摄像头并截图 C#

 

 参考上一篇  使用vlc打开usb摄像头

 

理论上输入下面地址

"dshow:// :dshow-size=1600*1200:dshow-vdev=USB CAM2"
C#就能打开摄像头了
类似打开本地文件或者rtsp之类的网络地址

但实际测试怎么着都是打开第一个摄像头,第二个怎么也打不开

实际上vlc打开网络串流那里复制这个地址进去也是只能打开第一个摄像头

 


注意到

media.AddOption
这个方法
就试了一下,发现分辨率可以控制了,摄像头也可以选择了

但这里需要摄像头名字
:dshow-vdev

就只好根据上一篇AForge来获取了

使用AForge.NET Framework打开摄像头并截图 C#


反正研究这个就是为了补充AForge不支持的摄像头打开。AForge开发轻松得多,也更好用

 

Vlc.DotNet.Forms.VlcControl cc = new  Vlc.DotNet.Forms.VlcControl();
            cc.Width = 500;
            cc.Height = 400;
            cc.Top = 100;
            cc.Left = 100;

            Vlc.DotNet.Core.Medias.MediaBase media = new Vlc.DotNet.Core.Medias.LocationMedia("dshow:// ");
            media.AddOption(":dshow-size=1600*1200");
            media.AddOption(":dshow-vdev=USB CAM2");

            cc.Play(media);
            this.Controls.Add(cc);
            cc.BringToFront();



            //cc.TakeSnapshot("D:\\111.jpg", 1600, 1200);//截图

 

 注意

Vlc.DotNet.Core.Medias.MediaBase media = new Vlc.DotNet.Core.Medias.LocationMedia("dshow:// ");
初始化MediaBase 时只需
"dshow:// "
即可

选择哪个相机需要AddOption
,选择分辨率之类的参数也要AddOption

但不支持相机index,必须相机name,可以参考使用AForge.NET Framework打开摄像头 C#获取对应index的name

 

posted @ 2017-09-07 11:49  jhlong  阅读(7071)  评论(0编辑  收藏  举报
海龙的博客 jhlong@cnblogs 版权所有© 转载请注明链接.有用请推荐一下
代码全部经过本人测试,但不保证复制粘贴就正常运行,更不保证能解决你的问题,请结合前后代码及描述理解后修改和使用