Can you add a fix patch to this custom FFmpeg package?: https://patchwork.ffmpeg.org/project/ffmpeg/list/?series=13662
Upstream seems to be relatively slow (at least at the moment)
Git Clone URL: | https://aur.archlinux.org/ffmpeg-obs.git (read-only, click to copy) |
---|---|
Package Base: | ffmpeg-obs |
Description: | Complete solution to record, convert and stream audio and video with fixes for OBS Studio. And various options in the PKGBUILD |
Upstream URL: | https://ffmpeg.org/ |
Keywords: | audio codec convert encoder ffmpeg media obs vaapi video |
Licenses: | GPL-3.0-only |
Conflicts: | ffmpeg |
Provides: | ffmpeg, libavcodec.so, libavdevice.so, libavfilter.so, libavformat.so, libavutil.so, libpostproc.so, libswresample.so, libswscale.so |
Submitter: | tytan652 |
Maintainer: | tytan652 |
Last Packager: | tytan652 |
Votes: | 21 |
Popularity: | 1.71 |
First Submitted: | 2021-12-16 11:56 (UTC) |
Last Updated: | 2025-01-18 19:51 (UTC) |
Can you add a fix patch to this custom FFmpeg package?: https://patchwork.ffmpeg.org/project/ffmpeg/list/?series=13662
Upstream seems to be relatively slow (at least at the moment)
I had the same issue as mentioned here:
"with the latest version (7.1-5) I get the following build error:
libavdevice/v4l2.c: In function ‘device_open’:
libavdevice/v4l2.c:141:17: error: assignment to ‘int (*)(int, long unsigned int, ...)’ from incompatible pointer type ‘int (*)(int, int, ...)’ [-Wincompatible-pointer-types]
141 | s->ioctl_f = prefix ## ioctl;
does anybody know how to solve this?"
I had some issues creating a patch file (but that's on me) so I manually changed the offending file
steps to manually fix
yay -G ffmpeg-obs
cd ffmpeg-obs
sed -i 's/s->ioctl_f = prefix ## ioctl;/s->ioctl_f = (int (*)(int, unsigned long, ...))prefix ## ioctl;/' libavdevice/v4l2.c
Or manually changing line 141 such as:
--- a/libavdevice/v4l2.c
+++ b/libavdevice/v4l2.c
@@ -138,7 +138,7 @@
s->dup_f = prefix ## dup; \
s->ioctl_f = prefix ## ioctl; \
s->read_f = prefix ## read; \
- s->munmap_f = prefix ## munmap; \
+ s->ioctl_f = (int (*)(int, unsigned long, ...))prefix ## ioctl; \
s->munmap_f = prefix ## munmap; \
} while (0)
with the latest version (7.1-5) I get the following build error:
libavdevice/v4l2.c: In function ‘device_open’:
libavdevice/v4l2.c:141:17: error: assignment to ‘int (*)(int, long unsigned int, ...)’ from incompatible pointer type ‘int (*)(int, int, ...)’ [-Wincompatible-pointer-types]
141 | s->ioctl_f = prefix ## ioctl;
does anybody know how to solve this?
@BuyMyMojo, it's already possible with this package. @tytan652 has provided options within this package to enable/disable build options. Refer to the PKGBUILD file for full details.
To access the options, edit your /etc/makepkg.conf
and include any options you want to enable at the end of the file. You wouldn't need to include ALL of these, be selective, as you would have overlap if FFMPEG_OBS_FULL is on (enables DECKLINK, LIBFDK_AAC, SVT and VULKAN).
## Enable everything except CUDA changes (enable it manually if you want it)
FFMPEG_OBS_FULL=ON
## If 'ON', CUDA compilation is made with Nvidia CUDA Compiler, this is what ffmpeg-cuda provides. (nonfree option)
FFMPEG_OBS_CUDA=ON
## Enable debugging symbols
FFMPEG_OBS_DEBUG=ON
## Add changes from ffmpeg-decklink (nonfree option)
FFMPEG_OBS_DECKLINK=ON
## Add changes from ffmpeg-libfdk_aac (nonfree option)
FFMPEG_OBS_LIBFDK_AAC=ON
## Add SVT related changes from ffmpeg-full because ffmpeg-svt is out of date
FFMPEG_OBS_SVT=ON
## Add changes from ffmpeg-vulkan (now only enables libglslang since vulkan is enabled upstream)
FFMPEG_OBS_VULKAN=ON
Would it be possible to have a modified version of ffmpeg-full or ffmpeg-full-git with these patches too?
Installing normal ffmpeg
fixed an issue detailed here that applies to telegram-desktop
and mpv
. I'm not sure why this happened, or how to look into it, but obs-studio-browser is kind of busted until the issue resolves.
https://aur.archlinux.org/packages/mpv-git#comment-1000572
When updating to 7.1-1
, one of the SVT patch files failed validation.
==> Validating source files with sha256sums...
ffmpeg ... Skipped
obs-deps ... Skipped
add-av_stream_get_first_dts-for-chromium.patch ... Passed
020-ffmpeg-add-svt-hevc-ged80959.patch ... Passed
030-ffmpeg-add-svt-hevc-docs-ged80959.patch ... Passed
040-ffmpeg-add-svt-vp9-g1feb760.patch ... FAILED
license_if_nonfree_enabled.txt ... Passed
==> ERROR: One or more files did not pass the validity check!
error: failed to download sources for 'ffmpeg-obs-7.1-1':
The PKGBUILD has ee9499836808b6f5e583dcc1b21c28598550c58386c53cfaef41d25121ea2022
as the SHA-256 hash, but the actual file hashes to e801727b9cfb843db4efc34d3de8cf03ddf5687ff02429ac6c051e1d78d8923e
.
I needed pod2man installed to successfully build. It's not currently a build dependency.
There seems to be problems in how this is packaged, actual version of libplacebo should be ~=6, with this it builds properly, this then be on version 7.0.2 and will allow building of obs-studio-tytan652-30 successfully.
Hi,
I noticed while updating that the official Arch Linux ffmpeg package has bumped to version 7.0.2
. I was able to make the following changes to the PKGBUILD
and .SRCINFO
and get a successful build of ffmpeg-obs
with the 7.0.2 ffmpeg source:
diff --git a/.SRCINFO b/.SRCINFO
index 0896944..75e5fd5 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = ffmpeg-obs
pkgdesc = Complete solution to record, convert and stream audio and video with fixes for OBS Studio. And various options in the PKGBUILD
- pkgver = 7.0.1
+ pkgver = 7.0.2
pkgrel = 3
url = https://ffmpeg.org/
arch = x86_64
@@ -92,7 +92,7 @@ pkgbase = ffmpeg-obs
optdepends = ladspa: LADSPA filters
optdepends = nvidia-utils: Nvidia NVDEC/NVENC support
optdepends = vpl-runtime: Intel QuickSync support
- provides = ffmpeg=7.0.1
+ provides = ffmpeg=7.0.2
provides = libavcodec.so
provides = libavdevice.so
provides = libavfilter.so
diff --git a/PKGBUILD b/PKGBUILD
index 05b0425..e6bb521 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -51,7 +51,7 @@ if [[ -z "$FFMPEG_OBS_VULKAN" ]]; then
fi
pkgname=ffmpeg-obs
-pkgver=7.0.1
+pkgver=7.0.2
pkgrel=3
pkgdesc='Complete solution to record, convert and stream audio and video with fixes for OBS Studio. And various options in the PKGBUILD'
arch=('x86_64' 'aarch64')
@@ -175,7 +175,8 @@ provides=(
libswscale.so
)
conflicts=(ffmpeg)
-_tag=af25a4bfd2503caf3ee485b27b99b620302f5718
+#_tag=af25a4bfd2503caf3ee485b27b99b620302f5718 #7.0.1
+_tag=e3a61e91030696348b56361bdf80ea358aef4a19 #7.0.2
_deps_tag=2023-11-03
source=(
"ffmpeg::git+https://git.ffmpeg.org/ffmpeg.git#tag=${_tag}"
Pinned Comments
tytan652 commented on 2022-07-23 05:48 (UTC) (edited on 2024-06-21 13:15 (UTC) by tytan652)
Please, this package follow Arch Linux
ffmpeg
package version (not the staging or the testing one).Don't put
ffmpeg-obs
out-of-date if both packages are on the same version. If you do, you might be ignored in the future.tytan652 commented on 2021-12-17 15:32 (UTC)
OBS Project actually patch FFmpeg to fix some issues and also add RIST support starting from 27.2.
So I created this package, a ffmpeg package that ensure that you have those.
I really wanted to not do this but some fixes are needed, so I did my best to add those "feature-set options".
They allow you to build ffmpeg with feature-set based on other ffmpeg packages from AUR.
Read the PKGBUILD for more information about them.