caozhiyuan930204
2017-08-23 07:44
采纳率: 33.3%
浏览 4.7k
已采纳

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • jhlong12345 2017-09-07 03:35
    已采纳

    知道怎么解决了

    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
    
    点赞 打赏 评论
  • caozhiyuan930204 2017-08-23 07:49

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

    点赞 打赏 评论
  • caozhiyuan930204 2017-08-23 07:49

    图片说明

    点赞 打赏 评论
  • caozhiyuan930204 2017-09-08 01:49

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

    点赞 打赏 评论
  • caozhiyuan930204 2017-09-08 02:25

    @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还能打开默认摄像头

    点赞 打赏 评论
  • jhlong12345 2017-09-08 06:39

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

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

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

    点赞 打赏 评论

相关推荐 更多相似问题