Контроллер VLC не отображает видео

Я пытаюсь передать видео с этого URL-адреса rtsp. Когда я запускаю приложение, я не получаю никаких ошибок, но видео не отображается. Я могу просматривать этот поток в другом приложении, но не в этом. Пожалуйста, посмотрите мой код ниже:

private void Form1_Load(object sender, EventArgs e)
{
    vlcControl1 = new VlcControl();
    vlcControl1.BeginInit();
    vlcControl1.VlcLibDirectory = new DirectoryInfo(@"C:\Program Files (x86)\VideoLAN\VLC");
    vlcControl1.VlcMediaplayerOptions = new[] { "-vv" };
    vlcControl1.EndInit();
    //Controls.Add(this.vlcControl1);

    string[] options = { ":network-caching=30" };

    vlcControl1.Play(new Uri("rtsp://Admin:[email protected]:554/cam/realmonitor?channel=1&subtype=1&unicast=true&proto=Onvif"), options);
}

person Ibanez1408    schedule 29.01.2019    source источник
comment
Зачем создавать новый элемент управления и почему бы не инициализировать свойства в дизайнере? Этот код никогда не добавляет элемент управления в форму, поэтому он отображается   -  person Panagiotis Kanavos    schedule 29.01.2019
comment
Я понимаю вашу точку зрения. Я попробую это.   -  person Ibanez1408    schedule 29.01.2019
comment
Почему вы попробовали этот код вместо стандартного способа? Перетащите элемент управления в конструктор, настройте его и вызовите Play из обработчика событий   -  person Panagiotis Kanavos    schedule 29.01.2019
comment
Я удалил vlcController в форму, и его имя vlcControl1.   -  person Ibanez1408    schedule 29.01.2019
comment
А теперь вы создали второго игрока. Почему? Почему бы просто не написать vlcControl1.Play? Опубликованный вами код выглядит так, как будто он был скопирован с InitializeControls   -  person Panagiotis Kanavos    schedule 29.01.2019
comment
Я знаю. Избавлюсь от нового ..   -  person Ibanez1408    schedule 29.01.2019
comment
Избавьтесь от всего выше string[] options   -  person Panagiotis Kanavos    schedule 29.01.2019
comment
Лучший аватар для Stack Overflow!   -  person Uwe Keim    schedule 31.01.2019


Ответы (1)


Поскольку похоже, что вы используете Vlc.Dotnet, я настоятельно рекомендую вам взять простой образец, например этот и продолжайте.

Кроме того, это плохая практика - разрабатывать приложение с использованием установленных вами библиотек VLC. Обновление вашего локального приложения VLC обновит libvlc для всех ваших приложений, разработанных на его основе (одна из многих причин, почему это плохая идея).

Используйте этот https://www.nuget.org/packages/VideoLAN.LibVLC.Windows/ вместо dll в Program Files.

person mfkl    schedule 31.01.2019
comment
Это очень хороший совет. Я воспользуюсь этим. Спасибо. - person Ibanez1408; 31.01.2019