Comments (23)
Been seeing this as well especially when doing BREW updates/upgrades/doctor...Any way to have a nice FFMPEG update w/o this error?
from homebrew-ffmpeg.
Does this
brew uninstall ffmpeg
brew install chromaprint
brew uninstall --ignore-dependencies ffmpeg
brew install homebrew-ffmpeg/ffmpeg/ffmpeg --with-chromaprint
resolve the issue?
from homebrew-ffmpeg.
I am getting the same error "recursive dependency." Hmm. This makes no sense!
from homebrew-ffmpeg.
I am getting the same error "recursive dependency." Hmm. This makes no sense!
![]()
Curious, what is that terminal that you are using ?
from homebrew-ffmpeg.
chromaprint depends on homebrew-ffmpeg/ffmpeg/ffmpeg
That’s the line in the chromaprint formula:
from homebrew-ffmpeg.
So it seems chromaprint uses ffmpeg for at least two libraries to do the following, both of which look like it might be possible to remove the ffmpeg dependency.
- FFT
- Resampling
And from the Cmake, it seems we don't need the FFT libraries from ffmpeg and could use Apple's Accelerate framework ?
if(NOT FFT_LIB)
if(APPLE AND ACCELERATE_LIBRARIES)
set(FFT_LIB "vdsp")
elseif(FFMPEG_LIBAVCODEC_FFT_FOUND)
set(FFT_LIB "avfft")
elseif(FFTW3_LIBRARIES)
...
Lastly I'm not sure what the resampling library is for, but it would seem that it will still build but with a warning
if(AUDIO_PROCESSOR_LIB STREQUAL "swresample")
...
elseif(AUDIO_PROCESSOR_LIB STREQUAL "avresample")
...
else()
message(STATUS "Building without audio conversion support, please install FFmpeg with libswresample")
endif()
I might give this a go if i have time, never customized a homebrew formula before
from homebrew-ffmpeg.
Ok, its pretty clear that ffmpeg is required for the fpcalc tool as stated on the bottom of the chromaprint page, and for MacOS they actually recommend to use the standard fft libraries.
I wonder if it would be possible to just use the already built chromaprint binary ?
from homebrew-ffmpeg.
Curious, what is that terminal that you are using ?
I am using iterm2 with the Molokai Soda colortheme. Default shell is zsh with 0h-my-zsh and iterm shell integration.
I wish i had an answer here. But this is beyond my knowledge scope (novice programmer trying to learn the craft). So I built ffmpeg without the chromaprint option. I am trying to make a manual build of IINA of which ffmpeg is a dependency.
Is it possible to build chromaprint from standard ffmpeg installation, then build an instance of homebrew-ffmpeg/ffmpeg/ffmpeg?
https://github.com/homebrew-ffmpeg/homebrew-ffmpeg/blob/master/README.md
Says will get an error if ffmpeg already installed so I removed before proceeding. This just doesn't seem possible! I would like to know how this was done!
from homebrew-ffmpeg.
MrBobot- did you ever get this to work via formula customization? How would I go about building ffmpeg --with-chromaprint with a pre-installed fpcalc library?
from homebrew-ffmpeg.
@MrBobot Is this still an issue on your end?
from homebrew-ffmpeg.
Yes, yes this is an issue currently. I too assayed to instal with all options and received the message Chromaprint depends on FFMPEG and FFMPEG depends on Chromaprint thereby making it recursive on itself. I use Mac OS 10.15.6 latest public beta, latest commit of Homebrew, and latest builds of everything – many of which are head builds. To instal without Chromaprint and with all other dependencies is not problematic.
from homebrew-ffmpeg.
Unfortunately not. I tried that as well. Chromaprint is installed as a bottle on my system.
from homebrew-ffmpeg.
That’s strange! With mpv
– which is also installed as a bottle – it works well. I will test with chromaprint
next weekend.
from homebrew-ffmpeg.
@Rogue-Git-Dev @MrBobot The workaround should be fine now.
from homebrew-ffmpeg.
also, FYI, Chromaprint provides a boolean to disable the CLI tools: -DBUILD_TOOLS=off
from homebrew-ffmpeg.
I noticed that the binary built following @retokromer's commands is not linked to the main ffmpeg command.
After building, if I run the command ffmpeg -muxers
I do not see any chromaprint
listed.
However, if I run the same command but pointing directly to /usr/local/Cellar/ffmpeg/6.0-with-options_1/bin/ffmpeg -muxers
I can see it there.
This, despite brew saying that it should indeed have chromaprint on the normal ffmpeg command:
brew info ffmpeg
==> ffmpeg: stable 6.0 (bottled), HEAD
Play, record, convert, and stream audio and video
https://ffmpeg.org/
/usr/local/Cellar/ffmpeg/6.0-with-options_1 (283 files, 51.1MB)
Built from source on 2023-05-19 at 14:23:05 with: --with-chromaprint
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/ffmpeg.rb
License: GPL-2.0-or-later
==> Dependencies
Build: pkg-config ✔, nasm ✔
Required: aom ✔, aribb24 ✔, dav1d ✔, fontconfig ✔, freetype ✔, frei0r ✔, gnutls ✔, lame ✔, libass ✔, libbluray ✔, librist ✔, libsoxr ✔, libvidstab ✔, libvmaf ✔, libvorbis ✔, libvpx ✔, opencore-amr ✔, openjpeg ✔, opus ✔, rav1e ✔, rubberband ✔, sdl2 ✔, snappy ✔, speex ✔, srt ✔, svt-av1 ✔, tesseract ✔, theora ✔, webp ✔, x264 ✔, x265 ✔, xvid ✔, xz ✔, zeromq ✔, zimg ✔
==> Options
--HEAD
Install HEAD version
==> Analytics
install: 2,458 (30 days), 36,770 (90 days), 1,614,603 (365 days)
install-on-request: 2,170 (30 days), 31,537 (90 days), 1,403,024 (365 days)
build-error: 1 (30 days)
from homebrew-ffmpeg.
@cellulosa What is the output of which -a ffmpeg
?
from homebrew-ffmpeg.
mh good point, that points to another build (which isn't a link!). Shouldn't that be overwritten by the new install? Do I need to force brew link or something?
> which -a ffmpeg
/usr/local/bin/ffmpeg
/usr/local/bin/ffmpeg
> ls -la /usr/local/bin | grep ffmpeg
-rwxrwxrwx 1 user admin 23396536 11 May 09:09 ffmpeg
from homebrew-ffmpeg.
> which -a ffmpeg
/usr/local/bin/ffmpeg
/usr/local/bin/ffmpeg
This simply means that you have the same instance of FFmpeg twice in the path, which is not a problem. There is only one.
from homebrew-ffmpeg.
This simply means that you have the same instance of FFmpeg twice in the path, which is not a problem. There is only one.
But then the question is why doesn't this get linked to the formula built with chromaprint?
Instead, it seems it's placing some fresh ffmpeg bin
from homebrew-ffmpeg.
@cellulosa I am currently travelling and I cannot reproduce the issue on my laptop. Does
brew unlink chromaprint && brew link chromaprint
have any effect?
from homebrew-ffmpeg.
@retokromer nope, but brew link --overwrite ffmpeg
did! Thanks :)
from homebrew-ffmpeg.
@cellulosa Thank you for the information.
from homebrew-ffmpeg.
Related Issues (20)
- add libzbvi to the default options in Homebrew formula from your repo HOT 9
- Please enable the ffplay building option, as the official brew formula does HOT 4
- Possible formula fixes/changes HOT 2
- Can't upgrade to 5.1 HOT 10
- Unknown decoder 'libx265' HOT 1
- FFmpeg 6.0 HOT 4
- Additional codecs don't seem to be included with installation HOT 1
- "unpaper" won't run without ffmpeg 5.x HOT 9
- Can you support installing older version of ffmpeg (e.g. ffmpeg@4) with the option --with-fdk-aac ? HOT 1
- Add `libplacebo` as a supported (optional) library HOT 11
- Install with a different name HOT 7
- Apple Silicon support in homebrew HOT 4
- Patch failure for libavcodec when re-installing ffmpeg HEAD HOT 7
- libavdevice build error (Mac M1 Silicon) HOT 24
- libvidstab error, failed on the 2nd pass, "Cannot parse localmotion" HOT 3
- Test optional installations in CI pipeline
- Error installing with`VkVideoDecodeAV1SessionParametersCreateInfoMESA` HOT 10
- ERROR: libflite not found HOT 32
- tap comparison HOT 1
- Brewing custom ffmpeg but failure at metal execution HOT 13
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from homebrew-ffmpeg.