Compilazione / installazione shotdetect per OS X

2

Mi piacerebbe trovare i cambi di scena in un video con questo strumento da riga di comando:

Shotdetect is a free software (LGPL) which detects shots and scenes from a video.

Le dipendenze sono:

sudo apt-get install libavdevice-dev libavformat-dev libgd2-noxpm libgd2-noxpm-dev

Cosa ho già fatto:

  • git clone https://github.com/johmathe/Shotdetect.git
  • mkdir -p build; cd build; cmake -D USE_WXWIDGETS:BOOL=OFF ..

Ricevo questo messaggio di errore ( output completo ):

CMake Error at cmake/FindGD.cmake:112 (MESSAGE):
  Could not find GD library
Call Stack (most recent call first):
  CMakeLists.txt:85 (FIND_PACKAGE)

Ho installato homebrew , ma non so come associare le dipendenze menzionate sopra a un comando brew install ... .

L'homebrew è la strada da percorrere? In tal caso, quale sarebbe il comando "installa"?

PS. Sono su OS X 10.8.5 con Xcode 5.0.2 e Xcode Command Line Tools installati.

    
posta myhd 10.02.2014 - 14:33
fonte

1 risposta

6

Come compilare

Versione semplificata (fine 2015)

  • assicurati di avere installato homebrew
  • installa le dipendenze
  • scarica il codice sorgente:
    git clone https://github.com/johmathe/Shotdetect.git
    cd Shotdetect
  • esegui script di installazione: ./compile.sh all
  • trova il file binario "shotdetect-cmd" nella directory build .
  • per i dettagli, seleziona la modalità di utilizzo in basso

Versione precedente (fino alla fine del 2015)

brew install gd    # ... obviously, http://brew.sh is needed for this!
git clone https://github.com/johmathe/Shotdetect.git
cd Shotdetect

Ho trovato che l'output XML è stato interrotto a partire dal 2014-02-11, quindi ho applicato queste due patch. Questo potrebbe essere un trucco:

curl https://patch-diff.githubusercontent.com/raw/johmathe/Shotdetect/pull/8.patch | git apply
curl https://patch-diff.githubusercontent.com/raw/johmathe/Shotdetect/pull/9.patch | git apply

Infine:

mkdir -p build; cd build
cmake -D USE_WXWIDGETS:BOOL=OFF ..    # make sure you include the two dots! :)
make

Il binario risultante è shotdetect-cmd .

Come usare

Ecco un comando di esempio che ha funzionato per me:

./shotdetect-cmd -i test.mp4 -o outputDir -s 60 -w -v -f -l -m -r -a FOO

Spiegazione delle bandiere:

-i file      : input file path
-o path      : output path (MUST exist already)
-a id        : (required!) movie ID (alphanumeric, creates subfolder in output path)
-s threshold : threshold (optional, default=75, 60 is recommended in the docs(??))

-w           : generate xml of audio
-v           : generate xml of video infos

-m           : generate the thumbnail images
-r           : generate the images in native resolution

-f           : generate 1st image for each shot  ( -m or/and -r flags must be set)
-l           : generate last image for each shot ( -m or/and -r flags must be set)

Risoluzione dei problemi

In una seconda installazione nella primavera del 2015, shotdetect si è lamentato:

dyld: Library not loaded: /usr/local/lib/libtiff.5.dylib
  Referenced from: /usr/local/lib/libgd.3.dylib
  Reason: image not found
Trace/BPT trap: 5

Potrei risolvere il problema con brew reinstall libtiff .

    
risposta data 10.02.2014 - 15:08
fonte

Leggi altre domande sui tag