有人可以发布详细的文章,关于如何为Raspberry Pi编译Xuggler吗?
答案 0 :(得分:5)
在工作了大约5天之后,我将使用以下指南为Raspberry Pi编译xuggler(所需时间:8小时):
先决条件:
步骤:
切换到' root'用户。
从Basic xuggler构建页面安装标记为'必需'
创建和导出变量如下(制作相关目录)
export XUGGLE_HOME=/home/pi/Downloads/xuggler
export PATH=$XUGGLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$XUGGLE_HOME/lib:$LD_LIBRARY_PATH
创建以下链接:
sudo ln -s /usr/bin/make /usr/bin/gmake
如果您支持任何类型的Web代理,那么也设置以下变量:
export http_proxy='proxy-url:port'
export https_proxy='proxy-url:port'
export ftp_proxy='proxy-url:port'
现在转到以下目录:
cd /home/pi/Downloads/
从此处下载xuggler代码(https://github.com/artclarke/xuggle-xuggler):
git clone https://github.com/artclarke/xuggle-xuggler.git
代码将下载到名为' xuggle-xuggler'
在目录内移动' xuggle-xuggler'
如果您在代理服务器后面,请在文件' build.xml'中添加以下行,就在'属性'文件中的xml标签:
<setproxy proxyhost="proxy-url" proxyport="port"/>
现在编辑文件&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。
现在编辑文件&#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。
现在,如xuggler advance build链接(http://www.xuggle.com/xuggler/advbuild)中所列,启动命令:
ant stage
在编译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"
现在运行以下命令(仅逐个):
ant clobber
ant clean
ant stage
这次所有编译步骤都将完成。
运行install命令:
ant install
xuggler二进制文件将安装在&#39; XUGGLE_HOME&#39;如步骤3中所定义。
java二进制文件的xuggler maven存储库位于&#39; /root/.m2/repository/xuggle/xuggle-xuggler'
您还可以查看&#39; ../ xuggle-xuggler / dist&#39;用于检查非maven类型的所有本机和java二进制文件的目录。
已编译的二进制文件在Raspberry PI(Arch Linux,Raspbian)上正常运行。
如果您没有时间进行编译,请从here获取二进制文件。
在使用我编译的java二进制文件之前,请确保在java类路径或shell终端中添加步骤#3中定义的变量。
特别感谢11101101b提供指导和帮助。
参考文献: