blob: 016cb0aa62119e1bb3005fc9f9f74b0cf6c3050f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
# Maintainer: Thomas Ludwig <business at tludwig dot dev>
pkgname=teb-obs
pkgver=32.0.4
pkgrel=1
pkgdesc="Free, open source software for live streaming and recording. With Browser Source support. Without the need to install ffmpeg-obs, etc."
arch=('x86_64')
url="https://github.com/amazon-contributing/upstreaming-to-obs-studio/wiki/TEB-Beta-Linux-Installation"
license=('GPL-2.0-or-later')
_obsversion="32.0.4-enhanced-broadcasting-v61"
_obsversionbranch="release/v61"
_qtver=6.10.0
_libajantv2ver=17.5.0
_libdatachannelver=0.24
_mbedtlsver=3.6.1
_pythonver=3.14
_cefver=cef_binary_6533_linux_x86_64_v6
depends=(
"alsa-lib" # Deps of ALSA plugin and CEF
"curl" # Deps of OBS Studio and rtmp-services plugin
"ffmpeg>=8" # Deps of OBS Studio and FFmpeg plugin
"fontconfig" # Deps of Freetype2 plugin
"freetype2" # Deps of Freetype2 plugin
"gcc-libs" # Deps of any C++ related binary
"glib2" # Deps of libobs, PipeWire plugin and CEF
"glibc" # Deps of any C related binary
"jack" # Deps of JACK plugin
"jansson" # Deps of libobs and rtmp-services plugin
"libajantv2>=$_libajantv2ver" # Deps of AJA plugins
"libdatachannel>=$_libdatachannelver" # Deps of WebRTC plugin (NICE variant like the Flatpak)
"libfdk-aac" # Deps of FDK AAC plugin
"libgl" # Deps of libobs-opengl and OBS Studio
"libjuice" # UDP Interactive Connectivity Establishment (ICE) library
"libpipewire" # Deps of the PipeWire plugin
"libpulse" # Deps of PulseAudio monitoring (in libobs) and PulseAudio plugin
"librist" # Deps of FFmpeg plugin
"libva" # Deps of FFmpeg plugin and QSV plugin
"libvpl" # Deps of QSV plugin
"libx11" # Deps of libobs, libobs-opengl, X11 Capture plugin, frontend tools plugin, obs-browser and CEF
"libxcb" # Deps of libobs-opengl, X11 Capture plugin and CEF
"libxcomposite" # Deps of the X11 capture plugin
"libxkbcommon" # Deps of libobs, OBS Studio and CEF
"luajit" # Deps of Scripting plugin
"mbedtls>=$_mbedtlsver" # Deps of OBS Studio and Outputs plugin
"pciutils" # Deps of FFmpeg plugin
"python>=$_pythonver" # Deps of Scripting plugin
"qrcodegencpp-cmake" # Deps of Websocket plugin
"qt6-base>=$_qtver" # Deps of OBS Studio and any frontend plugin
"qt6-svg>=$_qtver" # Deps of OBS Studio
"qt6-wayland>=$_qtver" # Needed to use Qt on Wayland platform
"rnnoise" # Deps if the filter plugin
"simde" # Implementations of SIMD instruction sets
"sndio" # Deps of sndio plugin
"speexdsp" # Deps if the filter plugin
"srt" # Deps of FFmpeg plugin
"systemd-libs" # Deps of V4L2 plugin
"util-linux-libs" # Deps of libobs
"v4l-utils" # Deps of V4L2 plugin
"vlc" # It is necessary to build the package and work
"wayland" # Deps of libobs, libobs-opengl and CEF
"x264" # Deps of the X264 plugin
"zlib" # Deps of libobs
# Deps of CEF
"at-spi2-core" "cairo" "dbus" "expat" "libcups" "libdrm"
"libxdamage" "libxext" "libxfixes" "libxrandr" "mesa" "nspr"
"nss" "pango"
)
makedepends=(
"asio" # Deps of Websocket plugin (headers-only lib)
"cmake"
"extra-cmake-modules"
"ffnvcodec-headers" # Deps of NVENC plugin (headers-only lib)
"git"
"uthash" # Deps of libobs (headers-only lib)
"nlohmann-json" # Deps of Websocket plugin (headers-only lib)
"swig" # Deps of Scripting plugin
"websocketpp" # Deps of Websocket plugin (headers-only lib)
)
optdepends=(
"intel-media-sdk: QSV encoder support(<= Rocket Lake & >= Broadwell)"
"vpl-gpu-rt: QSV encoder support (>= Alder Lake)"
"intel-media-driver: VAAPI encoder support (>= Broadwell)"
"libva-intel-driver: VAAPI encoder support (<= Haswell)"
"libva-mesa-driver: VAAPI encoder support"
"v4l2loopback-dkms: V4L2 virtual camera output"
"obs-source-profiler-bin: Profile the Usages of your Sources"
"obs-vertical-canvas-bin: For Dual Format Beta"
)
provides=("obs-studio=$pkgver" "obs-vst" "obs-websocket" "obs-browser")
conflicts=("obs-studio" "obs-websocket" "obs-browser" "obs-linuxbrowser" "obs-studio-tytan652" "obs-studio-git" "obs-studio-amf" "obs-studio-browser" "obs-vst" "obs-studio-liberty")
source=(
"obs-studio::git+https://github.com/amazon-contributing/upstreaming-to-obs-studio#branch=$_obsversionbranch"
"obs-browser::git+https://github.com/obsproject/obs-browser.git"
"obs-websocket::git+https://github.com/obsproject/obs-websocket.git"
"https://cdn-fastly.obsproject.com/downloads/$_cefver.tar.xz"
"qt_fix.patch"
)
sha256sums=(
"SKIP"
"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
patch -Np1 -i $srcdir/qt_fix.patch
}
build() {
cmake -B build -S obs-studio \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DENABLE_LIBFDK=ON \
-DENABLE_JACK=ON \
-DENABLE_SNDIO=ON \
-DENABLE_BROWSER=ON \
-DENABLE_NVENC=ON \
-DCEF_ROOT_DIR="$srcdir/${_cefver/%_v?/}" \
-DOBS_VERSION_OVERRIDE="${_obsversion}" \
-DOBS_COMPILE_DEPRECATION_AS_WARNING=ON \
-Wno-dev \
-DCMAKE_CXX_FLAGS="-Wno-error=deprecated-declarations"
cmake --build build
}
package() {
DESTDIR="$pkgdir" cmake --install build
}
|