最近在做一个实时视频流解码成图片以实现在浏览器上无需安装插件就能播放实时视频流问题,
在这个过程中使用到了jar 包xuggle-xuggler-5.4.jar实现视频流的解码,在win8系统下测试通过,
使用Intellij IDEA打包成可执行jar包放到树莓派3B+上,结果发现运行出错,具体出错问题如下所示:
原因在于在树莓派上还需要对xuggle源码进行编译才能使用,树莓派上编译xuggle源码的教程参考链接:
http://stackoverflow.com/questions/25218879/guide-to-compile-xuggler-for-raspberry-pi
我是直接采用xuggle的二进包的。
然后在/etc/profile下配置xuggle的环境变量:
export XUGGLE_HOME=/home/pi/Downloads/xuggler
export PATH=$XUGGLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$XUGGLE_HOME/lib:$LD_LIBRARY_PATH
开机重启树莓派,就可以使用xuggle了,使用之后还会发现这样一个warning:
导致无法加载视频流,解决办法如下:
1)sudo apt-get install execstack -y --force-yes
2) sudo execstack -c /home/pi/Downloads/xuggler/lib/libxuggle.so.5
结果又发现了另外一个问题,xuggle解压视频流占用内存空间很大,顿时让我蛋碎了一地,具体错误如下:
xuggle解压一个视频流需要占用内存2.5G,因为树莓派性能不高,所以啊,到了这里,只能更改源码尽量降低内存了。