vlc 二次开发连接本地摄像头

打算把所有的连接摄像头的都统一使用vlclib,但是连接本地摄像头的时候无法去区分连接哪个摄像头,比如我有两个摄像头无论参数怎么填都只打开默认摄像头
初始化的时候m_media = libvlc_media_new_location(m_vlcInstance, connStr.c_str());
其中connStr = "dshow:// :dshow-vdev=\"USB2.0 PC CAMERA\""
是参函数调用错误还是版本问题,请各路大神多多指导
最后说一句,是在windows下

6个回答

知道怎么解决了

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");

                    LocationMedia里后面的参数没一点用处的,必须.AddOption

用vlc自带的软件填参数打开,在dos命令下可以正常打开,软件中填参数,无论参数如何填都是打开默认摄像头![图片说明](https://img-ask.csdn.net/upload/201708/23/1503474547_883100.png)图片说明

图片说明

@jhlong12345 请问你这是把vlclib又封装了一层么,可以把内部代码发来我看一下不,看一下这个addOption是怎么添加的,或者你怎么封装的能拿来看一下也可以

@jhlong12345 知道真没添加了,但是添加之后摄像头打不开,这个格式不知道怎么改怎么弄
第一种:
m_media = libvlc_media_new_location(m_vlcInstance, connStr.c_str());
libvlc_media_add_option(m_media, ":dshow-vdev=STARTEC 1.3MP Webcam");
第二种:
m_media = libvlc_media_new_location(m_vlcInstance, connStr.c_str());
libvlc_media_add_option(m_media, ":dshow-vdev=\"STARTEC 1.3MP Webcam\"");
都打不开,如果不addoption还能打开默认摄像头

这个是Vlc.DotNet,似乎是对libvlc的又一层封装,用起来比较方便的
https://github.com/ZeBobo5/Vlc.DotNet
http://download.csdn.net/download/wangdaoyin2010/9272829

摄像头名字用aforge获取了根据index,vlc没发现接口。

主要是aforge跟摄像头sdk在我这奇葩电脑上都是打开摄像头崩溃 才找这个另一种打开摄像头的方法的

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问