使用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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM