Носитель с карты захвата в Unity с плагином Vl c для Unity - PullRequest
2 голосов
/ 30 апреля 2020

Я пытаюсь получить изображение камеры с карты захвата blackmagi c в медиаплеере плагина Vl c для Unity.

Что я сделал:

  • Я могу получить устройство захвата с помощью настольного приложения vl c, поэтому камера и карта захвата работают нормально.

  • Я могу запустить пример сцены плагина vl c, который показывает видео с веб-адреса, он отлично работает

  • Я искал LIBVLCSharp, чтобы попытаться понять немного, как все это работает, https://code.videolan.org/videolan/LibVLCSharp/-/blob/master/src/LibVLCSharp/Media.cs
  • Я пытаюсь изменить UseRenderingPlugin.cs, который представляет собой скрипт, который воспроизводит видео на текстуре в сцене Unity, и особенно строка, которая выбрала носитель для воспроизведения:

Исходная строка кода: _mediaPlayer.Media = new Media(_libVLC, "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4", FromType.FromLocation);

И то, чего я достиг до сих пор (но не работает). Я изменил «FromLocation» на «FromPath» и заменил URL-адрес mrl на карту захвата с параметрами, благодаря настольному приложению vl c:

_mediaPlayer.Media = new Media(_libVLC, "dshow://  :dshow-vdev=Blackmagic WDM Capture :dshow-adev=Entrée ligne (Blackmagic DeckLink Mini Recorder 4K Audio)  :dshow-aspect-ratio=16\\:9 :dshow-chroma= :dshow-fps=50 :no-dshow-config :no-dshow-tuner :dshow-tuner-channel=0 :dshow-tuner-frequency=0 :dshow-tuner-country=0 :dshow-tuner-standard=0 :dshow-tuner-input=0 :dshow-video-input=-1 :dshow-video-output=-1 :dshow-audio-input=-1 :dshow-audio-output=-1 :dshow-amtuner-mode=1 :dshow-audio-channels=0 :dshow-audio-samplerate=0 :dshow-audio-bitspersample=0 :live-caching=300 ", FromType.FromPath);

Я хотел бы спросить вас, если кто-нибудь знает правильный синтаксис, чтобы использовать directshow в этой функции, или перенаправить меня к похожему topi c (который я не смог найти, хотя я извиняюсь, если пропустил его) или получаю все это неправильно.

Большое спасибо за ваше время, я впервые использую этот плагин и LibVLCSharp, поэтому, пожалуйста, будьте терпеливы со мной: D

1 Ответ

0 голосов
/ 04 мая 2020

Спасибо @mfkl за вашу помощь.

Вот что сработало:

_mediaPlayer.Media = new Media(_libVLC, "dshow:// ", FromType.FromLocation );

И добавьте все параметры, как это: _mediaPlayer.Media.AddOption(":dshow-vdev='Blackmagic WDM Capture'"); _mediaPlayer.Media.AddOption(":dshow-fps=50"); ...

...