@seo.disparate how do I apply your patch?
Search Criteria
Package Details: obs-studio-git 30.1.1.r33.g3a10355-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/obs-studio-git.git (read-only, click to copy) |
---|---|
Package Base: | obs-studio-git |
Description: | Free and open source software for video recording and live streaming. |
Upstream URL: | https://github.com/obsproject/obs-studio |
Keywords: | obs-studio |
Licenses: | GPL2 |
Conflicts: | obs-studio |
Provides: | obs-studio |
Submitter: | ledti |
Maintainer: | benklett |
Last Packager: | benklett |
Votes: | 95 |
Popularity: | 0.88 |
First Submitted: | 2014-03-12 22:29 (UTC) |
Last Updated: | 2024-04-01 15:47 (UTC) |
Dependencies (45)
- curl (curl-quiche-gitAUR, curl-http3-ngtcp2AUR, curl-c-aresAUR, curl-gitAUR)
- ffmpeg (ffmpeg-intel-full-gitAUR, ffmpeg-nvcodec-11-1-gitAUR, ffmpeg-amd-fullAUR, ffmpeg-ffplayoutAUR, ffmpeg-obsAUR, ffmpeg-amd-full-gitAUR, ffmpeg-headlessAUR, ffmpeg-libfdk_aacAUR, ffmpeg-cudaAUR, ffmpeg-decklinkAUR, ffmpeg-fullAUR, ffmpeg-gitAUR, ffmpeg-full-gitAUR)
- gtk-update-icon-cache (gtk-update-icon-cache-gitAUR)
- jackAUR (jack2-gitAUR, pipewire-full-jack-gitAUR, pipewire-jack-gitAUR, jack2, pipewire-jack)
- jansson (jansson-gitAUR)
- libajantv2AUR
- libdatachannel (libdatachannel-gitAUR, libdatachannel-niceAUR)
- librist (librist-gitAUR)
- libxinerama (libxinerama-randr-gitAUR)
- libxkbcommon-x11 (libxkbcommon-x11-gitAUR)
- mbedtls2
- onevpl (libvpl-gitAUR, libvpl)
- pciutils (pciutils-gitAUR)
- qrcodegencpp-cmakeAUR
- qt6-svg
- speexdsp (speexdsp-gitAUR)
- asio (asio-gitAUR) (make)
- cef-minimal-obs-binAUR (make)
- cmake (cmake-gitAUR) (make)
- ffnvcodec-headers (ffnvcodec-headers-gitAUR, ffnvcodec-headers-11-1AUR, ffnvcodec-headers-12-1AUR) (make)
- git (git-gitAUR) (make)
- libfdk-aac (libfdk-aac-gitAUR) (make)
- libxcomposite (make)
- luajit (luajit-2.1-lua52-gitAUR, luajit-openrestyAUR, luajit-gitAUR) (make)
- nlohmann-json (nlohmann-json-gitAUR) (make)
- pipewire (pipewire-full-gitAUR, pipewire-gitAUR) (make)
- python (python37AUR, python311AUR, python310AUR) (make)
- qt6-wayland (make)
- swig (swig-gitAUR) (make)
- vlc (vlc-luajitAUR, vlc-gitAUR) (make)
- wayland (wayland-gitAUR, wayland-chromiumAUR, wayland-asan-gitAUR) (make)
- websocketpp (websocketpp-gitAUR) (make)
- x264 (x264-tmod-gitAUR, x264-gitAUR) (make)
- xdg-desktop-portal (xdg-desktop-portal-gitAUR) (make)
- libfdk-aac (libfdk-aac-gitAUR) (optional) – FDK AAC codec support
- libva-intel-driver (libva-intel-driver-gitAUR, libva-intel-driver-hybridAUR, libva-intel-driver-g45-h264AUR) (optional) – hardware encoding
- libva-mesa-driver (mesa-nightly-nvk-rusticl-intelrt-gitAUR, mesa-minimal-gitAUR, mesa-gitAUR) (optional) – hardware encoding
- libxcomposite (optional) – XComposite capture support
- luajit (luajit-2.1-lua52-gitAUR, luajit-openrestyAUR, luajit-gitAUR) (optional) – Lua scripting
- pipewire (pipewire-full-gitAUR, pipewire-gitAUR) (optional) – Pipewire capture
- pipewire-media-session (pipewire-media-session-gitAUR) (optional) – Pipewire capture
- python (python37AUR, python311AUR, python310AUR) (optional) – Python scripting
- v4l2loopback-dkms (v4l2loopback-dkms-gitAUR) (optional) – Virtual webcam
- vlc (vlc-luajitAUR, vlc-gitAUR) (optional) – VLC Media Source
- xdg-desktop-portal (xdg-desktop-portal-gitAUR) (optional) – Pipewire capture
Required by (142)
- droidcam-obs-plugin (requires obs-studio)
- droidcam-obs-plugin-bin (requires obs-studio)
- droidcam-obs-plugin-git (requires obs-studio)
- glava-git (requires obs-studio) (make)
- glava-git (requires obs-studio) (optional)
- glava-ridged (requires obs-studio) (optional)
- looking-glass (requires obs-studio) (make)
- looking-glass-git (requires obs-studio) (make)
- looking-glass-host (requires obs-studio) (make)
- looking-glass-host-git (requires obs-studio) (make)
- looking-glass-module-dkms (requires obs-studio) (make)
- looking-glass-module-dkms-git (requires obs-studio) (make)
- looking-glass-rc (requires obs-studio) (make)
- looking-glass-rc-host (requires obs-studio) (make)
- looking-glass-rc-module-dkms (requires obs-studio) (make)
- nudgis-obs-plugin (requires obs-studio)
- obs-3d-effect (requires obs-studio)
- obs-advanced-masks (requires obs-studio)
- obs-advanced-scene-switcher (requires obs-studio)
- obs-audio-monitor (requires obs-studio)
- obs-audio-pan-filter (requires obs-studio)
- obs-backgroundremoval (requires obs-studio)
- obs-backgroundremoval-git (requires obs-studio)
- obs-browser-transition (requires obs-studio)
- obs-captions-plugin-bin (requires obs-studio)
- obs-color-monitor (requires obs-studio)
- obs-command-source (requires obs-studio)
- obs-composite-blur (requires obs-studio)
- obs-controller-git (requires obs-studio)
- obs-dir-watch-media (requires obs-studio)
- obs-downstream-keyer (requires obs-studio)
- obs-durchblick (requires obs-studio)
- obs-dvds3 (requires obs-studio)
- obs-dynamic-delay (requires obs-studio)
- obs-face-tracker (requires obs-studio)
- obs-frame-interleave-filter (requires obs-studio)
- obs-freeze-filter (requires obs-studio)
- obs-ghostscript (requires obs-studio)
- obs-glcapture-git (requires obs-studio)
- obs-gnome-screencast (requires obs-studio)
- obs-gnome-screencast-git (requires obs-studio)
- obs-gphoto (requires obs-studio)
- obs-gradient-source (requires obs-studio)
- obs-gstreamer (requires obs-studio)
- obs-image-reaction (requires obs-studio)
- obs-image-reaction-bin (requires obs-studio)
- obs-infowriter (requires obs-studio)
- obs-kinect-bin (requires obs-studio)
- obs-kmsgrab-git (requires obs-studio)
- obs-loudness-dock (requires obs-studio)
- obs-main-view-source (requires obs-studio)
- obs-media-controls (requires obs-studio)
- obs-midi (requires obs-studio)
- obs-midi-mg (requires obs-studio)
- obs-motion-effect-git (requires obs-studio)
- obs-move-transition (requires obs-studio)
- obs-multi-rtmp (requires obs-studio)
- obs-multi-rtmp-git (requires obs-studio)
- obs-multisource-effect (requires obs-studio)
- obs-ndi (requires obs-studio)
- obs-ndi-bin (requires obs-studio)
- obs-ndi-git (requires obs-studio)
- obs-nvfbc-git (requires obs-studio)
- obs-nvfbc-high-fps-git (requires obs-studio)
- obs-ocr (requires obs-studio)
- obs-openvr-git (requires obs-studio) (make)
- obs-pipewire-audio-capture (requires obs-studio)
- obs-pipewire-audio-capture-bin (requires obs-studio)
- obs-pipewire-audio-capture-multiple-git (requires obs-studio)
- obs-plugin-input-overlay (requires obs-studio)
- obs-plugin-input-overlay-bin (requires obs-studio)
- obs-plugin-input-overlay-git (requires obs-studio)
- obs-plugin-ios-camera-source-git (requires obs-studio)
- obs-plugin-looking-glass (requires obs-studio)
- obs-plugin-looking-glass (requires obs-studio) (make)
- obs-plugin-looking-glass-git (requires obs-studio)
- obs-plugin-looking-glass-git (requires obs-studio) (make)
- obs-plugin-looking-glass-rc (requires obs-studio)
- obs-plugin-looking-glass-rc (requires obs-studio) (make)
- obs-plugin-texture-share-vk (requires obs-studio)
- obs-plugin-texture-share-vk-git (requires obs-studio)
- obs-plugin-time-source (requires obs-studio)
- obs-plugin-tuna-bin (requires obs-studio)
- obs-plugin-tuna-git (requires obs-studio)
- obs-plugin-vertical-canvas-git (requires obs-studio)
- obs-plugin-waveform-bin (requires obs-studio)
- obs-plugin-waveform-git (requires obs-studio)
- obs-ptz-controls (requires obs-studio)
- obs-qtwebkit-git (requires obs-studio)
- obs-qtwebkit-git (requires obs-studio) (make)
- obs-recursion-effect (requires obs-studio)
- obs-rendering-lag (requires obs-studio)
- obs-replay-source (requires obs-studio)
- obs-rgb-levels-filter-git (requires obs-studio)
- obs-roi-ui (requires obs-studio)
- obs-rtmp-nicolive-git (requires obs-studio)
- obs-rtspserver (requires obs-studio)
- obs-rtspserver-bin (requires obs-studio)
- obs-rtspserver-git (requires obs-studio)
- obs-scale-to-sound (requires obs-studio)
- obs-scale-to-sound-bin (requires obs-studio)
- obs-scene-as-transition (requires obs-studio)
- obs-scene-collection-manager (requires obs-studio)
- obs-scene-notes-dock (requires obs-studio)
- obs-scene-tree-view-git (requires obs-studio)
- obs-scrab (requires obs-studio)
- obs-shaderfilter-git (requires obs-studio)
- obs-source-clone (requires obs-studio)
- obs-source-copy (requires obs-studio)
- obs-source-dock (requires obs-studio)
- obs-source-record (requires obs-studio)
- obs-source-switcher (requires obs-studio)
- obs-spectralizer (requires obs-studio)
- obs-streamfx (requires obs-studio)
- obs-streamfx-git (requires obs-studio)
- obs-streamfx-unstable (requires obs-studio)
- obs-stroke-glow-shadow (requires obs-studio)
- obs-teleport (requires obs-studio)
- obs-text-pango (requires obs-studio)
- obs-text-pthread (requires obs-studio)
- obs-time-warp-scan (requires obs-studio)
- obs-transition-matrix-git (requires obs-studio)
- obs-transition-table (requires obs-studio)
- obs-tuna (requires obs-studio)
- obs-v4l2sink-git (requires obs-studio)
- obs-vaapi (requires obs-studio)
- obs-vaapi-git (requires obs-studio)
- obs-vban (requires obs-studio)
- obs-vertical-canvas (requires obs-studio)
- obs-virtual-cam-filter (requires obs-studio)
- obs-vkcapture (requires obs-studio)
- obs-vkcapture-git (requires obs-studio)
- obs-vnc (requires obs-studio)
- obs-websocket (requires obs-studio)
- obs-websocket-bin (requires obs-studio)
- obs-websocket-compat (requires obs-studio)
- obs-websocket-compat-bin (requires obs-studio)
- obs-websocket-git (requires obs-studio)
- rewards-theater-obs (requires obs-studio)
- rewards-theater-obs-git (requires obs-studio)
- wlrobs (requires obs-studio)
- wlrobs-hg (requires obs-studio)
Sources (4)
Latest Comments
« First ‹ Previous 1 2 3 4 5 6 7 8 .. 32 Next › Last »
zangoku commented on 2024-01-27 20:42 (UTC)
seo.disparate commented on 2024-01-21 09:09 (UTC) (edited on 2024-01-21 12:25 (UTC) by seo.disparate)
Fails to build due to updated libdatachannel
. I made a patch that seems to fix the compiler errors:
--- a/plugins/obs-webrtc/whip-output.cpp
+++ b/plugins/obs-webrtc/whip-output.cpp
@@ -112,16 +112,14 @@ void WHIPOutput::ConfigureAudioTrack(std::string media_stream_id,
auto rtp_config = std::make_shared<rtc::RtpPacketizationConfig>(
ssrc, cname, audio_payload_type,
- rtc::OpusRtpPacketizer::defaultClockRate);
- auto packetizer = std::make_shared<rtc::OpusRtpPacketizer>(rtp_config);
+ rtc::OpusRtpPacketizer::DefaultClockRate);
+ auto opus_packetizer = std::make_shared<rtc::OpusRtpPacketizer>(rtp_config);
audio_sr_reporter = std::make_shared<rtc::RtcpSrReporter>(rtp_config);
auto nack_responder = std::make_shared<rtc::RtcpNackResponder>();
- auto opus_handler =
- std::make_shared<rtc::OpusPacketizationHandler>(packetizer);
- opus_handler->addToChain(audio_sr_reporter);
- opus_handler->addToChain(nack_responder);
- audio_track->setMediaHandler(opus_handler);
+ opus_packetizer->addToChain(audio_sr_reporter);
+ opus_packetizer->addToChain(nack_responder);
+ audio_track->setMediaHandler(opus_packetizer);
}
void WHIPOutput::ConfigureVideoTrack(std::string media_stream_id,
@@ -142,17 +140,15 @@ void WHIPOutput::ConfigureVideoTrack(std::string media_stream_id,
auto rtp_config = std::make_shared<rtc::RtpPacketizationConfig>(
ssrc, cname, video_payload_type,
rtc::H264RtpPacketizer::defaultClockRate);
- auto packetizer = std::make_shared<rtc::H264RtpPacketizer>(
+ auto h264_packetizer = std::make_shared<rtc::H264RtpPacketizer>(
rtc::H264RtpPacketizer::Separator::StartSequence, rtp_config,
MAX_VIDEO_FRAGMENT_SIZE);
video_sr_reporter = std::make_shared<rtc::RtcpSrReporter>(rtp_config);
auto nack_responder = std::make_shared<rtc::RtcpNackResponder>();
- auto h264_handler =
- std::make_shared<rtc::H264PacketizationHandler>(packetizer);
- h264_handler->addToChain(video_sr_reporter);
- h264_handler->addToChain(nack_responder);
- video_track->setMediaHandler(h264_handler);
+ h264_packetizer->addToChain(video_sr_reporter);
+ h264_packetizer->addToChain(nack_responder);
+ video_track->setMediaHandler(h264_packetizer);
}
/**
A quick test recording seems to indicate this works. Feel free to test it yourself.
Wait no, I didn't test webrtc, which this code belongs to...
EDIT: I tested a WHIP livestream session to myself using https://ossrs.io/lts/en-us/blog/Experience-Ultra-Low-Latency-Live-Streaming-with-OBS-WHIP . It appears to work with h264 video and opus audio, so I think this patch works properly.
seo.disparate commented on 2023-12-03 01:25 (UTC)
My PR got merged upstream, so this package should build now.
zangoku commented on 2023-11-29 15:57 (UTC)
fails to build:
13%] Building C object libobs/CMakeFiles/libobs.dir/media-io/media-remux.c.o
/home/zangoku/.cache/paru/clone/obs-studio-git/src/obs-studio-git/libobs/media-io/media-remux.c: In function ‘init_output’:
/home/zangoku/.cache/paru/clone/obs-studio-git/src/obs-studio-git/libobs/media-io/media-remux.c:99:17: error: ‘av_stream_get_side_data’ is deprecated [-Werror=deprecated-declarations]
99 | const uint8_t *const content_src = av_stream_get_side_data(
| ^~~~~
In file included from /home/zangoku/.cache/paru/clone/obs-studio-git/src/obs-studio-git/libobs/media-io/media-remux.c:24:
/usr/include/libavformat/avformat.h:1917:10: note: declared here
1917 | uint8_t *av_stream_get_side_data(const AVStream *stream,
| ^~~~~~~~~~~~~~~~~~~~~~~
/home/zangoku/.cache/paru/clone/obs-studio-git/src/obs-studio-git/libobs/media-io/media-remux.c:103:25: error: ‘av_stream_new_side_data’ is deprecated [-Werror=deprecated-declarations]
103 | uint8_t *const content_dst = av_stream_new_side_data(
| ^~~~~~~
/usr/include/libavformat/avformat.h:1902:10: note: declared here
1902 | uint8_t *av_stream_new_side_data(AVStream *stream,
| ^~~~~~~~~~~~~~~~~~~~~~~
/home/zangoku/.cache/paru/clone/obs-studio-git/src/obs-studio-git/libobs/media-io/media-remux.c:115:17: error: ‘av_stream_get_side_data’ is deprecated [-Werror=deprecated-declarations]
115 | const uint8_t *const mastering_src = av_stream_get_side_data(
| ^~~~~
/usr/include/libavformat/avformat.h:1917:10: note: declared here
1917 | uint8_t *av_stream_get_side_data(const AVStream *stream,
| ^~~~~~~~~~~~~~~~~~~~~~~
/home/zangoku/.cache/paru/clone/obs-studio-git/src/obs-studio-git/libobs/media-io/media-remux.c:119:25: error: ‘av_stream_new_side_data’ is deprecated [-Werror=deprecated-declarations]
119 | uint8_t *const mastering_dst = av_stream_new_side_data(
| ^~~~~~~
/usr/include/libavformat/avformat.h:1902:10: note: declared here
1902 | uint8_t *av_stream_new_side_data(AVStream *stream,
| ^~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[2]: *** [libobs/CMakeFiles/libobs.dir/build.make:776: libobs/CMakeFiles/libobs.dir/media-io/media-remux.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1218: libobs/CMakeFiles/libobs.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...
error: failed to build 'obs-studio-git-30.0.0.beta3-2':
error: packages failed to build: obs-studio-git-30.0.0.beta3-2
seo.disparate commented on 2023-11-29 03:44 (UTC) (edited on 2023-11-29 07:37 (UTC) by seo.disparate)
I made a patch that fixes the build with FFmpeg 6.1
Previously, the build fails because FFmpeg deprecated some functions/enums and obs fails to build due to the deprecations. The patch fixes this by using the recommended API calls as described here
EDIT: I didn't make a pull request since some distros probably don't have FFmpeg 6.1 yet, and mentioned about it in a related issue..
EDIT2: I decided to make a pull request.
EDIT3: I made changes (after some review) to allow builds with older versions of FFmpeg. Hopefully this will be enough for the PR to be accepted upstream.
dhtseany commented on 2023-11-14 20:27 (UTC)
Can you please restore -DENABLE_JACK=ON \
under the CMAKE section? Without it the jack input client is missing. Thanks!
Xakurinha32 commented on 2023-10-02 22:52 (UTC) (edited on 2023-10-02 22:52 (UTC) by Xakurinha32)
Compilation Failed:
Installing decklink to OBS rundir
[ 33%] Built target decklink
[ 33%] Building C object plugins/vlc-video/CMakeFiles/vlc-video.dir/vlc-video-plugin.c.o
In file included from /home/spamtla/.cache/yay/obs-studio-git/src/obs-studio-git/plugins/vlc-video/vlc-video-plugin.h:9,
from /home/spamtla/.cache/yay/obs-studio-git/src/obs-studio-git/plugins/vlc-video/vlc-video-plugin.c:6:
/usr/include/vlc/libvlc_media.h:740:52: error: unknown type name ‘libvlc_picture_type_t’; did you mean ‘libvlc_media_type_t’?
740 | bool crop, libvlc_picture_type_t picture_type,
| ^~~~~~~~~~~~~~~~~~~~~
| libvlc_media_type_t
/usr/include/vlc/libvlc_media.h:778:51: error: unknown type name ‘libvlc_picture_type_t’; did you mean ‘libvlc_media_type_t’?
778 | bool crop, libvlc_picture_type_t picture_type,
| ^~~~~~~~~~~~~~~~~~~~~
| libvlc_media_type_t
In file included from /home/spamtla/.cache/yay/obs-studio-git/src/obs-studio-git/plugins/vlc-video/vlc-video-plugin.h:10:
/usr/include/vlc/libvlc_events.h:269:13: error: unknown type name ‘libvlc_picture_t’
269 | libvlc_picture_t* p_thumbnail;
| ^~~~~~~~~~~~~~~~
/usr/include/vlc/libvlc_events.h:277:13: error: unknown type name ‘libvlc_picture_list_t’
277 | libvlc_picture_list_t* thumbnails;
| ^~~~~~~~~~~~~~~~~~~~~
make[2]: *** [plugins/vlc-video/CMakeFiles/vlc-video.dir/build.make:76: plugins/vlc-video/CMakeFiles/vlc-video.dir/vlc-video-plugin.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1403: plugins/vlc-video/CMakeFiles/vlc-video.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...
-> error making: obs-studio-git-exit status 4
-> Failed to install the following packages. Manual intervention is required:
obs-studio-git - exit status 4
wustdsh commented on 2023-09-30 12:28 (UTC)
Why is libfdk-aac missing from the audio encoder options? Libfdk-aac has been installed
Pinned Comments
thotypous commented on 2021-02-05 14:12 (UTC)
If you don't want to build this package yourself, hourly builds are available at https://aur.chaotic.cx
benklett commented on 2016-02-06 23:11 (UTC) (edited on 2016-08-10 14:01 (UTC) by benklett)