this is the experiment I made I just added the AMF patch to the obs-studio-av1 PKGBUILD and renamed the PKGBUILD package obs-studio-amd. I'm just playing with it I don't expect it to get taken seriously https://github.com/OzzyHelix/obs-studio-amf-tmpfix-for-arch/tree/obs-studio-amd
Search Criteria
Package Details: obs-studio-amf 30.0.2-1
Package Actions
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.62 |
First Submitted: | 2022-09-03 11:22 (UTC) |
Last Updated: | 2024-01-06 19:10 (UTC) |
Dependencies (38)
- amf-amdgpu-proAUR
- curl (curl-quiche-gitAUR, curl-gitAUR, curl-http3-ngtcp2AUR, curl-c-aresAUR)
- ffmpeg (ffmpeg-intel-full-gitAUR, ffmpeg-nvcodec-11-1-gitAUR, ffmpeg-gitAUR, ffmpeg-cudaAUR, ffmpeg-decklinkAUR, ffmpeg-amd-fullAUR, ffmpeg-full-gitAUR, ffmpeg-nocudaAUR, ffmpeg-ffplayoutAUR, ffmpeg-obsAUR, ffmpeg-amd-full-gitAUR, ffmpeg-fullAUR, ffmpeg-headlessAUR, ffmpeg-libfdk_aacAUR)
- gtk-update-icon-cache (gtk-update-icon-cache-gitAUR)
- jackAUR (jack-gitAUR, jack2-gitAUR, pipewire-common-jack-gitAUR, pipewire-full-jack-gitAUR, pipewire-jack-gitAUR, jack2, pipewire-jack)
- jansson (jansson-gitAUR)
- libdatachannel (libdatachannel-niceAUR, libdatachannel-gitAUR)
- libxcomposite
- libxinerama (libxinerama-randr-gitAUR)
- libxkbcommon-x11 (libxkbcommon-x11-gitAUR)
- mbedtls (mbedtls-gitAUR, mbedtls-dtlsAUR)
- nss (nss-hgAUR)
- pciutils (pciutils-gitAUR)
- pipewire (pipewire-common-gitAUR, pipewire-full-gitAUR, pipewire-gitAUR)
- qrcodegencpp-cmakeAUR
- qt6-svg
- qt6-wayland
- rnnoise (rnnoise-gitAUR)
- xdg-desktop-portal (xdg-desktop-portal-gitAUR)
- amf-headers (amf-headers-gitAUR) (make)
- Show 18 more dependencies...
Required by (141)
- 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-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)
OzzyHelix commented on 2024-02-21 02:43 (UTC)
OzzyHelix commented on 2024-02-21 01:33 (UTC)
this might sound dumb but I was suggesting to the obs-studio-av1 aur package that you guys combine the patches into one package called obs-studio-amd I think having patches for AV1 and AMF in one package might be good for everyone but I will keep that experiment in a different branch on my github
OzzyHelix commented on 2024-02-18 23:20 (UTC) (edited on 2024-02-18 23:20 (UTC) by OzzyHelix)
here is what I've done I took the PKGBUILD and other files from obs-studio-av1 to get your obs-amf-patch.patch to build the diff between packages will be provided alongside the github repo containing the modified PKGBUILD with the fix. I don't know if this would be a good solution but this would allow your package to build again.
here is the full diff between the packages
https://pastebin.com/raw/9gEfa6XK
then the repo containing the package you can use to fix your aur package
https://github.com/OzzyHelix/obs-studio-amf-tmpfix-for-arch
I hope this gets things working again for folks so we can use AMF on our AMD GPUs and I just ask that people take a look at this.
Sincerely Ozzy
OzzyHelix commented on 2024-02-15 03:09 (UTC) (edited on 2024-02-15 03:11 (UTC) by OzzyHelix)
I don't know if this is helpful but this is where the build fails with your PKGBUILD
Installing text-freetype2 to OBS rundir
[ 76%] Built target text-freetype2
[ 76%] Building CXX object plugins/obs-webrtc/CMakeFiles/obs-webrtc.dir/obs-webrtc.cpp.o
[ 76%] Building CXX object plugins/obs-webrtc/CMakeFiles/obs-webrtc.dir/whip-output.cpp.o
/home/ozzy/Downloads/obs-studio-amf/src/obs-studio/plugins/obs-webrtc/whip-output.cpp: In member function ‘void WHIPOutput::ConfigureAudioTrack(std::string, std::string)’:
/home/ozzy/Downloads/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/Downloads/obs-studio-amf/src/obs-studio/plugins/obs-webrtc/whip-output.h:14,
from /home/ozzy/Downloads/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/Downloads/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/Downloads/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/Downloads/obs-studio-amf/src/obs-studio/plugins/obs-webrtc/whip-output.cpp: In member function ‘void WHIPOutput::ConfigureVideoTrack(std::string, std::string)’:
/home/ozzy/Downloads/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...
OzzyHelix commented on 2024-02-15 03:02 (UTC)
I mostly created my out of AUR temp fix to fix a problem where your package would not build I am hoping that problems with the build of the packages here are resolved
OzzyHelix commented on 2024-02-03 17:56 (UTC) (edited on 2024-02-03 17:57 (UTC) by OzzyHelix)
it seems to be the case that that my patch doesn't work without linux-firmware-git not sure why
OzzyHelix commented on 2024-02-02 18:31 (UTC)
I don't know if if the amdgpu-pro stuff is needed for doing this patch but I added to the PKGBUILD in the temp fix on github as dependencies in particular amf-headers
and amf-amdgpu-pro
OzzyHelix commented on 2024-02-02 14:39 (UTC)
if I could find people to test my patch I could confirm issues but idk
OzzyHelix commented on 2024-02-02 14:36 (UTC)
I just confirmed that I need linux-firmware-git for the patch to work I'm not sure why but that seems problematic. I need more people with AMD cards and Arch Linux to test my patch I think
OzzyHelix commented on 2024-02-02 14:32 (UTC)
I uninstalled linux-firmware-git because of a conflict with amd-ucode it might be that for some reason on my machine the patch on works with linux-firmware-git I am currently checking that
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