Introduction
Open Broadcaster Software (OBS) is the most popular streaming software. In this blog, I would like to discuss about how to install and use OBS on NVIDIA Jetson AGX Xavier.
Installation
Ayachika Kitazaki has figured out how to install OBS on Jetson Nano. Most of his protocols are still working except that we have to use a selected version of the OBS to install, as the latest version is broken for the ARM64 platform.
Install Dependencies
$ sudo apt update
$ sudo apt install \
build-essential \
checkinstall \
cmake \
git \
libnss3-dev \
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 \
qt5-default \
qtbase5-dev \
qtbase5-private-dev \
qttools5-dev-tools \
libqt5svg5-dev \
swig \
libxcb-randr0-dev \
libxcb-xfixes0-dev \
libx11-xcb-dev \
libxcb1-dev
Install OBS
Download OBS-Studio 26.1.2 from GitHub.
$ wget https://github.com/obsproject/obs-studio/archive/refs/tags/26.1.2.zip
$ unzip 26.1.2.zip
$ rm 26.1.2.zip
Build and install it onto the system.
$ cd obs-studio-26.1.2
$ mkdir -p build && cd build
$ cmake -DUNIX_STRUCTURE=1 -DCMAKE_INSTALL_PREFIX=/usr ..
$ make -j
$ sudo make install
Note that we are not building from the master branch because it is currently broken for ARM64 builds. It is very likely that pipewire
is missing in the Linux ARM64 system.
CMake Error at /usr/local/share/cmake-3.20/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find PipeWire (missing: PIPEWIRE_LIBRARIES PIPEWIRE_INCLUDE_DIRS
SPA_INCLUDE_DIRS) (found version "")
Building pipewire
on the Linux ARM64 system according to the official instruction was also not successful.
Start OBS
OBS might have difficulty finding the OpenGL library. It could be manually specified using LD_PRELOAD
.
$ LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libGL.so obs
Streaming to Twitch has been tested and got no problems.