最近在做在线m3u8类格式的视频直播应用, 在获取m3u8的文件之后,如果采用Android系统播放器来播,会有各种各样的问题,容易卡死、不连续,也不能自定义一些选项。查找资料以后,决定采用faplayer这个开源的第三方播放器实现该功能。
 
采用的源代码如下,https://github.com/jgfntu/faplayer  ,是一个国人在原来faplayer的基础上做了优化之后的代码,很赞,感谢他的工作。他的相关博文链接: http://blog.chinaunix.net/uid-25272011-id-3541778.html
 
首先尝试在windows下用cygwin的方式编译faplayer发现会有各种错误。不得不下载linux虚拟机,用Ubuntu的最新版本。编译faplayer要求的环境条件有两个,一个是NDK、一个是ruby。
 
再三试验下,发现NDK的版本对编译是否成功起着决定性作用,我先后试验了NDK9 NDK5 NDK6等几个版本,最后一个NDK6才成功。ruby的版本似乎并不要紧。
 
具体的编译步骤就不赘诉了,网上资料比较多,我是参照这篇文章来的http://www.cnblogs.com/mythou/archive/2011/11/27/2265160.html
 
另外有人找不到老版本NDK的下载路径,参照这篇文章即可:http://www.cnblogs.com/yaotong/archive/2011/01/25/1943615.html
 
其实再配上Ant,可以直接实现在linux环境下编译出apk,但我就没有继续折腾了,将编译出来的libvlccore.so 拷贝到Eclipse工程中,参考它给的例子实现了自己的m3u8播放器,效果还是很不错的。
 
若遇见只有声音,没有图像的bug,可参考这篇文章:http://www.cnblogs.com/yueang/archive/2013/02/18/2915186.html
 
感谢以上给出链接的开发者们辛勤的工作。

faplayer编译配置经验的更多相关文章

  1. 转载:Centos7 从零编译配置Memcached

    序言 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度. Memca ...

  2. [原创]Centos7 从零编译配置Memcached

    序言 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度. Memca ...

  3. Fast RCNN 训练自己数据集 (1编译配置)

    FastRCNN 训练自己数据集 (1编译配置) 转载请注明出处,楼燚(yì)航的blog,http://www.cnblogs.com/louyihang-loves-baiyan/ https:/ ...

  4. 大型项目使用Automake/Autoconf完成编译配置

    http://www.cnblogs.com/xf-linux-arm-java-android/p/3590770.htmlhttp://blog.csdn.net/zengraoli/articl ...

  5. CentOS6.5 Nginx优化编译配置[续]

    继续上文CentOS6.5 Nginx优化编译配置本文记录有关Nginx系统环境的一些细节设置,有关Nginx性能调整除了配置文件吻合服务器硬件之前就是关闭不必要的服务.磁盘操作.文件描述符.内核调整 ...

  6. Redmine(Ruby)配置经验

    Redmine(Ruby)配置经验记录在配置Redmine邮件同步过程中遇到的各种问题与解决方法 1. 如何安装Redminehttp://www.redmine.org/projects/redmi ...

  7. 第4阶段——制作根文件系统之编译配置安装busybox(3)

    在上一节分析出制作一个最小的根文件系统至少需要: (1)/dev/console(终端控制台, 提供标准输入.标准输出以及标准错误) /dev/null  (为空的话就是/dev/null, 所有写到 ...

  8. Win10 下Cmake编译配置 Opencv3.1 + Cuda7.5 + VS2013

    折腾了三天终于配置成功了,在此写下编译配置的全部步骤和遇到的很多坑. 整体介绍: OpenCV 中 CUDA 实现的函数还不是太多,使用前要在OpenCV的官网上确认以下你想要的功能是否已经实现,否则 ...

  9. qt5.11.2+vs2017环境下opencv3.4.1编译配置

    OpenCV是一个开源的计算机库,它可以帮助视觉工作者做很多富有创造性的工作,在图像处理领域扮演着重要的角色.由于opencv3.x的存在,不管你是学生还是研究人员,是专家还是初学者,都可以快速的建立 ...

随机推荐

  1. C#中字符串驻留技术

    转自:http://www.cnblogs.com/Charles2008/archive/2009/04/12/1434115.html MSDN概念:公共语言运行库通过维护一个表来存放字符串,该表 ...

  2. c++ 异常处理 assert | try

    #include <iostream> #include <cassert> using namespace std; int main() { ; assert(i == ) ...

  3. [转载]介绍一个JSONP 跨域访问代理API-yahooapis

    你是否遇到了想利用AJAX访问一些公网API,但是你又不想建立自己的代理服务,因为有时我根本就没打算涉及服务端任何代码,但是讨厌的浏览器的同源策略,阻止了我们的ajax调用. 比如我想访问一个天气的r ...

  4. 为什么样本方差(sample variance)的分母是 n-1?

    为什么样本方差(sample variance)的分母是 n-1? (補充一句哦,題主問的方差 estimator 通常用 moments 方法估計.如果用的是 ML 方法,請不要多想不是你們想的那樣 ...

  5. PAT-乙级-1035. 插入与归并(25)

    1035. 插入与归并(25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 根据维基百科的定义: 插入排序是迭 ...

  6. uva10943

    递推  还是比较容易的 /************************************************************************* > Author: ...

  7. cf 283A

    不能简单模拟(会超时)  运用一点小技巧  减少时间复杂度 #include <cstdio> #include <cstring> using namespace std; ...

  8. poj 2454 Jersey Politics 随机化

    随机化算法+贪心! 将3*k排序后分成3分,将第二第三份的和分别加起来,让和与500*k比较,都大于则输出,否则,随机生成2个数,在第二第三份中交换! 代码如下: #include<iostre ...

  9. PreparedStatement的用法

    转载:http://www.cnblogs.com/raymond19840709/archive/2008/05/12/1192948.html jdbc(java database connect ...

  10. [数论]ZOJ3593 One Person Game

    题意:一个人要从A走到B  只能走a布.b步.(a+b)步,可以往左或右走   问 最少要走几步,不能走到的输出-1 可以列出方程 $ax+by=A-B$ 或者 $ax+(a+b)y=A-B$ 或者 ...