NDI alternativ til SDI samt Teleport

01 oktober 2022 Skrevet af 
i Blogs
  • Skriftstørrelse
Bedøm denne artikel
(0 bedømmelser)
NDI kamera NDI kamera Filip

SDI er coax kabler med bnc stik som benyttes til multi kamera setup og et alternativ til SDI er så NDI hvor der kan benyttes netværks ethernet forbindelser samt en protokol som er lowlatency=hurtig.


Det kan være en ulempe at skulle trække kabler til et spontant multikamera setup og man kan også benytte HDMI kabler som bare  ikke er helt så robuste som coax kabler.

En RGBlink mini+ videomixer har eksempelvis 4 fysiske HDMI input, ligesom ATEM mini videomixer og man skal have en box som konvertere fra SDI til HDMI ud til mixeren og tilsvarende en box på kamera med en HDMI til SDI ud.
NDI er så en forkortelse af Network Device Interface og SDI betyder så Serial Digital Interface.

 

SDI til HDMIHDMI til SDI 3G

Computer SDI


Større video/audio mixere benytter ofte SDI som standard men mange kamera har ikke en SDI tilslutning=bnc stik ud og hvis man skal lave/bygge en videomixer maskine/computer selv kan man anskaffe kort så man har direkte SDI ind i computeren og ikke skal have yderligere flere små bokse.
Man kan også have måske have 4 SDI input og 4 HDMI indput og der findes naturligvis kort hvor der kun er en enkelt SDI indgang og SDI for tilslutning af optagere/monitor osv.

Man skal også være opmærksom på forskellige klasser af SDI fordi opløsning og en båndbrede er voksende - fra den gamle SD 576i (interlaced) til 1080p osv. hvor vi man idag gerne skulle kunne håndtere 4K video videostreams men 1080i er stadig benyttet en del og igen så skal computeren evt. også kunne encode og decode vores stream hvilket kræver ekstra GPU kræfter at håndtere encoding/decoding.

En fordel ved at bygge sin egen videomixer er mange fordi man ikke er begrænset af de funktioner og man kan inkludere NDI,SDI,SRT,RTMP og fjernbestent interface med eksempelvis OBS og et hav af muligheder evt. automatisering.
En stor del af de de større videomixere løsninger er måske også en række fine knapper og sliders men at bygge en robot til at betjene knapper er måske lige overdrevet nok.

TC460

 

Det er måske lidt mere professionelt industri standard med SDI kabler, eftersom de er mere robuste og de kan være længere end HDMI kabler men igen så findes der også NDI muligheden som er en netværks protokol hvor man sender 5-6mbit eller 15-20mbit streams via almindeligt netværk.


Der er kommet en del kamera på marked som understøtter NDI og eksempelvis PTZ kontrol - hvor PTZ=Pan,Tilt,Zoom så man via sin videomixer kan fjernestyre kamera også og der er også kommet box med HDMI ind til NDI ud.

Et problem med NDI imodsætning til SRT er at den ikke er opensource og fri så det kræver en licens fra Newtek at levere produkter som understøtter NDI.

NDI og SRT er lavet til lidt forskellige opgaver hvor NDI er lavet som muligt alternativ til SDI - mens SRT er en nyere og meget bedre alternativ til den gamle RTMP protokol.

Du kan downloade den nyeste NDI gratis fra ndi.tv til windows,mac men benytter du som jeg Linux er du pt. begrænset til plugin for OBS 27 men så kan du også få stream ind fra NDI kamera og jeg kan eksempelvis ikke frit lave en box som køre NDI og levere den uden en licens aftale med newtek men man kan dog downloade kildekolde og selv compilere en løsning som virker med programmer som OBS, FFMPEG osv.

En smart funktion med NDI er deres gateway/mulighed hvor man kan connecte til en anden NDI gateway også kan NDI kilder være tilgængelig på et andet netværk også kan man jo klippe derfra fra og det kan være at man sender til mere end et sted, hvor det ene sted vælger de måske andre kamera vinkler og feed end på den anden kanal men ja det svare lidt til at man måske laver en masse SRT streams ud men forskellen er at vores NDI signaler er synkroniseret.

Hvis man ar båndbrede nok så kan man dele flere kamera streams via sin NDI gateway.

NDI er eksempelvis understøttet af windows og måske også mac skype desktop - så man kan tilføje NDI kamera eller NDI signal fra videomixer til skype.

Nyere videomixere som Tricaster fra newtek kan også ha NDI indbygget som ekstra input men foruden deres SDI indgange - hvilket ikke er en overraskelse eftersom det er Net

Er behovet blot en meget hurtig connection mellem en OBS computer til en anden OBS på samme LAN så findes der TELEPORT  som er tilsvarende hurtig som NDI på LAN.

Teleport opensource men det er ikke en industri standard som NDI og der endnu ikke kamera som har TELEPORT protokollen indbygget men det kunne være sjovt hvis nogle kamera leverandøre inplementerede TELEPORT på samme måde som de også har indbygget SRT i deres kamera løsninger.

Man kan også få "købe" apps til android/ios enheder som kan gøre en mobil telefon til en NDI enhed og vi må formode disse apps koster penge pga. licens til newtek.

Jeg har lidt overvejet og afprøve at compilere OBS på Raspberry PI4 også tilføje teleport som en mulighed men det skal dog være 64bit udgaven og den har ikke fuld support for CPU hardware kompression.


Til mindre muliticam setup uden her NDI hvor man også benytter sit eget medbragt WIFI med en mobil telefon:


Mevo Multicam App

 

Det er nødvendig med en bedre mobil for en multicam udsendelse men i teorien kan dette setup skifte mellem tilsluttet kamera og hvor kamera har samme delte wifi connection som kamera kommunikere til direkte med sin egen protokol/metode.
Man begrænset i Appen til RTMP stream og hvad kamera appen kan - men sender man hjem til en fjernstyret OBS med web interface kan man lidt af det som vores app måske ikke kan som at afspile video intro osv. 
Men det er dog muligt at lave lidt grafik og titel overlay ting i multicam appen - løsningen erganske  kompakt og audio kan tilføjes via android apps enheder eller gennem kamera, multikamera appen håndtere endnu ikke NDI
og dens AI mode hvor den selv skifter mellem kamera er uden ansigst tracking - single kamera appen fra mevo kan sætte kamera i NDI mode også kan nedstående med latop benyttes.

 


 


NDI Single kamera wfi setup
 

NDI - Kamera

Mevo NDI kamera

I dette eksempel benyttes Single kamera app for at sætte kamera på samme wifi netværk og vores tablet laver INGEN streaming fordi den har ikke kapasitet til dette i fuld opløsning og den er derfor blot en enhed som kan styre et kamera zoom, crop og med tekst.

En laptop med OBS+NDI modtager stream via delt wifi netværk på vores gemmen en mobil telefon eller man kan have en medbragt wifi router (bedre med antenner) som måske også er tilkoblet en fast forbindelse via kabel.

Tablet  forsyner et udvalgt kamera med noget AI - ansigts tracking og den kan følge og crope til ansigt eller fuld perspektiv automatisk og kamera som køre NDI til OBS - vi kan godt lave titel på kamera feed men OBS kan jo meget mere.

 

I dette setup har vi en lidt blandet konfiguration hvor vi også har tilføjet en videomixer som har nogle kamera tilsluttet via kabel -hdmi/sdi og yderligere nogle kamera som køre via NDI typisk 6mbit pr kamera og det kræver naturligevis at vores wifi netværk kan håndtere eks. 2*6mbit fra kamera og yderligere skal vores laptop så sende udgående stream via rtmp/srt hjem til vores hoved OBS (MCR:Master Control Rum) eller vores restream service som så sender til de nødvendige platforme.

At sende direkte til ALLE platforme er muligt hvis man har kapasitet til mere men ellers har vi yderligere en 6 mbit stream ud.

Hvis vi har god båndbrede - så kunne vi også overvej at sætte en NDI gateway op men måske kan vi ikke få alle kamera eks. koblet via videomixer til at sende NDI fra alle kamera men så kunne det være en ide og ændre så disse var NDI kompatible fordi dermed kunne NDI gateway gøre NDI kilderne tilgængelige på et andet netværk hvor en OBS har så adgang til de NDI kilder delt via en NDI gateway et andet sted.


En birddog NDI encoder kan gøre vores kamera til en ethernet connected NDI kamera enhed og de har også indbygget en intercom mulighed samt tally lampe.


Jeg har dog haft fint succes med 10-20 meter HDMI kabler men det kan være forbundet med signal/udfordringer og der indes forsellige typer af HDMI kabler som også er optiske men NDI er fleksibel på en anden måde eks. at man kan anvende det på evt. tråløse kamera selvom kablet forbindelse naturligvis er mere stabilt og sikkert - det kan jo være usikkert hvordan evt. netværk og switch opføre sig med flere kamera streams på samme tid som alle køre mindst 5mbit.

Nogle steder ville det være smart med en NDI gateway også på laptop (windows/mac) + en router også ens NDI enheder tilsluttet via ethernet hvor man evt, kan få en switch med POE(Power over Ethernet) til birddog encoderen.

En løsning og setup måske 3-4 mevo kamera med NDI og plus en lapstop+wifi router som køre NDI 5.5 gateway software - man kunne så have vpn tunnel og evt. fjernesytre OBS hvor den afspiller/streamer lokalt.

Jeg har prøvet at hente NDI developer kit til Linux og der var blandt andet NDI-record som kunne optage en NDI strøm til disk og stdout - der er dog visse problemer og betingelser forbundet med anvendelse af NDI men det virkede dog på en RaspberryPI4 (32 bit Rasbian).
Det skulle være muligt at compilere NDI til ffmpeg version 4.0 sådan at man kunne lave en NDI til rtmp/srt og evt. sende feed via et restreamer setup med playout muligheder også.

Filerne fra NDI recorderen er dog voldsomt store fordi formattet er ikke komprimeret så det kan let blive 90 Gb i timen på en full hd stream og ja har du flere kamera så det store filer.

DIY NDI løsninger med opensource er der ikke så meget af men jeg har dog fundet nogle:

https://github.com/FilipStadler/V4L2-to-NDI A video input (V4L2) to NDI converter that works with Raspberry Pi (32-bit and 64-bit), and Intel/AMD CPUs
https://github.com/FilipStadler/raspberrypi-FFmpegNDI

Raspberry Pi FFMPEG compile script

https://github.com/FilipStadler/ffmpeg-compile

Compilation ffmpeg multiplateformes

https://github.com/lplassman/NDI-Recorder Recorder som kan optage flere NDI stream og de skulle være i sync.
Man kan mount usb disk og optage alle NDI streams - jeg har ikke testet det endnu men det kunne være smart og optage NDI streams så de er i sync og evt. OBS output mix på en disk på rpi4.
https://github.com/FilipStadler/NDI-to-JACK  


 

 
 
477 Senest ændret Onsdag, 12 oktober 2022 13:07
Mere i denne kategori: