Package Details: obs-studio-amf 30.0.2-1

Git Clone URL: https://aur.archlinux.org/obs-studio-amf.git (read-only, click to copy)
Package Base: obs-studio-amf
Description: Free, open source software for live streaming and recording. Includes new AMF encoding patch & browser plugin
Upstream URL: https://obsproject.com
Licenses: GPL2
Conflicts: obs-studio, obs-studio-tytan652, obs-websocket
Provides: obs-studio, obs-websocket
Submitter: alosarjos
Maintainer: alosarjos
Last Packager: alosarjos
Votes: 14
Popularity: 0.50
First Submitted: 2022-09-03 11:22 (UTC)
Last Updated: 2024-01-06 19:10 (UTC)

Dependencies (38)

Required by (142)

Sources (4)

Pinned Comments

alosarjos commented on 2023-11-12 07:42 (UTC)

Since OBS 30.0 has been released, I'll close the package.

The person who did the patch to enable AMF Encoding says that now the quality with FFMPEG has been fixed on AMD Cards (https://github.com/obsproject/obs-studio/pull/9179)

Since the MR in closed and the patch no longer maintained I would close this AUR package.

If someone wants to take maintenance of it, please let me know. IF not I will close this in a few days

alosarjos commented on 2022-09-03 11:44 (UTC) (edited on 2022-09-04 09:55 (UTC) by alosarjos)

This package is intended to try and give some feedback for the existing pull request enabling this functionality:

https://github.com/obsproject/obs-studio/pull/7206

Once this is merged and released as the official package this will be delelted

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 .. 12 Next › Last »

OzzyHelix commented on 2024-01-29 22:19 (UTC)

AMF was recently improved with AMF 1.4.33 there is a reason to use it. It is improving with time and there is a reason to have it as an option in OBS

OzzyHelix commented on 2024-01-29 22:01 (UTC) (edited on 2024-01-29 22:03 (UTC) by OzzyHelix)

AMF isn't an option in the main OBS package so this package is still required to get AMF working and right now for me it won't compile

/home/ozzy/.cache/yay/obs-studio-amf/src/obs-studio/plugins/obs-webrtc/whip-output.cpp: In member function ‘void WHIPOutput::ConfigureAudioTrack(std::string, std::string)’:
/home/ozzy/.cache/yay/obs-studio-amf/src/obs-studio/plugins/obs-webrtc/whip-output.cpp:115:41: error: ‘rtc::AudioRtpPacketizer<48000>::defaultClockRate’ is deprecated: Use DefaultClockRate [-Werror=deprecated-declarations]
  115 |                 rtc::OpusRtpPacketizer::defaultClockRate);
      |                                         ^~~~~~~~~~~~~~~~
In file included from /usr/include/rtc/av1rtppacketizer.hpp:16,
                 from /usr/include/rtc/rtc.hpp:31,
                 from /home/ozzy/.cache/yay/obs-studio-amf/src/obs-studio/plugins/obs-webrtc/whip-output.h:14,
                 from /home/ozzy/.cache/yay/obs-studio-amf/src/obs-studio/plugins/obs-webrtc/whip-output.cpp:1:
/usr/include/rtc/rtppacketizer.hpp:53:38: note: declared here
   53 |         inline static const uint32_t defaultClockRate [[deprecated("Use DefaultClockRate")]] =
      |                                      ^~~~~~~~~~~~~~~~
/home/ozzy/.cache/yay/obs-studio-amf/src/obs-studio/plugins/obs-webrtc/whip-output.cpp:115:41: error: ‘rtc::AudioRtpPacketizer<48000>::defaultClockRate’ is deprecated: Use DefaultClockRate [-Werror=deprecated-declarations]
  115 |                 rtc::OpusRtpPacketizer::defaultClockRate);
      |                                         ^~~~~~~~~~~~~~~~
/usr/include/rtc/rtppacketizer.hpp:53:38: note: declared here
   53 |         inline static const uint32_t defaultClockRate [[deprecated("Use DefaultClockRate")]] =
      |                                      ^~~~~~~~~~~~~~~~
/home/ozzy/.cache/yay/obs-studio-amf/src/obs-studio/plugins/obs-webrtc/whip-output.cpp:121:39: error: ‘using rtc::OpusPacketizationHandler = class rtc::PacketizationHandler’ is deprecated: Add OpusRtpPacketizer directly [-Werror=deprecated-declarations]
  121 |                 std::make_shared<rtc::OpusPacketizationHandler>(packetizer);
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/rtc/rtppacketizer.hpp:79:7: note: declared here
   79 | using OpusPacketizationHandler [[deprecated("Add OpusRtpPacketizer directly")]] =
      |       ^~~~~~~~~~~~~~~~~~~~~~~~
/home/ozzy/.cache/yay/obs-studio-amf/src/obs-studio/plugins/obs-webrtc/whip-output.cpp: In member function ‘void WHIPOutput::ConfigureVideoTrack(std::string, std::string)’:
/home/ozzy/.cache/yay/obs-studio-amf/src/obs-studio/plugins/obs-webrtc/whip-output.cpp:152:39: error: ‘using rtc::H264PacketizationHandler = class rtc::PacketizationHandler’ is deprecated: Add H264RtpPacketizer directly [-Werror=deprecated-declarations]
  152 |                 std::make_shared<rtc::H264PacketizationHandler>(packetizer);
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/rtc/rtc.hpp:32:
/usr/include/rtc/h264rtppacketizer.hpp:52:7: note: declared here
   52 | using H264PacketizationHandler [[deprecated("Add H264RtpPacketizer directly")]] = PacketizationHandler;
      |       ^~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [plugins/obs-webrtc/CMakeFiles/obs-webrtc.dir/build.make:90: plugins/obs-webrtc/CMakeFiles/obs-webrtc.dir/whip-output.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:2035: plugins/obs-webrtc/CMakeFiles/obs-webrtc.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: obs-studio-amf-exit status 4
 -> Failed to install the following packages. Manual intervention is required:
obs-studio-amf - exit status 4

alosarjos commented on 2024-01-06 19:12 (UTC)

Since some people still use this and @materus updated the patch, I updated the package. There are a fre more dependencies and I'm not sure if I the cmake flag I added was the best way to deal with an error, but seems to work.

If someone else who has better understanding want to get in charge of this package, let me know.

materus commented on 2024-01-04 19:30 (UTC)

Yes, I'm okay with it. I've updated this patch for my nix repo, but there's nothing nix related in it so should work for arch package too.

alosarjos commented on 2023-12-29 13:36 (UTC)

Amazing @materus. I could give it a try and update the package using your patch if you are ok with it

materus commented on 2023-12-29 11:27 (UTC)

If anyone is interested, I've updated AMF patch to obs 30 here.

Zeioth commented on 2023-12-19 20:22 (UTC)

I can confirm this is working fine now on OBS 30 and the package is not necessary. Note that it requires the AMDGPU driver. https://github.com/obsproject/obs-amd-encoder/issues/397#issuecomment-1863419182

alosarjos commented on 2023-12-11 19:28 (UTC)

@Sandwich The thing is, the AMF patch is not maintained anymore. I think there are already a few amount of obs-studio packages on AUR (Can't believe there ain't others using precompiled stuff...)

There is probably people with the AMF patches still working, and updating OBS would mean removing that as an update, since I'm not capable of rebasing the patches.

Grab the PKGBUILD and keep it, in case of maintaining this, it should be as another package

Sandwich commented on 2023-12-11 10:34 (UTC)

@alosarjos This is the only package that does not require the compilation of packages

cef-minimal-obs-bin ffmpeg-obs

And includes the Linux Browser plugin. I believe because this project includes the precompiled cef.

I was hoping this would stay maintained.

For this time being, then I will take this PKGBUILD and remove the AMF patch to use it personally.

Davius commented on 2023-12-03 11:04 (UTC) (edited on 2023-12-03 11:06 (UTC) by Davius)

Hi maintainer. Here the issue when building the latest snapshot (or cloning) :

[ 16%] Building C object libobs/CMakeFiles/libobs.dir/media-io/video-matrices.c.o
/home/davius/AUR/obs-studio-amf/src/obs-studio/libobs/media-io/media-remux.c: Dans la fonction « init_output »:
/home/davius/AUR/obs-studio-amf/src/obs-studio/libobs/media-io/media-remux.c:110:17: erreur: « av_stream_get_side_data » est obsolète [-Werror=deprecated-declarations]
  110 |                 const uint8_t *const content_src = av_stream_get_side_data(
      |                 ^~~~~
Dans le fichier inclus depuis /home/davius/AUR/obs-studio-amf/src/obs-studio/libobs/media-io/media-remux.c:24:
/usr/include/libavformat/avformat.h:1917:10: note: déclaré ici
 1917 | uint8_t *av_stream_get_side_data(const AVStream *stream,
      |          ^~~~~~~~~~~~~~~~~~~~~~~
/home/davius/AUR/obs-studio-amf/src/obs-studio/libobs/media-io/media-remux.c:114:25: erreur: « av_stream_new_side_data » est obsolète [-Werror=deprecated-declarations]
  114 |                         uint8_t *const content_dst = av_stream_new_side_data(
      |                         ^~~~~~~
/usr/include/libavformat/avformat.h:1902:10: note: déclaré ici
 1902 | uint8_t *av_stream_new_side_data(AVStream *stream,
      |          ^~~~~~~~~~~~~~~~~~~~~~~
/home/davius/AUR/obs-studio-amf/src/obs-studio/libobs/media-io/media-remux.c:126:17: erreur: « av_stream_get_side_data » est obsolète [-Werror=deprecated-declarations]
  126 |                 const uint8_t *const mastering_src = av_stream_get_side_data(
      |                 ^~~~~
/usr/include/libavformat/avformat.h:1917:10: note: déclaré ici
 1917 | uint8_t *av_stream_get_side_data(const AVStream *stream,
      |          ^~~~~~~~~~~~~~~~~~~~~~~
/home/davius/AUR/obs-studio-amf/src/obs-studio/libobs/media-io/media-remux.c:130:25: erreur: « av_stream_new_side_data » est obsolète [-Werror=deprecated-declarations]
  130 |                         uint8_t *const mastering_dst = av_stream_new_side_data(
      |                         ^~~~~~~
/usr/include/libavformat/avformat.h:1902:10: note: déclaré ici
 1902 | uint8_t *av_stream_new_side_data(AVStream *stream,
      |          ^~~~~~~~~~~~~~~~~~~~~~~
cc1 : tous les avertissements sont traités comme des erreurs
make[2]: *** [libobs/CMakeFiles/libobs.dir/build.make:762: libobs/CMakeFiles/libobs.dir/media-io/media-remux.c.o] Error 1