name='obs-studio-browser' version='31.0.3' release='1' desc='Free and open source software for video recording and live streaming. With everything except service integration.' desc_ru='Бесплатная и открытая система для видео- и live-стриминга. Без сервисных интеграций.' homepage='https://github.com/obsproject/obs-studio' maintainer='Evgeny Hramov ' maintainer_ru="Евгений Храмов " architectures=('amd64' 'arm64') licenses='GPL-2.0-or-later' provides=('obs-studio' 'obs-vst' 'obs-websocket' 'obs-browser') conflicts=('obs-studio' 'obs-vst' 'obs-websocket' 'obs-browser' 'obs-linuxbrowser' 'libva-vdpau-driver') deps=( 'alsa-lib' # Зависимости плагина ALSA и CEF 'curl' # Зависимости OBS Studio и плагина rtmp-services 'ffmpeg' # Зависимости OBS Studio и плагина FFmpeg 'fontconfig' # Зависимости плагина Freetype2 'freetype' # Зависимости плагина Freetype2 'gcc' # Зависимости любых бинарных файлов на C++ 'glib2' # Зависимости libobs, плагина PipeWire и CEF 'glibc' # Зависимости любых бинарных файлов на C 'jansson' # Зависимости libobs и плагина rtmp-services 'mesa-libGL' # Зависимости libobs-opengl и OBS Studio 'pipewire' # Зависимости плагина PipeWire 'pulseaudio-libs' # Зависимости мониторинга PulseAudio (в libobs) и плагина PulseAudio 'librist' # Зависимости плагина FFmpeg 'libva' # Зависимости плагина FFmpeg и плагина QSV 'libX11' # Зависимости libobs, libobs-opengl, плагина захвата X11, плагина инструментов интерфейса и CEF 'libxcb' # Зависимости libobs-opengl, плагина захвата X11 и CEF 'libXcomposite' # Зависимости плагина захвата X11 'libxkbcommon' # Зависимости libobs, OBS Studio и CEF 'mbedtls' # Зависимости OBS Studio и плагина Outputs 'pciutils' # Зависимости плагина FFmpeg 'qrcodegen' # Зависимости плагина Websocket 'qt6-qtbase' # Зависимости OBS Studio и любых плагинов интерфейса 'qt6-qtsvg' # Зависимости OBS Studio 'qt6-qtwayland' # Необходимо для использования Qt на платформе Wayland 'rnnoise' # Зависимости фильтра плагина 'speexdsp' # Зависимости фильтра плагина 'srt' # Зависимости плагина FFmpeg 'util-linux' # Зависимости libobs 'vlc' # Зависимости плагина VLC (проблема с "vlc" вызывает сбой) 'wayland' # Зависимости libobs, libobs-opengl и CEF 'x264' # Зависимости плагина X264 'zlib' # Зависимости libobs # Зависимости CEF 'at-spi2-core' 'cairo' 'dbus' 'expat' 'libcups' 'libdrm' 'libXdamage' 'libXext' 'libXfixes' 'libXrandr' 'mesa' 'nspr' 'nss' 'pango' ) deps_arch=( 'alsa-lib' # Зависимости плагина ALSA и CEF 'curl' # Зависимости OBS Studio и плагина rtmp-services 'ffmpeg-obs' # Зависимости OBS Studio и плагина FFmpeg 'fontconfig' # Зависимости плагина Freetype2 'freetype2' # Зависимости плагина Freetype2 'gcc-libs' # Зависимости любых бинарных файлов на C++ 'glib2' # Зависимости libobs, плагина PipeWire и CEF 'glibc' # Зависимости любых бинарных файлов на C 'jansson' # Зависимости libobs и плагина rtmp-services 'libgl' # Зависимости libobs-opengl и OBS Studio 'libpipewire' # Зависимости плагина PipeWire 'libpulse' # Зависимости мониторинга PulseAudio (в libobs) и плагина PulseAudio 'librist' # Зависимости плагина FFmpeg 'libva' # Зависимости плагина FFmpeg и плагина QSV 'libx11' # Зависимости libobs, libobs-opengl, плагина захвата X11, плагина инструментов интерфейса и CEF 'libxcb' # Зависимости libobs-opengl, плагина захвата X11 и CEF 'libxcomposite' # Зависимости плагина захвата X11 'libxkbcommon' # Зависимости libobs, OBS Studio и CEF 'mbedtls' # Зависимости OBS Studio и плагина Outputs 'pciutils' # Зависимости плагина FFmpeg 'qrcodegencpp-cmake' # Зависимости плагина Websocket 'qt6-base' # Зависимости OBS Studio и любых плагинов интерфейса 'qt6-svg' # Зависимости OBS Studio 'qt6-wayland' # Необходимо для использования Qt на платформе Wayland 'rnnoise' # Зависимости фильтра плагина 'speexdsp' # Зависимости фильтра плагина 'srt' # Зависимости плагина FFmpeg 'util-linux-libs' # Зависимости libobs 'vlc-luajit' # Зависимости плагина VLC (проблема с "vlc" вызывает сбой) 'wayland' # Зависимости libobs, libobs-opengl и CEF 'x264' # Зависимости плагина X264 'zlib' # Зависимости libobs # Зависимости CEF 'at-spi2-core' 'cairo' 'dbus' 'expat' 'libcups' 'libdrm' 'libxdamage' 'libxext' 'libxfixes' 'libxrandr' 'mesa' 'nspr' 'nss' 'pango' ) build_deps=( 'asio-devel' # Зависимости плагина Websocket (библиотека только с заголовками) 'cmake' 'nv-codec-headers' # Зависимости плагина NVENC (библиотека только с заголовками) 'pipewire-jack-audio-connection-kit' # Зависимости плагина JACK 'git' 'uthash-devel' # Зависимости libobs 'libdatachannel' # Зависимости плагина WebRTC (вариант NICE, как в Flatpak) 'libfdk-aac' # Зависимости плагина FDK AAC 'luajit' # Зависимости плагина Scripting 'nlohmann-json' # Зависимости плагина Websocket (библиотека только с заголовками) 'python' # Зависимости плагина Scripting 'sndio' # Зависимости плагина sndio 'swig' # Зависимости плагина Scripting 'systemd-devel' # Зависимости плагина V4L2 'v4l-utils' # Зависимости плагина V4L2 'websocketpp-devel' # Зависимости плагина Websocket (библиотека только с заголовками) ) build_deps_arch=( 'asio' # Зависимости плагина Websocket (библиотека только с заголовками) 'cmake' 'ffnvcodec-headers' # Зависимости плагина NVENC (библиотека только с заголовками) 'jack' # Зависимости плагина JACK 'git' 'uthash' # Зависимости libobs 'libajantv2' # Зависимости плагинов AJA 'libdatachannel' # Зависимости плагина WebRTC (вариант NICE, как в Flatpak) 'libfdk-aac' # Зависимости плагина FDK AAC 'luajit' # Зависимости плагина Scripting 'nlohmann-json' # Зависимости плагина Websocket (библиотека только с заголовками) 'libvpl' # Зависимости плагина QSV 'python' # Зависимости плагина Scripting 'sndio' # Зависимости плагина sndio 'swig' # Зависимости плагина Scripting 'systemd-libs' # Зависимости плагина V4L2 'v4l-utils' # Зависимости плагина V4L2 'websocketpp' # Зависимости плагина Websocket (библиотека только с заголовками) ) opt_deps=( 'jack: Поддержка JACK' 'libfdk-aac: Поддержка кодека FDK AAC' 'libvpl: Поддержка кодировщика QSV' 'intel-media-sdk: Поддержка кодировщика QSV (<= Rocket Lake & >= Broadwell)' 'vpl-gpu-rt: Поддержка кодировщика QSV (>= Alder Lake)' 'intel-media-driver: Поддержка кодировщика VAAPI (>= Broadwell)' 'libva-intel-driver: Поддержка кодировщика VAAPI (<= Haswell)' 'libva-mesa-driver: Поддержка кодировщика VAAPI' 'swig: Скрипты' 'luajit: Скрипты Lua' 'python: Скрипты на Python' 'sndio: Клиент ввода Sndio' 'v4l-utils: Поддержка V4L2' 'systemd-devel: Поддержка V4L2' # Заменено на systemd-devel 'v4l2loopback-dkms: Вывод виртуальной камеры V4L2' 'libdatachannel: Поддержка WHIP' 'libajantv2: Поддержка AJA' ) opt_deps_arch=( 'jack: Поддержка JACK' 'libfdk-aac: Поддержка кодека FDK AAC' 'libvpl: Поддержка кодировщика QSV' 'intel-media-sdk: Поддержка кодировщика QSV (<= Rocket Lake & >= Broadwell)' 'vpl-gpu-rt: Поддержка кодировщика QSV (>= Alder Lake)' 'intel-media-driver: Поддержка кодировщика VAAPI (>= Broadwell)' 'libva-intel-driver: Поддержка кодировщика VAAPI (<= Haswell)' 'libva-mesa-driver: Поддержка кодировщика VAAPI' 'swig: Скрипты' 'luajit: Скрипты Lua' 'python: Скрипты на Python' 'sndio: Клиент ввода Sndio' 'v4l-utils: Поддержка V4L2' 'systemd-libs: Поддержка V4L2' 'v4l2loopback-dkms: Вывод виртуальной камеры V4L2' 'libdatachannel: Поддержка WHIP' 'libajantv2: Поддержка AJA' ) sources=( "git+https://github.com/obsproject/obs-studio.git#tag=version" "git+https://github.com/obsproject/obs-browser.git" "git+https://github.com/obsproject/obs-websocket.git" "https://cdn-fastly.obsproject.com/downloads/cef_binary_6533_linux_x86_64_v3.tar.xz") checksums=( 'SKIP' 'SKIP' 'SKIP' 'SKIP' ) prepare() { cd $srcdir/obs-studio git config submodule.plugins/obs-browser.url $srcdir/obs-browser git config submodule.plugins/obs-websocket.url $srcdir/obs-websocket git -c protocol.file.allow=always submodule update ## linux-v4l2: Fix virtual camera start failure git cherry-pick -n 12c6febae21f369da50f09d511b54eadc1dc1342 ## Mark log and titlebar version sed -i "s|obs_get_version_string()|\"$version-browser-$release\"|" UI/obs-app.cpp } build() { cmake -B build -S obs-studio \ -DCMAKE_BUILD_TYPE=None \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_LIBDIR=lib \ -DENABLE_LIBFDK=ON \ -DENABLE_JACK=ON \ -DENABLE_SNDIO=ON \ -DENABLE_BROWSER=ON \ -DCEF_ROOT_DIR="$srcdir/cef_binary_6533_linux_${CARCH/%_v?/}" \ -DOBS_VERSION_OVERRIDE="version" \ -DOBS_COMPILE_DEPRECATION_AS_WARNING=ON \ -Wno-dev cmake --build build } package() { DESTDIR="$pkgdir" cmake --install build }