Package Details: ffmpeg-obs 7.1-1

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: 18
Popularity: 0.88
First Submitted: 2021-12-16 11:56 (UTC)
Last Updated: 2024-11-11 17:07 (UTC)

Dependencies (88)

Required by (1918)

Sources (3)

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.

Latest Comments

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

tytan652 commented on 2023-10-22 10:03 (UTC) (edited on 2023-10-22 10:22 (UTC) by tytan652)

Please file an Arch bug with the issues you encounter with repo's obs-studio.

No, obs-studio is purposefully feature-incomplete, and I also get that packager have many package to maintain. But one of the last one I open about OBS (VST) got closed as "will not implement" with only reason not willing to switch to git.

Edit: the VLC but report one removed the feature from the OBS package.

I try to provide a good experience for user that prefers native package or want to avoid Flatpaks. Not being a pain to packagers.

MarsSeed commented on 2023-10-22 09:15 (UTC)

Please file an Arch bug with the issues you encounter with repo's obs-studio.

tytan652 commented on 2023-10-22 09:08 (UTC) (edited on 2023-10-22 09:52 (UTC) by tytan652)

No thank you for the deletion request, the worst part is that I have no idea how to intervene there since how to use mail-list are not obvious to everyone.

This package is meant to provide a FFmpeg build the closest as possible of what OBS Project uses.

Resuming it as two minimal patch is wrong, RIST support is also added and there is also NVENC fixes by using commit after the release tag.

The AOM patch does not change the default but number of quality level to what upstream AOM provides which is 10 where FFmpeg use 8.

OBS Studio relies on those changes, and I can't predict when OBS will need to patch FFmpeg again once those are potentially upstreamed by OBS Project.

I'm against the deletion.

Bitals commented on 2023-10-12 10:02 (UTC) (edited on 2023-10-12 10:02 (UTC) by Bitals)

Arch Linux has updated rav1e

...also rebuilding with it crashes every ffmpeg dependency, including obs and telegram-desktop, lol.

Bitals commented on 2023-10-12 08:53 (UTC)

Arch Linux has updated rav1e, so ffmpeg needs to be rebuilt against it for it to work (and for packages dependent on it like obviously obs-studio and for example telegram-desktop).

zegkljan commented on 2023-10-12 06:50 (UTC)

I wanted to install/rebuild ffmpeg-obs today, but also failed because of NVENC:

/tmp $ git clone https://aur.archlinux.org/ffmpeg-obs.git
Cloning into 'ffmpeg-obs'...
remote: Enumerating objects: 174, done.
remote: Counting objects: 100% (174/174), done.
remote: Compressing objects: 100% (103/103), done.
remote: Total 174 (delta 78), reused 163 (delta 71), pack-reused 0
Receiving objects: 100% (174/174), 109.13 KiB | 1.25 MiB/s, done.
Resolving deltas: 100% (78/78), done.
/tmp $ cd ffmpeg-obs
/tmp/ffmpeg-obs $ makepkg -s
==> Making package: ffmpeg-obs 6.0.r12.ga6dc929-7 (Čt 12. října 2023, 08:47:18)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Cloning ffmpeg git repo...
Cloning into bare repository '/tmp/ffmpeg-obs/ffmpeg'...
remote: Enumerating objects: 13646, done.
remote: Counting objects: 100% (13646/13646), done.
remote: Compressing objects: 100% (7148/7148), done.
remote: Total 701710 (delta 9752), reused 8793 (delta 6444)
Receiving objects: 100% (701710/701710), 172.60 MiB | 4.32 MiB/s, done.
Resolving deltas: 100% (566943/566943), done.
  -> Cloning obs-deps git repo...
Cloning into bare repository '/tmp/ffmpeg-obs/obs-deps'...
remote: Enumerating objects: 9688, done.
remote: Counting objects: 100% (1573/1573), done.
remote: Compressing objects: 100% (736/736), done.
remote: Total 9688 (delta 1001), reused 1212 (delta 797), pack-reused 8115
Receiving objects: 100% (9688/9688), 10.62 MiB | 4.44 MiB/s, done.
Resolving deltas: 100% (3133/3133), done.
  -> Found add-av_stream_get_first_dts-for-chromium.patch
==> Validating source files with sha256sums...
    ffmpeg ... Skipped
    obs-deps ... Skipped
    add-av_stream_get_first_dts-for-chromium.patch ... Passed
==> Extracting sources...
  -> Creating working copy of ffmpeg git repo...
Cloning into 'ffmpeg'...
done.
Switched to a new branch 'makepkg'
  -> Creating working copy of obs-deps git repo...
Cloning into 'obs-deps'...
done.
Switched to a new branch 'makepkg'
==> Starting prepare()...
patching file libavformat/avformat.h
Hunk #1 succeeded at 1019 with fuzz 2 (offset -109 lines).
patching file libavformat/utils.c
patching file libavformat/flvdec.c
Hunk #1 succeeded at 1080 (offset 3 lines).
patching file libavcodec/libaomenc.c
Hunk #1 succeeded at 1449 (offset 112 lines).
==> Starting build()...
ERROR: nvenc requested but not found

If you think configure made a mistake, make sure you are using the latest
version from Git.  If the latest version fails, report the problem to the
ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.libera.chat.
Include the log file "ffbuild/config.log" produced by configure as this will help
solve the problem.
==> ERROR: A failure occurred in build().
    Aborting...

However, I do have ffnvcodec-headers and amf-headers installed:

$ pacman -Ss ffnvcodec-headers
extra/ffnvcodec-headers 12.1.14.0-1 [installed]
    FFmpeg version of headers required to interface with Nvidias codec APIs
$ pacman -Ss amf-headers
extra/amf-headers 1.4.30-1 [installed]
    Header files for AMD Advanced Media Framework

tytan652 commented on 2023-10-12 06:00 (UTC) (edited on 2023-10-12 06:03 (UTC) by tytan652)

I will not explain the concept of "dynamically load a library at runtime", but it allows to avoid to link against a library while compiling and the load and symbol search will be done at runtime.

FFmpeg does that for NVENC and AMF, this is why it only needs headers packages (ffnvcodec-headers, amf-headers).

So NVENC will stay enabled. Telling me that disabling it does not help to troubleshoot.

I recently done a test build in a clean chroot and no issue arisen and even on my system, NOTE that I will retry again to see.

So if you want to really help, troubleshoot the issue to the core or at least in console log.

HurricanePootis commented on 2023-10-12 02:23 (UTC) (edited on 2023-10-12 02:24 (UTC) by HurricanePootis)

I had to remove nvenc to get it to compile today. You should make a system to autodetect nvenc and enbale if its there. Maybe make nvidia-utils a makedep?

Jhackler commented on 2023-10-11 20:08 (UTC)

Does this build with intel qsv support for av1?