raspberry-pi raspbian xuggler

Guía para compilar Xuggler para Raspberry Pi



raspberry-pi raspbian (1)

Después de trabajar durante aproximadamente 5 días, estoy poniendo la siguiente guía para compilar xuggler para Raspberry Pi (Tiempo requerido: 8 horas):

Prerrequisitos:

  1. Raspberry Pi Modelo B + con 512 MB de RAM (Cualquier modelo menor que este no le dará los binarios compilados y se bloqueará durante la compilación)
  2. Raspbian instalado en una tarjeta SD (más de 4GB de tarjeta SD lo hará)

Pasos:

  1. Cambiar al usuario ''root''.

  2. Desde la página de compilación de Basic xuggler, instala las dependencias ( http://www.xuggle.com/xuggler/build ) etiquetadas como ''Requerido''

  3. Crea y exporta variables de la siguiente manera (Crea los directorios relevantes)

    export XUGGLE_HOME=/home/pi/Downloads/xuggler export PATH=$XUGGLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$XUGGLE_HOME/lib:$LD_LIBRARY_PATH

  4. Crea el siguiente enlace:

    sudo ln -s /usr/bin/make /usr/bin/gmake

  5. Si está detrás de cualquier tipo de proxy web, configure también las siguientes variables:

    export http_proxy=''proxy-url:port'' export https_proxy=''proxy-url:port'' export ftp_proxy=''proxy-url:port''

  6. Ahora vaya al siguiente directorio:

    cd /home/pi/Downloads/

  7. Descargue el código xuggler desde aquí ( https://github.com/artclarke/xuggle-xuggler ):

    git clone https://github.com/artclarke/xuggle-xuggler.git

  8. El código se descargaría en el directorio llamado ''xuggle-xuggler''

  9. Mover dentro del directorio ''xuggle-xuggler''

  10. Si está detrás de un proxy agregue la siguiente línea en el archivo ''build.xml'', justo debajo de las etiquetas xml de ''propiedad'' en el archivo:

    <setproxy proxyhost="proxy-url" proxyport="port"/>

  11. Ahora edite el archivo ''captive / libspeex / csrc / configure'' de la siguiente manera:

    De:

    CFLAGS="$CFLAGS -O3 -msse"

    A:

    CFLAGS="$CFLAGS -O3"

    Y

    De:

    if test "$has_sse" = yes; then $as_echo "#define _USE_SSE /**/" >>confdefs.h fi

    A:

    #if test "$has_sse" = yes; then #$as_echo "#define _USE_SSE /**/" >>confdefs.h #fi

    Remítalo para más información.

  12. Ahora edite el archivo ''captive / libspeex / csrc / configure.ac'' de la siguiente manera:

    De:

    CFLAGS="$CFLAGS -O3 -msse"

    A:

    CFLAGS="$CFLAGS -O3"

    Y

    De:

    if test "$has_sse" = yes; then AC_DEFINE([_USE_SSE], , [Enable SSE support]) fi

    A:

    #if test "$has_sse" = yes; then # AC_DEFINE([_USE_SSE], , [Enable SSE support]) #fi

    Remítalo para más información.

  13. Ahora, como se detalla en el enlace de construcción avanzada de xuggler ( http://www.xuggle.com/xuggler/advbuild ), ejecute el comando:

    ant stage

  14. El proceso fallará en o durante la compilación de libX264, para eludirlo, agregue los siguientes modificadores de compilación en el archivo ahora generado, es decir, edite el archivo ''cautivo / libx264 / incarcerate.in'':

    De:

    X264_OPTIONS="$X264_OPTIONS --enable-static" X264_OPTIONS="$X264_OPTIONS --enable-pic"

    A:

    X264_OPTIONS="$X264_OPTIONS --disable-asm" X264_OPTIONS="$X264_OPTIONS --enable-shared" X264_OPTIONS="$X264_OPTIONS --enable-static" X264_OPTIONS="$X264_OPTIONS --enable-pic"

  15. Ahora ejecute el siguiente comando (uno por uno solamente):

    ant clobber ant clean ant stage

  16. Esta vez todos los pasos de compilación se llevarán a cabo.

  17. Ejecute el comando de instalación:

    ant install

  18. Los binarios de xuggler se instalarán en la ubicación ''XUGGLE_HOME'' como se define en el paso # 3.

  19. El repositorio de xuggler maven para los binarios de Java estaría ubicado en ''/root/.m2/repository/xuggle/xuggle-xuggler''

  20. También puede consultar el directorio ''../xuggle-xuggler/dist'' para verificar todos los binarios nativos y java para su tipo de uso no maven.

  21. Los binarios compilados funcionaron bien en Raspberry PI (Arch Linux, Raspbian).

  22. Si no tiene tiempo para compilar, obtenga los binarios desde aquí .

  23. Asegúrese de agregar las variables como se define en el paso n. ° 3 en la ruta de la clase java o en el terminal del shell antes de usar los binarios de Java compilados por mí.

Un agradecimiento especial al 11101101b por su orientación y ayuda.

Referencias

  1. https://github.com/ed/xuggle-xuggler/commit/035c676e6e289fbb4b27dc75134a4470a5bab28a
  2. Problema n. ° 1 al compilar Xuggler para Raspberry pi con libspeex
  3. ¿Cómo puedo construir la versión GPL y LGPL de Xuggle Xuggler?
  4. Problema n. ° 2 al compilar Xuggler para Raspberry pi con libx264
  5. http://blog.oneiroi.co.uk/linux/ffmpeg-install-with-libx264-h264/
  6. http://www.unix.com/unix-for-dummies-questions-and-answers/53319-change-target-symbolic-link.html
  7. http://www.raspberrypi.org/arch-linux-arm-available-for-download/
  8. Gracias especiales : https://groups.google.com/forum/#!topic/xuggler-users/F-fSSm46ZaI
  9. Para x86_64 Arch, esto ayudó : al instalar xuggler en ubuntu 11.10 recibir un mensaje de error
  10. Hacer que git trabaje con un servidor proxy
  11. Código de Xuggler: https://github.com/artclarke/xuggle-xuggler
  12. Xuggler para Raspberry Pi: https://github.com/ed/xuggle-xuggler/tree/pi

¿Alguien puede publicar una reseña detallada sobre cómo compilar Xuggler para Raspberry Pi?