2 votos

Compilación / instalación de shotdetect para OS X

Me gustaría encontrar los cambios de escena en un vídeo con esta herramienta de línea de comandos:

Shotdetect es un software libre (LGPL) que detecta tomas y escenas de un vídeo.

Las dependencias son:

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

Lo que ya hice:

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

Me aparece este mensaje de error ( salida completa ):

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

Tengo homebrew instalado, pero no sé cómo asignar las dependencias mencionadas anteriormente a un brew install ... comando.

¿Es la cerveza casera el camino a seguir? Si es así, ¿cuál sería el comando de "instalación"?

PS. Estoy en OS X 10.8.5 con Xcode 5.0.2 y Xcode Command Line Tools instalado.

6voto

myhd Puntos 1948

Cómo compilar

Versión sencilla (finales de 2015)

  • asegúrate de tener instalado homebrew
  • instalar dependencias
  • descargar el código fuente:
    git clone https://github.com/johmathe/Shotdetect.git
    cd Shotdetect
  • ejecuta install script: ./compile.sh all
  • encontrar el binario "shotdetect-cmd" en el build directorio.
  • para más detalles, consulte Cómo utilizarlo sección siguiente

Versión antigua (hasta finales de 2015)

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

Encontré que la salida XML estaba rota desde el 2014-02-11, así que apliqué estos dos parches. Esto podría ser un hack:

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

Finalmente:

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

El binario resultante es shotdetect-cmd .

Cómo utilizarlo

Aquí hay un ejemplo de comando que me funcionó:

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

Las banderas explicadas:

-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)

Solución de problemas

En una segunda instalación en la primavera de 2015, shotdetect se quejó:

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

Podría arreglar esto con brew reinstall libtiff .

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X