Package Details: obs-studio-git 30.1.1.r33.g3a10355-1

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: 1.10
First Submitted: 2014-03-12 22:29 (UTC)
Last Updated: 2024-04-01 15:47 (UTC)

Dependencies (45)

Required by (141)

Sources (4)

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)

This is a -git package, that means you have to update it! Please do not flag it out of date because of the version number. The version number will automatically increase to the version of the latest commit. If you want to have the stable versions, please install the package obs-studio from [community].

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 how do I apply your patch?

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