Мне нужно для потоковой передачи веб-камеры по IP-адресу.После нескольких дней поисков я решил, что самый простой способ - встроить VLC.Тем не менее, я также все еще открыт для других решений.
Шаг 1 - ОК !: Я вижу свою веб-камеру в форме, используя этот код:
vlcPlayer.MediaPlayer.VlcLibDirectory = new DirectoryInfo(@"c:\Program Files (x86)\VideoLAN\VLC\");
vlcPlayer.MediaPlayer.EndInit();
vlcPlayer.MediaPlayer.Play(new Uri(@"dshow://");
Step2 - OK !: Теперь, пытаясь сделать шаг вперед и используя этот учебник , я могу отправить видео локально 127.0.0.1:5004, используя 2 экземпляра Vlc: один для передачи и один для получения.
Шаг 3 - НЕ ОК: может показаться простым настроить vlc для переключения источника с файла на веб-камеру и передачи его через ip.Итак, что я делаю, это работаю, как и прежде, только меняя источник: 1. Меню «Медиа» -> Поток.Откроется окно «Открыть мультимедиа».
Здесь я нажимаю устройство захвата вкладок -> имя видеоустройства -> Я выбираю «встроенную веб-камеру»
Затемвсе остальное как прежде.Но ничего не происходит.Ресивер черный, внутри ничего нет.Также, если я пытаюсь сохранить поток от получателя, я получаю только несколько байтов.Вышеупомянутые настройки для передатчика следующие:
Вкладка устройства захвата -> встроенная веб-камера.Затем кнопка потока -> окно открывается правильно с dshow: \ -> далее -> новый целевой RTP, транспортный поток MPEG ---> кнопка добавления -> адрес = 127.0.0.1 порт = 5004 StreamNAme = test
Так странно, что когда я передаю файл с каким-либо именем из передатчика, он сразу же распознается получателем.Вместо этого, как я мог бы попытаться, ничего не происходит, когда веб-камера является источником.Меня волнует не то, как использовать vlc отдельно, а как использовать его из моего приложения wpf для отправки потока веб-камеры.
Спасибо за любую помощь
Патрик