GithubHelp home page GithubHelp logo

Comments (22)

retokromer avatar retokromer commented on July 20, 2024 2

@JoeNyland This workaround should make it:

brew uninstall ffmpeg
brew install get_iplayer
brew uninstall --ignore-dependencies ffmpeg
brew install homebrew-ffmpeg/ffmpeg/ffmpeg --with-fdk-aac

from homebrew-ffmpeg.

Behinder avatar Behinder commented on July 20, 2024 2

from homebrew-ffmpeg.

retokromer avatar retokromer commented on July 20, 2024 1

Do you know if there's any way to do this?

From the top of my head no, but I will try to delve into this during the weekend.

from homebrew-ffmpeg.

slhck avatar slhck commented on July 20, 2024 1

That would mean bundling/maintaining all possible formulas that depend on ffmpeg, which I believe is too much of a maintenance burden.

from homebrew-ffmpeg.

justinmayer avatar justinmayer commented on July 20, 2024 1

@Behinder:

  1. Asking "Why don't you understand?" is a pointless question and a waste of everyone's time. And for the record, I don't understand what you said either.
  2. This project has no official relationship to Homebrew, nor are the folks here Homebrew maintainers.
  3. If anyone is attacking here, it's you. Your comments are rude and completely uncalled-for.

from homebrew-ffmpeg.

retokromer avatar retokromer commented on July 20, 2024

Thank you for reporting. Have you tried to force the installation? Otherwise uninstalling and installing again works fine.

from homebrew-ffmpeg.

JoeNyland avatar JoeNyland commented on July 20, 2024

Have you tried to force the installation?

Good idea, but forcing the installation doesn't help.

$ brew install get_iplayer --force
==> Downloading https://homebrew.bintray.com/bottles/ffmpeg-4.2.2_3.catalina.bottle.tar.gz
Already downloaded: /Users/joenyland/Library/Caches/Homebrew/downloads/a04c6c86419df04664ec77824dd08ea793c07c1c616066e16ea3aa1d8183ff18--ffmpeg-4.2.2_3.catalina.bottle.tar.gz
==> Downloading https://homebrew.bintray.com/bottles/get_iplayer-3.25.catalina.bottle.tar.gz
Already downloaded: /Users/joenyland/Library/Caches/Homebrew/downloads/765099775a0608db52939ea36d3e6dd1c11cc63333e7220340e0d100db4bb517--get_iplayer-3.25.catalina.bottle.tar.gz
==> Installing dependencies for get_iplayer: ffmpeg
Error: ffmpeg is already installed from homebrew-ffmpeg/ffmpeg!
Please `brew uninstall ffmpeg` first."

uninstalling and installing again works fine

I'm aware that this works, but it looks like I'll have to go through this every time that a formula which I have installed depends on ffmpeg (just get_iplayer at the moment) is upgraded. If it was just the once that I had to do it, then I wouldn't be bothered.

If only there were some way that depends_on "ffmpeg" accepted ffmpeg that this tap provides as satisfying the dependency. Do you know if there's any way to do this?

from homebrew-ffmpeg.

justinmayer avatar justinmayer commented on July 20, 2024

If you find a way, I would love to know as well. For my FFmpeg tap, I got the impression my only realistic option was to also "fork" dependent formulae, which I did for both MPD and Chromaprint: https://github.com/justinmayer/homebrew-tap

This is a very cumbersome solution that I would love to avoid, so thanks for looking into this, Reto. I look forward to hearing what you come up with. 👏

from homebrew-ffmpeg.

retokromer avatar retokromer commented on July 20, 2024

On my end I have added a test on my maintenance script:

if ffmpeg -version 2>&1 | grep "Library not loaded" >/dev/null; then
  echo "[$(date_time)] reinstalling 'FFmpeg'" | tee -a "${LOG_FILE}"
  brew reinstall ffmpeg \
    && echo -e "${BLUE}'FFmpeg' reinstalled.${NC}" \
    || echo -e "\a${RED}Error: 'FFmpeg' not reinstalled.${NC}"
fi

because I was… too lazy to search for a cleaner solution. I will try to figure out if on the formula level it’s possible to resolve this problem.

from homebrew-ffmpeg.

retokromer avatar retokromer commented on July 20, 2024

@justinmayer Letting you know that I didn’t found yet an elegant solution in the formula.

from homebrew-ffmpeg.

howyallare avatar howyallare commented on July 20, 2024

I ran into this same issue with get_iplayer. In the end, I opted to abandon homebrew for get_iplayer and use its package installer with embedded ffmpeg. get_iplayer doesn't do any encoding itself, so there is no advantage to using a customised ffmpeg. If I ever need the tap version for transcoding I can reference it directly in my post-precessing commands.

However, I also found an alternative using homebrew: Install the core ffmpeg version, pin it (may not be necessary), then unlink it. Rename the formula from this tap, e.g., to ffmpeg-with-options.rb with class name FfmpegWithOptions and a "conflicts_with" directive for the core version, and then install it with the new name. The core version is there to satisfy dependencies, but the tap version is the one linked for use. I used a tap with the new name, but you could also just use a local copy of the formula. No idea if this might cause problems with other formulae.

This worked for get_iplayer, but as to it being a general solution, that would boil down to whether or not you want to change the formula name or set up another tap. I can't think of a reason the tap version of ffmpeg should stomp the core version completely, and the "conflicts_with" directive provides a way to warn users that they need pin and unlink the core version first.

from homebrew-ffmpeg.

Behinder avatar Behinder commented on July 20, 2024

I have similar problem with pianobar, I updated keg formula on my end for pianobar to reference dependency ffmpeg from tap but after few updates both ffmpeg and pianobar stopped working because
dyld: Library not loaded: /usr/local/opt/openh264/lib/libopenh264.5.dylib is not found.

Homebrew becomes more and more cumbersome to use nowadays

from homebrew-ffmpeg.

retokromer avatar retokromer commented on July 20, 2024

@Behinder Thank you for reporting! The issue is known: this happens each time when a new version of H.264 or H.265 is released. Did you try to reinstall FFmpeg?

from homebrew-ffmpeg.

Behinder avatar Behinder commented on July 20, 2024

Yes I did reinstall ffmpeg with all the option from tap repository and pianobar is working now :) Maybe there should be a way to include some post-process script whenever h264/265 is updated.

from homebrew-ffmpeg.

retokromer avatar retokromer commented on July 20, 2024

Maybe there should be a way to include some post-process script whenever h264/265 is updated.

I actually do it (and many other “things”) with a maintenance script on my end.

The only way I see at the moment would be to bump a revision of the FFmpeg formula each time one of H.264 or H.265 is updated. Yet this would affect all users.

@Behinder Do you have any hint?

from homebrew-ffmpeg.

retokromer avatar retokromer commented on July 20, 2024

@howyallare Thank you for your input and sorry for my delay!

pin it (may not be necessary),

If I am not completely wrong, pinning has been deprecated and is no longer possible in Homebrew. I remember we did it in the past, but changed at some point.

No idea if this might cause problems with other formulae.

Yes, it does…

from homebrew-ffmpeg.

howyallare avatar howyallare commented on July 20, 2024

If I am not completely wrong, pinning has been deprecated and is no longer possible in Homebrew. I remember we did it in the past, but changed at some point.

Pinning works fine. You may be thinking of tap-pin. As long as this tap version was installed, upgrades of core ffmpeg were prevented from being linked, so pinning wasn't strictly necessary, anyway.

No idea if this might cause problems with other formulae.

Yes, it does…

Then you're left with the option of publishing another tap formula with a different name. It worked for me, but I'm guessing you already rejected that option at some point, or else we wouldn't be here. It's easy enough for users to do it themselves.

from homebrew-ffmpeg.

retokromer avatar retokromer commented on July 20, 2024

You may be thinking of tap-pin.

You are right! Sorry for my bad memory.

Then you're left with the option of publishing another tap formula with a different name.

Indeed, this is what we made for a specific purpose.

from homebrew-ffmpeg.

JoeNyland avatar JoeNyland commented on July 20, 2024

Thank you @retokromer. That works for me.

from homebrew-ffmpeg.

c0494133d4 avatar c0494133d4 commented on July 20, 2024

How about collect those formulas in this repo? On my local machine I have Taps/homebrew-ffmpeg/homebrew-ffmpeg/Formula/video-compare.rb.

from homebrew-ffmpeg.

Behinder avatar Behinder commented on July 20, 2024

from homebrew-ffmpeg.

slhck avatar slhck commented on July 20, 2024

Sorry, I am not sure I understand your comment. If you have a concrete suggestion, please send a PR that demonstrates it! (But it sounds like a maintenance overhead unless everything is completely automated via CI.)

from homebrew-ffmpeg.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.