VLC for Android : 编译问题 & 解决办法

敬告:
编译前尽量安装/更新必要的软件:vlc-dep, android-sdk, android-ndk


1. libmpeg2 下载源错误, 必须修改$(vlc-setup)/vlc/contrib/src/libmpeg2/rules.mak, 内容如下:

#$(vlc-setup)/vlc/contrib/src/libmpeg2/rules.mak
LIBMPEG2_VERSION = 0.5.1

#src:
#LIBMPEG2_URL := http://libmpeg2.sourceforge.net/files/libmpeg2-$(LIBMPEG2_VERSION).tar.gz

#mod:
LIBMPEG2_URL := ftp://mirror.ovh.net/gentoo-distfiles/distfiles/libmpeg2-0.5.1.tar.gz

P.S. vlc目录是通过git命令下载的,见compile.sh

2. 若出现该错误内容:android-sdk-linux/tools/ant/build.xml:539: Unable to resolve project target 'android-17',则必须更新SDK,命令如下:

android update sdk


3. 如果是在Ubuntu-64bit + Android-NDK(64bit)下编译,则在编译vlc/contrib/android/a52dec等模块时,会报错:arm-linux-androideabi not found。必须修改compile.sh: Ln77,内容如下:

# $(vlc-setup)/compile.sh

#src:
#NDK_TOOLCHAIN_PATH=${ANDROID_NDK}/toolchains/${PATH_HOST}-${GCCVER}/prebuilt/`uname|tr A-Z a-z`-x86/bin

#mod
NDK_TOOLCHAIN_PATH=${ANDROID_NDK}/toolchains/${PATH_HOST}-${GCCVER}/prebuilt/`uname|tr A-Z a-z`-`uname -m|tr A-Z a-z`/bin

#or
#NDK_TOOLCHAIN_PATH=${ANDROID_NDK}/toolchains/${PATH_HOST}-${GCCVER}/prebuilt/`uname|tr A-Z a-z`-x86_64/bin


4. 值得注意的是, Android的多媒体框架是采用的OpenMAX标准, 并通过IPC来实现的. 而VLC-Android默认是采用Android多媒体框架的实现方式. 除此之外, 也支持直接调用Android-OMX动态库的实现方式. 就兼容性而言, 前者明显要好于后者, 而实际播放速度来说, 正好相反..
     其中, VLC-Android通过编译宏(-DUSE_IOMX)来指定具体实现的版本, 详见$(vlc-setup)/vlc/modules/codec/omxil/Modules.am. 因此, 编译调用Android-OMX动态库的版本, 必须禁用-DUSE_IOMX. (用按此编译出来的版本, 在GoogleNexus的机器上, 播放1080p的高清影片, 播放速度基本流畅, 而基于Android多媒体框架的版本, 则相对比较吃力).


转载于:https://my.oschina.net/erehmii/blog/118748

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值