NDI : le tueur de carte de capture

Le NDI. Un acronyme qui ne vous dit sûrement rien, mais qui pourrait bien ajouter beaucoup de flexibilité à votre façon d’interfacer vos appareils entre eux.

Quand a-t-on besoin du NDI ?

Parmi tous les set up de streaming, s’il y en a bien un qui est vu comme le plus performant et intéressant, c’est celui dit de double PC. Un PC de jeu et un PC de stream, soit un maximum de performance dans les deux cas pour un minimum d’interférence entre les deux actions. Techniquement, vous vous retrouvez surtout avec une carte de capture qui va récupérer le flux vidéo et audio du premier PC, généralement via un câble hdmi, pour le séparer en deux copies. La première ira sur l’écran, la seconde vers le second PC, qui s’occupera alors de la traiter et de l’encoder.

Pour ce genre de set-up, vous devez donc avoir, évidemment, 2 PC, une carte de capture, les câbles qui vont avec et vous arrangez pour que l’ensemble soit relativement au même endroit. Ne comptez donc pas vous en sortir pour moins de 100€, soit le prix d’une carte de capture correcte, auquel vous pourrez ajouter une 20ne d’euros de câble.

Mais s’il existait une façon d’envoyer directement un flux audio ou vidéo dans un réseau local ? Cela réglerait le problème de la carte de capture, des câbles HDMI et même de l’espace entre les deux machines. Et bien justement, il existe !

NDI

Source : prod-image.datacast.com

Netword Device Interface, c’est quoi ?

L’interface NDI (Network Device Interface) est une spécification logicielle développée par la société technologique NewTek. Elle permet la transmission, la réception et la communication de vidéos haute définition sur un réseau informatique avec une faible latence et une qualité élevée. Cette spécification libre de droits prend en charge la commutation à l’image près , ce qui la rend idéale pour les environnements de production vidéo en direct.

Wikipedia

NewTek, c’est une entreprise qui vend des solutions de centralisation d’image. L’idée, c’est que dans un environnement avec beaucoup de caméras, potentiellement très éloignées les unes des autres (comme dans un stade), on puisse malgré tout rassembler toutes les images au même endroit, le plus vite possible et au moins cher possible. Pour ça, le plus simple est encore de se raccorder à l’interface la moins chère, la plus simple à poser et à gérer sur de longues distances : le réseau ethernet RJ45.

Et oui ! Le NDI, c’est un protocole mis au point pour le broadcast de qualité professionnel. D’ailleurs, les caméras qui embarquent ce type de technologie surclassent très vite leurs concurrentes en prix… En témoigne la boutique LBM.

NDI

source : Epiphan.com

Quand est-ce que ça commence à nous intéresser ?

Si vous êtes arrivé jusqu’ici, mais que vous n’avez pas l’intention d’utiliser un set up double PC, alors vous allez sûrement penser que ça ne vous sera pas d’une très grande utilité… Alors je vais peut-être vous détromper. La grande majorité d’entre nous possédons des smartphones avec des caméras correctes, largement supérieures aux webcams intégrées ou milieu de gamme vendu dans le commerce. Mais les différentes applications pour les transformer en webcam sont souvent payantes, assez peu fiables et différentes d’un OS à un autre.

Si vous n’égalerez évidemment pas une caméra professionnelle, il existe plusieurs applications disponibles sur android (par exemple) ou Apple ( par exemple) qui vous permettent d’envoyer le flux capté par vos smartphones dans le réseau. Ensuite, il ne vous reste plus qu’à le récupérer et le tour est joué ! Presque simple comme bonjour !

OBS

Concrètement, ça s’utilise comment ? Avec OBS

Dans notre cas, puisqu’on part du principe que vous n’avez pas de station d’accueil pour accueillir tous les flux, nous allons utiliser OBS. Assurez-vous d’avoir une version supérieure à la 30me.

L’installation Sous Windows

C’est la façon la plus simple de l’installer. Aller tout simplement chercher NDI Tools for Windows (https://docs.ndi.video/all/using-ndi/ndi-tools/ndi-tools-for-windows) puis le plugin DistroAV permettant d’y relier OBS (https://obsproject.com/forum/resources/distroav-network-audio-video-in-obs-studio-using-ndi%C2%AE-technology.528/). Vous aurez alors juste à lancer OBS pour retrouver un nouveau filtre, un nouvel outil et surtout, une source NDI qui listera les machines émettrices du réseau.

L’installation Sous Linux

Dans le cas où vous n’auriez pas OBS studio, il faut évidemment commencer par l’installer.

sudo apt update
sudo apt install obs-studio

Allez ensuite télécharger le NDI SDK depuis le site officiel de NewTek.

tar -xvf NewTek_NDI_SDK_v5_Linux.tar.gz
cd NewTek_NDI_SDK_v5_Linux
sudo ./install.sh

Et enfin, installez le plugin DistroAV, qui fera la lien entre les deux. Vous devriez pouvoir le trouver depuis GitHub.

git clone https://github.com/Palakis/obs-distroav.git
cd obs-distroav
mkdir build && cd build
cmake ..
make -j$(nproc)
sudo make install

Après un redémarrage, OBS devrait avoir intégré l’option. Attention, je précise que je n’ai pas utilisé une distribution classique Ubuntu, donc tout ceci n’est que théorique. N’hésitez pas à faire part de vos expériences dans les commentaires.

L’installation Sous Fedora

Depuis les dernières versions de Fedora, l’ensemble du système n’est plus maintenu. Il faut donc bidouiller un petit peu les répertoires pour pouvoir y accéder.

Dans un premier temps, on va déjà nettoyer les anciens rpmfusion et le cache DNF.

sudo rm -f /etc/yum.repos.d/rpmfusion*
sudo dnf remove rpmfusion-free-release rpmfusion-nonfree-release
sudo dnf clean all
sudo rm -rf /var/cache/dnf

Maintenant qu’on est reparti de zéro, on va devoir en remettre en place des nouveaux.

sudo dnf install \
https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-43.noarch.rpm \
https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-43.noarch.rpm
sudo dnf makecache

Maintenant, on devrait avoir accès au SDK du NDI et au plugin DitroAV.

sudo dnf install ndi-sdk obs-studio-plugin-distroav

Il ne vous reste plus qu’à redémarrer et bingo, si vous lancez OBS, le menu DistroAV est accessible et fonctionnel. La méthode est assez peu documentée, mais elle fonctionne d’expérience, sur ma propre machine fedora.

L’utilisation avec OBS

Côté émission, vous aurez accès à une fenêtre depuis le menu outils : Paramètres DistroAV NDI. Cela vous permettra de mettre en place une sortie de l’ensemble de votre scène OBS, comme une sortie de streaming classique.

Dans le cas où seul une source audio ou vidéo vous intéresse, vous pouvez également l’envoyer de façon indépendante via un filtre : Sortie NDI dédiée.

Enfin, sur la machine qui va recevoir le flux, vous avez désormais accès à la source NDI. Ne reste plus qu’à sélectionner le bon flux, les bons réglages, et c’est terminé.

Conclusion

Le NDI a ce qu’il faut pour révolutionner la façon dont on interface nos appareils entre eux pour en récupérer et traiter le flux vidéo. Si cela fonctionne redoutablement entre deux ordinateurs, il y a toutefois un cadre dans lequel j’y vois un intérêt encore plus grand.

En effet, depuis la PS4, les consoles sont capables d’encoder leurs propres flux vidéos pour l’envoyer sur des plateformes de streaming (généralement Twitch ou Youtube). Alors pourquoi ne pas leur intégrer nativement l’utilisation du NDI, moins lourde ? Moins de perte de puissance, moins de cartes de capture, moins de problèmes de gestion de l’espace et des câbles… Il ne reste plus qu’à trouver le constructeur qui aura l’idée… 

En savoir plus sur Lancelot Godement

Abonnez-vous pour poursuivre la lecture et avoir accès à l’ensemble des archives.

Poursuivre la lecture