Linux 下编译 VLC for Android

最近在研究VLC播放器,主要目的是使用Android平台VLC播放器进行RTMP直播,研究目的是为了降低RTMP直播的延迟,目标将延迟降到1s以内。

首先需要在Linux(本人使用Ubuntu 14)下编译VLC for Android的源码,根据官方的Wiki,以及自己实际操作的步骤,总结为如下:

1. 安装及更新系统工具

#apt-get install ant autoconf automake autopoint cmake gawk gcc g++ libtool m4 patch pkg-config ragel subversion unzip

2. 安装VLC相关依赖库

#apt-get build-dep vlc

3. 安装配置JDK

从Oracle官网下载JDK,VLC官方推荐使用JAVA 6版本,我解压的目录是"/usr/lib/jvm".

下载后解压,并根据解压目录设置环境变量如下:

#vi /etc/profile
   export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_45
   export PATH=$JAVA_HOME/bin:$PATH
   export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#source /etc/profile

4. 下载Android sdk及ndk并设置环境变量

从官方网站下载,并解压。国内源(http://mirrors.neusoft.edu.cn/android/repository/)

#vi /etc/profile
   export ANDROID_SDK=/path/to/android-sdk
   export ANDROID_NDK=/path/to/android-ndk
   export PATH=$PATH:$ANDROID_SDK/platform-tools:$ANDROID_SDK/tools
#source /etc/profile

5. 设置编译的设备平台

国内大部分安卓设备都是arm平台,设置如下:

#vi /etc/profile
   export ANDROID_ABI=armeabi-v7a
#source /etc/profile

本文结尾底部,领取最新最全C++音视频学习提升资料,内容包括(C/C++Linux 服务器开发,FFmpeg webRTC rtmp hls rtsp ffplay srs↓↓↓↓↓↓文章底部

6. 获取VLC for Android源码并编译

#git clone git://git.videolan.org/vlc-ports/android.git
#sh compile.sh

注:compile.sh脚本会先下载VLC依赖的第三方库,有些库的网址是访问不了的,自己想办法下好了放进“vlc/contrib/tarballs”目录里,然后重新执行编译命令即可。怕麻烦就直接设置能访问的代理。

至此,如果一切顺利,就会编译成功,当然你一定会遇到各式的问题,应该记住以下几点:
(1)包含VLC需要的所有Android SDK版本。
(2)务必将需要的编译工具升级(apt-get)。
(3)如果你遇到一些奇怪的第三库找不到问题。
首先看你系统是不是有这个库,执行如下命令:

#ldconfig -p

如果显示系统已经加载该动态库,看是不是Ubuntu默认安装的,并且版本太低,如果是用“apt-get remove”卸载,重新安装VLC需要的版本。另外动态库安装成功了,需要执行“ldconfig”命令,如果没有安装在系统默认路径,你需要将安装后so文件的路径添加到"/etc/ld.so.conf"中后再执行“ldconfig”命令。

编译成功后,在VLC源码路径的“vlc-android/bin”内会有"VLC-debug.apk"文件。



原文链接

猜你喜欢

转载自blog.csdn.net/m0_60259116/article/details/125412594