Wideo i protokół NDI

7 Kwietnia 2020

Firma NewTek opracowała protokół NDI (Network Device Interface), którego celem jest przesyłanie obrazu i audio po sieci, głównie lokalnej. Co możemy z nim zrobić?

Mam obecnie trzy główne zastosowania dla tego protokołu związane z przechwytywaniem obrazu z różnych źródeł w celu streamowania go w Internecie.

  • Przesyłanie pulpitu (lub okna) z jednego komputera na drugi
  • Nagrywanie wideo-konferencji Skype
  • Tworzenie customowej kamerki internetowej

We wszystkich przypadkach korzystam z darmowego programu OBS (Open Broadcaster Software) do przechwytywania i miksowania obrazu w celu jego nagrania lub streamowania. Aby korzystać NDI w OBS należy zainstalować wtyczkę dostępną na GitHubie: Palakis/obs-ndi.

Aby udostępnić pulpit w sieci lokalnej wystarczy dodać do źródła Screen Capture filtr „Dedicated NDI™ Output”. Dobrze mu zmienić nazwę aby było jasne co to jest.

Na drugim komputerze dodajemy źródło „NDI™ Source” i wybieramy nazwę, którą wpisaliśmy wcześniej. I tyle, działa. Chociaż po WiFi strasznie się laguje.

W przypadku Skype’a – należy się upewnić, że masz zainstalowaną i uruchomioną wersję Win32, a nie UWP. W szczególności różnią się one tylko tym, że Skype Win32 ma zieloną ikonę na pasku zadań jak jesteś dostępny, a UWP ma zawsze niebieską.

Następnie w opcjach Skype – Dzwonienie – Zaawansowane – włączamy opcję NDI. I kiedy zaczniemy rozmowę, to na liście dostępnych źródeł w OBS będziemy mogli wybrać obraz konkretnej osoby w naszej rozmowie. Więc można ułożyć dowolnie ludzi na ekranie.

Natomiast istnieje problem z synchronizacją audio od NDI w Skype. Mianowicie każda kamerka ma pełne audio wszystkich gości w rozmowie i te ścieżki audio są trochę (czasem bardzo) rozjechane. Nie mam jeszcze przetestowanego sposobu jak sobie z tym właściwie radzić.

W każdym razie, poniżej możesz zobaczyć wideo konferencję o quidditchu, którą zarządzałem od strony technicznej, wykorzystując Skype i NDI do prezentowania prelegentów.

Możemy też emitować całą scenę gdy w OBS – Narzędzia – NDI™ Output settings włączymy odpowiednią opcję. Żeby ustawić ten emitowany obraz jako naszą kamerkę internetową będziemy chcieli pobrać zestaw narzędzi NDI i uruchomić NDI Virtual Input, a w jego opcjach (menu pod prawym na pasku) wybrać rządaną scenę.