Package Details: ffmpeg-full-git 3.5.r90731.g62bdbb5ce0-1

Git Clone URL: https://aur.archlinux.org/ffmpeg-full-git.git (read-only)
Package Base: ffmpeg-full-git
Description: Record, convert and stream audio and video (all possible features including nvenc, qsv and libfdk-aac; git version)
Upstream URL: http://www.ffmpeg.org/
Keywords: audio codec convert cuda cuvid decklink encoder fdk-aac fdkaac ffmpeg ffmpeg-git hwaccel libnpp media nvenc qsv quicksync vaapi video
Licenses: custom: nonfree and unredistributable
Conflicts: ffmpeg, ffmpeg-decklink, ffmpeg-full, ffmpeg-full-nvenc, ffmpeg-git, ffmpeg-libfdk_aac, ffmpeg-nvenc, ffmpeg-qsv-git, ffmpeg-semifull-git
Provides: ffmpeg, ffmpeg-decklink, ffmpeg-full, ffmpeg-full-nvenc, ffmpeg-git, ffmpeg-libfdk_aac, ffmpeg-nvenc, ffmpeg-qsv-git, ffmpeg-semifull-git, libavcodec.so, libavdevice.so, libavfilter.so, libavformat.so, libavresample.so, libavutil.so, libpostproc.so, libswresample.so, libswscale.so, qt-faststart
Submitter: dbermond
Maintainer: dbermond
Last Packager: dbermond
Votes: 7
Popularity: 0.254823
First Submitted: 2015-12-27 19:22
Last Updated: 2018-04-16 18:16

Dependencies (93)

Required by (737)

Sources (2)

Latest Comments

nemethdani commented on 2018-03-15 15:45

Can you add libx265.so to dependencies please? Upgrading the library from the repo breaks ffmpeg.

dbermond commented on 2018-03-06 21:32

@winneon Can you please provide a pastebin output log of the ffmpeg and mpv commands that are generating these crashes for you? You are the first one to report this.

winneon commented on 2018-03-06 00:53

Are you going to update this package to provide a way to not include CUDA and NVENC-related options? These packages have no use to anyone not on Nvidia GPUs and it causes crashes specifically on AMD GPUs.

winneon commented on 2018-02-12 23:01

Also in an completely unrelated comment, the CUDA and NVENC related options that this package compiles along with ffmpeg cause issues when using ffmpeg and when using other programs such as mpv when not using Nvidia GPUs or Nvidia's drivers. Both ffmpeg and mpv create invalid pointer crashes, and the only way to solve it is to remove everything within the "x86_64" conditional block within the PKGBUILD.

winneon commented on 2018-02-12 22:56

While I do agree with everything @dbermond has said, some people just want to have their cake and eat it too, and there shouldn't be anything preventing them from doing that, as long as they understand the risks and are aware that the package that is designed to co-exist with ffmpeg-git/ffmpeg-full-git will become obsolete once 3.5 is released.

Because of this, I created an ffmpeg-full3.4 package on the AUR to solve this problem. Most packages that required the ffmpeg 3.4 libav* libraries will now compile correctly, and for the ones that don't, all you need to do is modify their PKGBUILD and add appropriate CFLAGS & LDFLAGS to /usr/include/ffmpeg3.4 and /usr/lib/ffmpeg3.4 respectively.

dbermond commented on 2018-02-10 00:56

@MichaelChou First of all, having your other software to be broken is a cost that the user needs to accept when living on the bleeding edge by using development (-git) packages, like ffmpeg-full-git and ffmpeg-git. When using such packages (and not the official repositories ones), the user is supposed to be able to handle all the problems that it may cause.

Regarding your described problems: 1) ffmpeg(-full)-git and ffmpeg(-full) are not supposed to coexist, so this is not a problem. 2) Library major version number only changes when ffmpeg switches API, and this happens only once in a while, usually at round ffmpeg version numbers like 3.0, 3.5, etc. Since, ffmpeg is currently preparing for the 3.5 release, we are currently getting incompatibility with previous releases like 3.4. This is normal and expected when using ffmpeg git master, and as I stated above, the person that uses ffmpeg git master is supposed to handle this situation. 3) Since ffmpeg git master is currently changing API, fairly new and incompatible upstream code is being added constantly. You cannot expect that every software out there that depends on ffmpeg will catch these changes so quickly while it is still happening. So, we cannot expect that other software will be able to compile with ffmpeg git master anytime soon. Most probably it will take a while. I have posted some possible solutions for this in an answer to @Nothing4You a few comments back when he asked about firefox.

Regarding your questions about ffmpeg-full-git and ffmpeg-git: development (-git) packages definitively should not be modified to coexist with the corresponding packages from the official repositories. So I will not change ffmpeg-full-git and ffmpeg-git to match this approach.

Regarding your suggestion: Personally, I think that creating another AUR package based on ffmpeg-full-git and ffmpeg-git with the goal to make it coexist with ffmpeg from the official repositories is not a good idea. Mostly because this new proposed package will be useful only when ffmpeg is switching API (and major library version number) like now. For example, when 3.5 is released, this new proposed package will be useless until ffmpeg reaches 4.0 (supposing that upstream development cycle stays the same as it was). Creating an AUR package just for this short period of time while API is switching during upstream preparation for 3.5 does not seems logical to me. Other reasons also apply, like increased complexity (remember that Arch tries to keep it simple ;). What you could do, is to use a modified ffmpeg-full-git PKGBUILD to make it install elsewhere, just for your personal needs. I have done this in the past when this same situation happened during the 2.8 to 3.0 transition, but now I prefer to simply don't use software that is not compatible with current ffmpeg git master.

MichaelChou commented on 2018-02-09 04:49

@dbermond

For the following somehow related problems: 1. ffmpeg(-full)-git and ffmpeg(-full) can not co-exist. 2. Packages depend on ffmpeg libs need to recompile every time the so version number changes. And that's a lot of them. 3. A few software are not compatible with the ffmpeg(-full)-git.

I have a suggestion: create a ffmpeg git package just like the official ffmpeg2.8 (https://www.archlinux.org/packages/extra/x86_64/ffmpeg2.8/).

I wonder what's your opinion about this? - Should this package change to that structure? - Or should we make another package to do that? And if this is the way to go, I can find some time to maintain that. What package name do you suggest this package to have?

dbermond commented on 2018-02-03 23:56

@ahjolinna Thank you for pointing this and for the interest in ffmpeg-full-git. Switched zimg-git dependency back to zimg.

ahjolinna commented on 2018-02-03 16:54

zimg 2.7.3 is now in repos, git version shouldn't be needed anymore (at least for now :D)

dbermond commented on 2017-12-06 17:56

@ahjolinna That's true. I'm using zimg-git too for the last days. I was hoping that zimg version 2.6.3 would solve this issue, but currently it really needs zimg git master. I have temporarily switched zimg dependency to zimg-git. Thank you for the interest.

All comments