Я следовал этой инструкции link , чтобы добавить библиотеки Vlc.DotNet
(.Core
, .Core.Interops
, .Forms
и .Wpf
) в решение моего проекта.
Я также добавил версию 3.0.0 библиотеки VideoLAN.LibVLC.Windows
.
Я добавил vlcControl в свою форму, и в результате получается Designer.cs
:
//
// vlcControl1
//
this.vlcControl1.BackColor = System.Drawing.Color.Black;
this.vlcControl1.Location = new System.Drawing.Point(384, 357);
this.vlcControl1.Name = "vlcControl1";
this.vlcControl1.Size = new System.Drawing.Size(75, 23);
this.vlcControl1.Spu = -1;
this.vlcControl1.TabIndex = 6;
this.vlcControl1.Text = "vlcControl1";
this.vlcControl1.VlcLibDirectory = ((System.IO.DirectoryInfo)(resources.GetObject("vlcControl1.VlcLibDirectory")));
this.vlcControl1.VlcMediaplayerOptions = null;
I 'Мы добавили фиктивный VlcLibDirectory в свойства, чтобы я мог изменить его позже.
Путь к x86-версии моего vlcLib: E:\testLouka\dansMaCamera2.0\dansMaCamera2.0\libvlc\win-x86
Я попытался использовать следующий код, чтобы получитьпоток видео из URL-адреса потока RTSP:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.vlcControl1 = new VlcControl()
{
Name = "vlc1",
Location = new Point(0, 0),
Dock = DockStyle.Fill,
VlcLibDirectory = new DirectoryInfo(Path.Combine("E:\\testLouka\\dansMaCamera2.0\\dansMaCamera2.0", "libvlc", IntPtr.Size == 4 ? "win-x86" : "win-x64")),
Spu = -1,
VlcMediaplayerOptions = null,
Enabled = true
};
string[] options = { ":network-caching=500" };
vlcControl1.Play(new Uri(m_stream.URL), options);
}
}
переменная m_stream.URL
возвращает ссылку RTSP, выглядящую как "rtsp://admin:admin123@190.19.191.19/Stream0
"
Моя форма отображается, но мой vlcController неничего не показывать ...
Я посмотрел https://github.com/ZeBobo5/Vlc.DotNet's вики, но я застрял ...
Что я здесь не так делаю?