为Raspberry Pi编译Xuggler的指南

时间:2014-08-09 13:06:41

标签: raspberry-pi raspbian xuggler

有人可以发布详细的文章,关于如何为Raspberry Pi编译Xuggler吗?

1 个答案:

答案 0 :(得分:5)

在工作了大约5天之后,我将使用以下指南为Raspberry Pi编译xuggler(所需时间:8小时):

先决条件:

  1. Raspberry Pi Model B + 512 MB RAM(任何小于此版本的型号都不会为您提供已编译的二进制文件,并且会在编译期间卡住)
  2. Raspbian安装在SD卡上(超过4GB的SD卡可以)
  3. 步骤:

    1. 切换到' root'用户。

    2. 从Basic xuggler构建页面安装标记为'必需'

    3. 的依赖项(http://www.xuggle.com/xuggler/build
    4. 创建和导出变量如下(制作相关目录)

      export XUGGLE_HOME=/home/pi/Downloads/xuggler    
      export PATH=$XUGGLE_HOME/bin:$PATH    
      export LD_LIBRARY_PATH=$XUGGLE_HOME/lib:$LD_LIBRARY_PATH
      
    5. 创建以下链接:

      sudo ln -s /usr/bin/make /usr/bin/gmake
      
    6. 如果您支持任何类型的Web代理,那么也设置以下变量:

      export http_proxy='proxy-url:port'    
      export https_proxy='proxy-url:port'    
      export ftp_proxy='proxy-url:port'
      
    7. 现在转到以下目录:

      cd /home/pi/Downloads/
      
    8. 从此处下载xuggler代码(https://github.com/artclarke/xuggle-xuggler):

      git clone https://github.com/artclarke/xuggle-xuggler.git
      
    9. 代码将下载到名为' xuggle-xuggler'

    10. 的目录中
    11. 在目录内移动' xuggle-xuggler'

    12. 如果您在代理服务器后面,请在文件' build.xml'中添加以下行,就在'属性'文件中的xml标签:

      <setproxy proxyhost="proxy-url" proxyport="port"/>
      
    13. 现在编辑文件&cap; / libspeex / csrc / configure&#39;如下:

      自:

      CFLAGS="$CFLAGS -O3 -msse"
      

      要:

      CFLAGS="$CFLAGS -O3"
      

      自:

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

      要:

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

      有关详细信息,请参阅this

    14. 现在编辑文件&#39;圈养/ libspeex / CSRC / configure.ac&#39;如下:

      自:

      CFLAGS="$CFLAGS -O3 -msse"
      

      要:

      CFLAGS="$CFLAGS -O3"
      

      并且

      自:

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

      要:

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

      有关详细信息,请参阅this

    15. 现在,如xuggler advance build链接(http://www.xuggle.com/xuggler/advbuild)中所列,启动命令:

      ant stage
      
    16. 在编译libX264时或编译期间,该过程将失败,为了绕过它,在现在生成的文件中添加以下编译开关,即编辑文件&cap; / libx264 / incarcerate.in&#39; :

      自:

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

      要:

      X264_OPTIONS="$X264_OPTIONS --disable-asm"
      X264_OPTIONS="$X264_OPTIONS --enable-shared"
      X264_OPTIONS="$X264_OPTIONS --enable-static"
      X264_OPTIONS="$X264_OPTIONS --enable-pic"
      
    17. 现在运行以下命令(仅逐个):

      ant clobber
      ant clean
      ant stage
      
    18. 这次所有编译步骤都将完成。

    19. 运行install命令:

      ant install
      
    20. xuggler二进制文件将安装在&#39; XUGGLE_HOME&#39;如步骤3中所定义。

    21. java二进制文件的xuggler maven存储库位于&#39; /root/.m2/repository/xuggle/xuggle-xuggler'

    22. 您还可以查看&#39; ../ xuggle-xuggler / dist&#39;用于检查非maven类型的所有本机和java二进制文件的目录。

    23. 已编译的二进制文件在Raspberry PI(Arch Linux,Raspbian)上正常运行。

    24. 如果您没有时间进行编译,请从here获取二进制文件。

    25. 在使用我编译的java二进制文件之前,请确保在java类路径或shell终端中添加步骤#3中定义的变量。

    26. 特别感谢11101101b提供指导和帮助。

      参考文献:

      1. https://github.com/e-d/xuggle-xuggler/commit/035c676e6e289fbb4b27dc75134a4470a5bab28a
      2. Issue #1 when compiling Xuggler for Raspberry pi with libspeex
      3. How can I build the GPL and LGPL version of Xuggle Xuggler?
      4. Issue #2 when compiling Xuggler for Raspberry pi with 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. 特别致谢https://groups.google.com/forum/#!topic/xuggler-users/F-fSSm46ZaI
      9. 对于x86_64 Arch,这有助于while installing xuggler in ubuntu 11.10 getting error message
      10. Getting git to work with a proxy server
      11. Xuggler代码:https://github.com/artclarke/xuggle-xuggler
      12. Xuggler for Raspberry Pi:https://github.com/e-d/xuggle-xuggler/tree/pi