文档章节

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

有初啊
 有初啊
发布于 2013/03/30 23:27
字数 407
阅读 4686
收藏 6

敬告:
编译前尽量安装/更新必要的软件: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多媒体框架的版本, 则相对比较吃力).


© 著作权归作者所有

有初啊
粉丝 11
博文 34
码字总数 9476
作品 0
长沙
私信 提问
加载中

评论(6)

有初啊
有初啊 博主

引用来自“聂华明”的评论

问一下 如果在安卓上编译成功之后是不是就可以嵌入到自己的项目当中来呀

可以,不过需要考虑系统版本的兼容性,建议去官网看看兼容性列表
聂华明
聂华明
问一下 如果在安卓上编译成功之后是不是就可以嵌入到自己的项目当中来呀
一起流浪
楼主大人,知道如何添加字体吗?
koja
koja

引用来自“huruxing159”的评论

(cd speex-git && patch -fp1) < ../../contrib/src/speex/no-ogg.patch
patching file configure.ac
Hunk #1 succeeded at 109 with fuzz 1 (offset -3 lines).
patching file libspeex/Makefile.am
Hunk #1 FAILED at 11.
1 out of 1 hunk FAILED -- saving rejects to file libspeex/Makefile.am.rej
patching file src/Makefile.am
Hunk #1 FAILED at 11.
Hunk #2 FAILED at 24.
2 out of 2 hunks FAILED -- saving rejects to file src/Makefile.am.rej
make: *** [speex] Error 1


去单独下载个speex-git.tar.gz放进contrib/tarballs里,再重新sh compile.sh就可以了
h
huruxing159
Hi can you help me ,I think it maybe out of date error,
but I am not fimiliar with c programing .
h
huruxing159
(cd speex-git && patch -fp1) < ../../contrib/src/speex/no-ogg.patch
patching file configure.ac
Hunk #1 succeeded at 109 with fuzz 1 (offset -3 lines).
patching file libspeex/Makefile.am
Hunk #1 FAILED at 11.
1 out of 1 hunk FAILED -- saving rejects to file libspeex/Makefile.am.rej
patching file src/Makefile.am
Hunk #1 FAILED at 11.
Hunk #2 FAILED at 24.
2 out of 2 hunks FAILED -- saving rejects to file src/Makefile.am.rej
make: *** [speex] Error 1


Android重复依赖解决办法

参考文章:https://blog.csdn.net/qq_24216407/article/details/72842614 在build.gradle引用了Vlc的安卓包:de.mrmaffen:vlc-android-sdk:3.0.0 dependencies { } 编译一切正常,运行报错:......

_York
2018/09/14
0
0
vlc android 代码编译

系统:ubuntu12.04 代码:git://git.videolan.org/vlc-ports/android.git 代码版本:375646994d0602 年初的时候搞了三个月的vlc android。昨天看到vlc android的beta版本发布了,决定编译一个...

Kobe_Gong_5
2013/08/25
919
1
找资深android工程师解决vlc集成中遇到的GnuTLS漏洞问题

需要满足本需求所述能力要求的高级开发工程师驻场工作,按我方要求完成相关任务。 【工作职责】 1、我们开发了一款Android视频播放APP,解码器用的是VLC-Android开源项目,发布到Google Play...

atwal
2016/01/21
19
0
ndk vlc播放器

最近开始研究Android版的vlc,但是有个问题已经让我郁闷很久不会解决,希望路过的高手能指导一下,问题如下 在编译ndk,使用ndk-build clean,效果如下: ####@ubuntugavin:~/vlc_programe/...

gavin_jin
2014/06/19
2.6K
3
编译VLC for ios 2.7.2release版本 以及VLC for Android 最新版本

1. 编译VLC for ios 2.7.2版本。提供可在xcode7.2 or 7.3上直接运行的源代码(源码地址在这里: http://www.videolan.org/vlc/download-ios.html) 2. 编译VLC for Android最新版本。提供可在...

stane
2016/04/08
21
0

没有更多内容

加载失败,请刷新页面

加载更多

总结:TCP/IP协议

一、介绍 TCP协议属于OSI七层模型中的传输层协议,提供处于网络连接中的两台计算机之间的数据 传输。   在传输层有两个性质不同的协议:TCP(Transmission Control Protocol,传输控制协议...

浮躁的码农
3分钟前
0
0
一言不合就删库跑路?万名贡献者和阿里巴巴开源的二三事

9 月 27 日云栖大会,阿里巴巴宣布贾扬清担任开源技术委员会负责人。 有人问:开源是为了什么? 从个人视角看,可以证明自己的专业能力,获得行业认可; 从企业视角看,可以建立技术影响力,...

大涛学弟
13分钟前
1
0
JAVA编程注意事项(性能篇)

1. 尽量在合适的场合使用单例 使用单例可以缩短加载的时间,提高加载的效率,单例主要适用于以下三个方面: 第一,控制资源的使用,通过线程同步来控制资源的并发访问; 第二,控制实例的产生...

你好夜故事
15分钟前
1
0
List 前端 AngularJS JS 对IP排序

数据格式 $scope.dataList=[ {"ip":"192.168.10.10", "port":"8080",...}, { "ip":"192.168.10.12", "port":"8080",... } ,.....] 调用 $scope.ipSortForward($scope.dataList,"ip") 核心代码......

最菜最菜之小菜鸟
15分钟前
1
0
浅析Cassandra LeveledCompactionStrategy

前言 Cassandra是基于LSM架构的分布式数据库。LSM中有一个很重要的过程,就是压缩(Compaction)。默认的压缩策略是SizeTieredCompactionStrategy,今天主要说一下另一种压缩策略LeveledComp...

阿里云官方博客
19分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部