Lei Mao bio photo

Lei Mao

Machine Learning, Artificial Intelligence, Computer Science.

Twitter Facebook LinkedIn GitHub   G. Scholar E-Mail RSS

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.

References