wip add obs-studio

This commit is contained in:
madomado
2023-05-23 12:39:42 +08:00
committed by GitHub
parent 644b5f30b7
commit 35c0d89a6c
+165
View File
@@ -0,0 +1,165 @@
%global obswebsocketver 5.2.2
Name: obs-studio
Version: 29.1.1
Release: 1%?dist
Summary: Open Broadcaster Software Studio
License: GPL-2.0-or-later and ISC and MIT and BSD-1-Clause and BSD-2-Clause and BSD-3-Clause and BSL-1.0 and LGPL-2.1-or-later and CC0-1.0 and (CC0-1.0 or OpenSSL or Apache-2.0) and LicenseRef-Fedora-Public-Domain and (BSD-3-Clause or GPL-2.0-only)
URL: https://obsproject.com/
Source0: https://github.com/obsproject/obs-studio/archive/refs/tags/%version.tar.gz
Source1: https://github.com/obsproject/obs-websocket/archive/%obswebsocketver/obs-websocket-%obswebsocketver.tar.gz
BuildRequires: gcc
BuildRequires: cmake >= 3.16
BuildRequires: ninja-build
BuildRequires: libappstream-glib
BuildRequires: desktop-file-utils
BuildRequires: alsa-lib-devel
BuildRequires: asio-devel
BuildRequires: fdk-aac-free-devel
BuildRequires: ffmpeg-devel
BuildRequires: fontconfig-devel
BuildRequires: freetype-devel
BuildRequires: jansson-devel >= 2.5
BuildRequires: json-devel
BuildRequires: libcurl-devel
BuildRequires: libdrm-devel
BuildRequires: libGL-devel
BuildRequires: libglvnd-devel
BuildRequires: librist-devel
BuildRequires: srt-devel
BuildRequires: libuuid-devel
BuildRequires: libv4l-devel
BuildRequires: libva-devel
BuildRequires: libX11-devel
BuildRequires: libxcb-devel
BuildRequires: libXcomposite-devel
BuildRequires: libXinerama-devel
BuildRequires: libxkbcommon-devel
BuildRequires: luajit-devel
BuildRequires: mbedtls-devel
BuildRequires: pciutils-devel
BuildRequires: pipewire-devel
BuildRequires: pipewire-jack-audio-connection-kit-devel
BuildRequires: pulseaudio-libs-devel
BuildRequires: python3-devel
BuildRequires: libqrcodegencpp-devel
BuildRequires: qt6-qtbase-devel
BuildRequires: qt6-qtbase-private-devel
BuildRequires: qt6-qtsvg-devel
BuildRequires: qt6-qtwayland-devel
BuildRequires: speexdsp-devel
BuildRequires: swig
BuildRequires: systemd-devel
BuildRequires: wayland-devel
BuildRequires: websocketpp-devel
# Ensure QtWayland is installed when libwayland-client is installed
Requires: (qt6-qtwayland%{?_isa} if libwayland-client%{?_isa})
# For icon folder heirarchy
Requires: hicolor-icon-theme
# Virtual camera support
Recommends: kmod-v4l2loopback # TODO Terra package
# NVIDIA Hardware accelerated encoding: CUDA
Suggests: xorg-x11-drv-nvidia-cuda
# These are modified sources that can't be easily unbundled
## License: MIT and CC0-1.0
## Newer version in Fedora with the same licensing
## Request filed upstream for fixing it: https://github.com/simd-everywhere/simde/issues/999
Provides: bundled(simde) = 0.7.1
## License: BSL-1.0
Provides: bundled(decklink-sdk)
## License: CC0-1.0 or OpenSSL or Apache-2.0
Provides: bundled(blake2)
## License: MIT
Provides: bundled(json11)
## License: MIT
Provides: bundled(libcaption)
## License: ISC
Provides: bundled(libff)
## License: BSD-1-Clause
Provides: bundled(uthash)
## License: BSD-3-Clause
Provides: bundled(rnnoise)
## License: LGPL-2.1-or-later and LicenseRef-Fedora-Public-Domain
Provides: bundled(librtmp)
## License: MIT
Provides: bundled(libnsgif)
## License: MIT
## Windows only dependency
## Support for Linux will also unbundle it
## Cf. https://github.com/obsproject/obs-studio/pull/8327
Provides: bundled(intel-mediasdk)
%description
Open Broadcaster Software is free and open source
software for video recording and live streaming.
%package -n obs-studio-plugin-x264
Summary: Open Broadcaster Software Studio - x264 encoding plugin
License: GPL-2.0-or-later
BuildRequires: x264-devel
Requires: obs-studio%{?_isa} >= %{version}
Supplements: obs-studio%{?_isa}
%description -n obs-studio-plugin-x264
Open Broadcaster Software is free and open source software
for video recording and live streaming.
This package contains the plugin for using the x264 encoder for
streaming or recording AVC/H.264 video.
%files -n obs-studio-plugin-x264
%license COPYING
%{_libdir}/obs-plugins/obs-x264.so
%{_datadir}/obs/obs-plugins/obs-x264/
%package -n obs-studio-plugin-vlc-video
Summary: Open Broadcaster Software Studio - VLC-based video plugin
License: GPL-2.0-or-later
BuildRequires: vlc-devel
# We dlopen() libvlc
Requires: libvlc.so.%{libvlc_soversion}%{?lib64_suffix}
Requires: obs-studio%{?_isa} >= %{version}
Supplements: obs-studio%{?_isa}
%description -n obs-studio-plugin-vlc-video
Open Broadcaster Software is free and open source software
for video recording and live streaming.
This package contains the plugin for using VLC to embed video
as an overlay in a video stream or recording.
%files -n obs-studio-plugin-vlc-video
%license COPYING
%{_libdir}/obs-plugins/vlc-video.so
%{_datadir}/obs/obs-plugins/vlc-video/
%prep
%autosetup
# TODO
%build
%cmake -B build -S obs-studio-%version \
-DCMAKE_INSTALL_PREFIX="%buildroot/usr" \
-DUNIX_STRUCTURE=1 -GNinja \
-DCMAKE_SKIP_RPATH=1 \
-DBUILD_BROWSER=OFF \
-DENABLE_JACK=ON \
-DENABLE_LIBFDK=ON \
-DENABLE_AJA=OFF \
-DOBS_VERSION_OVERRIDE="%version-%release" \
-Wno-dev \
-DOpenGL_GL_PREFERENCE=GLVND
%cmake_build
%install
%cmake_install