OBS-Studio Installation und Einrichtung auf dem Jetson Nano 2GB

Seit letztem Jahr habe ich einen Jetson Nano 2GB und ich habe viel Spaß damit. Dieser kleine Linux Computer mit seiner CUDA kompatiblen 128 Kern GPU ist schon echt ein kleines Wunderwerk der Technik. Vor allem wenn man bedenkt, dass der Rechner nur 59$ kostet.

Da ich von Zeit zu Zeit auch mal den Bildschirminhalt des Jetson Nano aufzuzeichnen möchte habe ich mir OBS installiert.

Die Open Broadcaster Software unterstützt den Nutzer bei der Übertragung von Bildschirminhalten in Echtzeit über eine Netzwerkverbindung ins Internet. Die übertragenen Inhalte können mittels verschiedener Szenen und Fenster vor der Übertragung angepasst und ergänzt werden.
Die Datenübertragung erfolgt mittels des Real Time Messaging Protocols. Die Daten können von RTMP unterstützenden Zielen (z. B. YouTube oder Twitch) empfangen und verarbeitet werden.[6] Zur Authentifizierung und Zuordnung der Daten werden sogenannte „Streamschlüssel“ verwendet. Diese in OBS hinterlegten Zeichenfolgen werden mit den Daten an den Streaming-Dienst übertragen, mithilfe dessen der Datenstrom dem Benutzerkonto zugeordnet werden kann.
Ebenso bietet die Software die Möglichkeit, die Bildschirminhalte auf der lokalen Festplatte abzuspeichern. Für die Video-Kodierung kann OBS die Encoder x264Intel Quick Sync Video und Nvidia NVENC nutzen, um Videos im H.264-Format zu kodieren. Audiodaten werden entweder im MP3– oder AAC-Codec gespeichert.

Wikipedia: https://de.wikipedia.org/wiki/Open_Broadcaster_Software

Wie so oft auf dem Jetson Nano ist die Installation mit etwas Googlen und Geduld verbunden. Nachdem ich es nun aber hinbekommen habe möchte ich mein Installationsskript hier veröffentlichen um anderen Interessierten den Aufwand zu ersparen.

!/bin/sh
 
 sudo apt install \
             build-essential \
             checkinstall \
             cmake \
             git \
             libmbedtls-dev \
             libasound2-dev \
             libavcodec-dev \
             libavdevice-dev \
             libavfilter-dev \
             libavformat-dev \
             libavutil-dev \
             libcurl4-openssl-dev \
             libfdk-aac-dev \
             libfontconfig-dev \
             libfreetype6-dev \
             libgl1-mesa-dev \
             libjack-jackd2-dev \
             libjansson-dev \
             libluajit-5.1-dev \
             libpulse-dev \
             libqt5x11extras5-dev \
             libspeexdsp-dev \
             libswresample-dev \
             libswscale-dev \
             libudev-dev \
             libv4l-dev \
             libvlc-dev \
             libx11-dev \
             libx264-dev \
             libxcb-shm0-dev \
             libxcb-xinerama0-dev \
             libxcomposite-dev \
             libxinerama-dev \
             pkg-config \
             python3-dev \
             qtbase5-dev \
             libqt5svg5-dev \
             swig \
             libxcb-randr0-dev \
             libxcb-xfixes0-dev \
             libx11-xcb-dev \
             libxcb1-dev \
             qtdeclarative5-dev \
             qtbase5-private-dev
 git clone --recursive https://github.com/obsproject/obs-studio.git
 cd obs-studio
 mkdir build && cd build
 cmake -DBUILD_BROWSER=OFF -DENABLE_PIPEWIRE=OFF -DUNIX_STRUCTURE=1 -DCMAKE_INSTALL_PREFIX=/usr ..
 make -j4
 sudo make install
 
export DISPLAY=:0
sxport LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libGL.so 
obs

Die Basis für das Skript habe ich von https://obsproject.com/forum/threads/nvidia-jetson-devices.130740/ allerdings musste ich noch ein paar kleinere Änderungen machen, bevor es wirklich ohne Probleme durchläuft und obs startet.

Das Ergebnis kann sich allerdings sehen lassen.

Fazit
Ich bin positiv überrascht von der geringen Latenz vom OBS Studio auf dem Jetson Nano. Wieder mal ein Beweis dafür, dass gute Software kein Geld kosten muss.

Ergänzung:

Auf Grund einer Leserfrage ergänze ich hier noch das Image das auf meinem Jetson Nano vorinstalliert war.

Jetson Nano 2GB Developer Kit SD Card Image 4.5.1 (2021/02/24)