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ę.