Homebrew -> multi-delogo -> Installationsfehler

tocotronaut

tocotronaut

Aktives Mitglied
Thread Starter
Dabei seit
14.01.2006
Beiträge
34.451
Reaktionspunkte
13.481
Hallo. ich wollte ein paar logos aus videos entfernen und suche eine GUI dafür.

Jetzt bin ich auf Multi-delogo gestoßen.
https://github.com/wernerturing/multi-delogo

Leider kann ich es nicht installieren. (M1 Air)

Es kommt folgende Fehlermeldung:
==> Fetching opencv
==> Downloading https://ghcr.io/v2/homebrew/core/opencv/manifests/4.8.0_1-1

[...]

==> Fetching wernerturing/multi-delogo/multi-delogo
==> Cloning https://github.com/wernerturing/multi-delogo.git

Cloning into '/Users/toco/Library/Caches/Homebrew/multi-delogo--git'...

fatal: Remote branch opencv4 not found in upstream origin

Error: multi-delogo: Failed to download resource "multi-delogo"
Failure while executing; `/usr/bin/env git clone --branch opencv4 --config advice.detachedHead=false --config core.fsmonitor=false https://github.com/wernerturing/multi-delogo.git /Users/toco/Library/Caches/Homebrew/multi-delogo--git` exited with 128. Here's the output:

Cloning into '/Users/toco/Library/Caches/Homebrew/multi-delogo--git'...
fatal: Remote branch opencv4 not found in upstream origin
Wie es für mich scheint hat er opencv installiert aber die nachfolgende installation erwartet opencv4
Gibt es eine möglichkeit das zu Lösen?

Edit:
In diesem Commitment könnte der Fehler liegen:
https://github.com/wernerturing/multi-delogo/commit/a0f9117133c0fa4ca49e7566ff18a7fd21abb22a
 
  • Haha
Reaktionen: tocotronaut
Nein, der Branch existiert nicht.
Da muss ich nachfragen...

Soll das heißen meine Annahme ist falsch?

Oder ich liege richtig und der Autor des programmes hat sich vertan?

opencv4 gibt es in der tat nicht. (vermutlich gab es ihn vor 5 jahren als der code erstellt wurde... ).
brew install opencv4
...
Warning: No available formula with the name "opencv4". Did you mean opencv, opencv@3, opencv@2, opencc, openvi, opencsg or opencbm?

==> Searching for similarly named formulae and casks...
==> Formulae
opencv opencv@3 opencv@2 opencc openvi opencsg opencbm

Was macht man in so einem Fall?
das ganze Forken und die "4" entfernen?
 
Vielleicht hilft es dir weiter?
MacPorts kennt opencv4 ... jedoch opencv nicht

Code:
xx$ port info opencv
Error: Port opencv not found

xxx$ port info opencv4
opencv4 @4.6.0_11 (graphics, science)
Sub-ports:            py37-opencv4, py38-opencv4, py39-opencv4, py310-opencv4, py311-opencv4
Variants:             contrib, debug, eigen, gdal, java, nonfree, opencl, openmp, openni, qt4, qt5,
                      tbb, tests, vtk

Description:          OpenCV (Open Source Computer Vision Library) is an open source computer vision
                      and machine learning software library. OpenCV was built to provide a common
                      infrastructure for computer vision applications and to accelerate the use of
                      machine perception in the commercial products. Being a BSD-licensed product,
                      OpenCV makes it easy for businesses to utilize and modify the code.
Homepage:             https://opencv.org

Build Dependencies:   cmake, cctools, pkgconfig, python311
Library Dependencies: ffmpeg, zlib, libpng, libjpeg-turbo, openjpeg, libquirc, tiff, webp, openexr,
                      imath, ade
Conflicts with:       opencv4-devel
Platforms:            darwin
License:              BSD
Maintainers:          Email: stromnov@macports.org, GitHub: stromnov
                      Email: mascguy@macports.org, GitHub: mascguy
 
Leider nicht wirklich...
Ich fühle mich zwar gerade wie ein Hacker, habe ich aber genau genommen nur eine ganz grobe Ahnung was ich hier eigentlich tue...

Das ganze von Homebrew auf macports umzukompilieren traue ich mir nicht zu.

Leider kommt die 2FA-mail von Github am Urlaubsort nicht an also kann ich mich da aktuell auch nicht Anmelden.
 
Ich komme nicht weiter...

Wenn ich nachher noch Lust habe schreibe ich den Autor an.

Kennt jemand ein anderes schönes/kleines/nützliches Programm das ein Logo aus einem video mit einer Grafischen Oberfläche entfernen kann?
 
Kennt jemand ein anderes schönes/kleines/nützliches Programm das ein Logo aus einem video mit einer Grafischen Oberfläche entfernen kann?
Avidemux kann das. Auch auf dem Mac. Kannst den Filter unter "Schärfe" "MPlayer delogo 2" auch mehrmals an verschiedenen Stellen im Bild anwenden. Mit rechter Maustaste auf den angewendeten Filter kann man den auch "Abschnittweise anwenden". Man muss mit der Grösse etwas experimentieren um das beste Resultat zu erreichen. Hat ja ne Vorschaufunktion. Je nach Bildinhalt ist es aber erstaunlich wie gut das funktioniert.
 
  • Gefällt mir
Reaktionen: tocotronaut
hast du homebrew nochmal, also 2tes mal installation gestartet?
 
Alternativ bietet IINA eine Funktion zum „Logo entfernen“ per crop-Filter in dessen Menüpunkt Video > Logo entfernen
https://iina.io/
 
  • Gefällt mir
Reaktionen: tocotronaut
In Brew ist opencv garantiert die v4. Das ist oft so, daß die aktuellsten Packages keine Nummer angehängt bekommen, sondern nur die älteren Mayor-Releases. In nixpkgs ist opencv die v4.7.
 
Ja. Klar. Die neueste 4er Version (4.8.irgendwas) ist installiert. Aber die App verlangt eben eine mit der 4 am namen hintendran.

Es war eine der letzten änderungen in der app selbst. Damals war die vierer version vermutlich noch ganz neu oder unstable.
 
Hmm, hast du es mal mit einem symlink probiert?

Bash:
sudo ln -s ./opencv ./opencv4

Diese Variante ist nur relativ unschön, da du dich selbst darum kümmern must den wieder zu löschen, wenn du opencv wieder deinstallierst.
 
Ich hab mal aus Spaß angefangen das Paket in Nix zu schreiben. Es fängt auch schick an zu bauen, bricht dann aber ab mit

Code:
> ./configure: line 7705: syntax error near unexpected token `GTKMM,'
> ./configure: line 7705: `PKG_CHECK_MODULES(GTKMM, gtkmm-3.0 >= 3.19.7)'

ich hab gtkmm-3.24.7-dev und gtkmm-3.24.7

leider kenne ich mich mit diesem Tooling nicht aus. Wenn jemand eine Idee hat, immer her damit.
 
So, es fehlte das Paket "pkg-config". Jetzt baut die SW. Allerdings bekomme ich noch einen Runtime-Fehler wenn ich ein Projekt öffnen möchte. Es fehlen noch GUI-Elemente:

Code:
Gtk-WARNING **: 16:39:58.809: Could not find the icon 'user-home-symbolic-ltr'. The 'hicolor' theme was not found either, perhaps you need to install it. You can get a copy from:
http://icon-theme.freedesktop.org/releases

GLib-GIO-ERROR **: 16:39:58.828: No GSettings schemas are installed on the system

bis jetzt hab ich:

Code:
# flake.nix

{
  description = "Detect and remove logos from videos, even if they change position several times.";
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    flake-parts.url = "github:hercules-ci/flake-parts";
    flake-parts.inputs.nixpkgs-lib.follows = "nixpkgs";
  };

  outputs = { self, nixpkgs, flake-parts } @inputs:
    flake-parts.lib.mkFlake {inherit inputs;} ({ flake-parts-lib, withSystem, ... }: {
      debug = false;
      systems = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
 
      perSystem = { self', final, inputs', config, pkgs, system, modulesPath, ... }: {
        packages.multi-delogo = import ./multi-delogo.nix { inherit pkgs; };
      };
    });
}

Code:
# multi-delogo.nix

{ pkgs, ... }:

pkgs.stdenv.mkDerivation {
  name = "multi-delogo";
 
  NIX_DEBUG = 0;
 
  src = pkgs.fetchFromGitHub {
    owner = "wernerturing";
    repo = "multi-delogo";
    rev = "v2.3.0";
    sha256 = "sha256-axgmN8BcD5dNxvCS0uzKM10M0VZ8JvMDL1DldlHgjT0=";
  };
   
  nativeBuildInputs = with pkgs; [ makeWrapper autoconf269 autoconf-archive automake gettext
    pkg-config # important to get rid of the message "syntax error near unexpected token `GTKMM,"
  ];
 
  buildInputs = with pkgs; [ gtkmm3.dev goocanvasmm2 opencv3 boost ];

  enableParallelBuilding = true;
  dontFixCmake = true;
 
  configureFlags = [
    "--with-boost-libdir=${pkgs.boost}/lib"
    "--with-gtkmm"
  ];
 
  preConfigure = ''
    ./autogen.sh
  '';

  doCheck = false;
  dontFixup = false;
}

Bauen kann man dann mit nix build ".#multi-delogo". Das Ergebnis liegt dann in ./result
 
Zurück
Oben Unten