`
yangwei0915
  • 浏览: 465877 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Android 下的视频播放器faplayer 编译

 
阅读更多
    最近在做Android下的音乐和视频播放器,Android默认只支持3gp和MP4两种视频格式,并且对streaming的播放支持也很有限。所以很多市面上的视频播放器都自带了第三方解码器。目前主要是FFMPEG和VLC解码器。有一个开源项目faplayer,主要是用到了VLC做解码库。faplayer目前控制方面的功能比较简单,但是解码效果比较理想,接近主流的Android视频播放器的播放效果。支持常规的视频格式。

     虽然源码都能从网站上下载下来,不过需要用NDK编译出解码库,程序才能跑起来。用NDK编译VLC解码库可以在window下和Linux下进行。在window下编译总有这样那样的问题,最后在Linux下编译通过。

  下面在Linux下用NDK编译VLC解码库的步骤:

1、  下载faplayer的源码。
最好用git clone下载。直接下载zip压缩包,编译的时候有问题。需要把include的文件夹修改。

git clone https://github.com/tewilove/faplayer.git

2、  安装android-ndk-r5c(项目中的README中的内容需要仔细阅读)。

   http://dl.google.com/android/ndk/android-ndk-r5c-linux-x86.tar.bz2

3、  安装ruby 1.9.2

在Ubuntu下安装ruby:  sudo apt-get install ruby
使用此命令安装的是1.8.7,还需要安装1.9.2
下载:http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p320.tar.gz
解压缩后,在解压后的目录中执行make和make install

4、  设置ndk和ruby的环境变量(不一定需要设置,设置了,方便后面使用)

输入: sudo gedit /etc/profile  打开profile文件,在最后,加入

export NDKPATH="ndk dir"

ndk dir = 是NDK的根目录,根目录下有ndk-build文件

在终端使用 source /etc/profile 刷新内容。或者重启终端也可以验证设置是否正确:

echo $NDKPATH  如果设置正确会输入你设置的路径

cd $NDKPATH 跳转到NDK根目录

ruby的环境变量的配置与此相似。

环境变量一定要设置好,否则后面无法编译.

5、  修改build.sh文件

Faplayer根目录下有一个build.sh文件,打开。第4行 ndk-build $@ || exit 1

改为 $ NDKPATH/ndk-build $@ || exit 1

ruby post-build.rb修改为:

$rubypath/ruby post-build.rb

主要是设置好编译的NDK和ruby的路径

6、  编译

终端下执行 ./build.sh

这个编译要花点时间,大概十分钟左右。编译好在libs文件夹下有个一个libvlccore.so 大概11.3M的动态库。

上面只是编译出libvlccore.so的解码库。其实faplayer的脚本文件build.sh是可以编译出整个apk文件的,不过还需要安装Ant和android的SDK以及配置相关开发环境。只要得到libvlccore.so就可以把工程拷到window下继续开发。把工程拷到window下,用eclipse打开,重新编译一次就好了。

build.sh默认是编译出一个arm-v7版本的动态库,如果需要在arm-A9或者arm-v7以下版本编译,需要调整编译参数。主要是Android.mk的编译参数。

分享到:
评论

相关推荐

    android 视频播放器完整源码

    【工控老马出品,必属精品,亲测校正,质量保证】 资源名:android 视频播放器完整源码 ...源码说明: android 视频播放器完整源码 亲测校正过的 可编译运行 适合人群:新手及有一定经验的开发人员

    Android全景视频播放器 源代码

    全景视频播放器在Android开发中是一项独特且富有挑战性的技术,它允许用户通过移动设备体验全方位、无死角的视觉效果。本源代码是专为Android平台设计的全景视频播放器,旨在提供一种流畅且沉浸式的视频观看体验。...

    基于Android的音乐播放器设计源码

    本项目是基于Android开发的音乐播放器设计源码,主要使用Java进行开发。项目共包含71个文件,其中XML配置文件17个,PNG图片文件16个,编译后的Java字节码文件13个,WebP图片文件10个,Git忽略配置文件3个,Gradle...

    基于-android平台视频播放器设计文献综述.doc

    基于 Android 平台视频播放器设计文献综述 本文献综述旨在设计基于 Android 平台的视频播放器,以满足当前移动设备上视频播放的需求。该播放器应具有功能全面、操作简单、解码能力强等特点,以提供用户良好的体验。...

    基于IJKPlayer框架的Android P2P视频播放器.zip

    基于IJKPlayer框架的Android P2P视频播放器 项目简介 本项目是一个基于IJKPlayer框架的Android P2P视频播放器示例。它展示了如何集成P2P功能到视频播放应用中,支持直播、点播、直播时移、HLS P2P原生支持以及防盗...

    android简易视频播放器zip

    在Android平台上,开发一个简易的视频播放器是一个常见的学习任务,可以帮助初学者更好地理解多媒体处理、用户界面设计以及Android应用程序的基本架构。以下是对这个"android简易视频播放器zip"项目的一些详细知识点...

    android 视频播放器源码

    在Android平台上,开发一款视频播放器是相当常见的需求,它涉及到多媒体处理、用户界面设计以及性能优化等多个技术领域。本文将基于"android 视频播放器源码"这个主题,详细解析Android视频播放器的开发过程,核心...

    android网络视频播放器.zip

    在Android平台上开发网络视频播放器是一项复杂而技术含量较高的任务,涉及到多个技术层面。这个"android网络视频播放器.zip"压缩包可能包含了完整的源代码、使用说明和其他相关资源,为开发者提供了一个实现在线视频...

    Android 网络视频播放器源码.rar

    在Android平台上,开发一款网络视频播放器涉及到许多关键技术和组件的整合。这个"Android网络视频播放器源码"提供了一个实际的实现示例,对于学习和理解Android多媒体播放功能非常有帮助。以下将深入探讨该源码可能...

    Android程序研发源码Android 网络视频播放器源码.zip

    在Android平台上开发网络视频播放器是一项复杂而技术含量高的任务,涉及到多个技术栈的整合与优化。本项目源码提供了一个完整的实现,帮助开发者深入理解Android视频播放的原理和实践。下面将详细解析这个Android...

    Android ijk播放器编译的so包,支持https协议,支持mpg,avi,wmv等等

    在Android平台上,多媒体播放是一个重要的功能,ijkplayer是一款广受欢迎的开源媒体播放器库,源自Bilibili。ijkplayer能够支持多种视频和音频格式,包括但不限于MP4、FLV、MKV、RTSP、RTMP等。在这个特定的场景中,...

    非常有用的Android vlc播放器源码

    总之,"非常有用的 Android vlc 播放器源码"为开发者提供了一个深入学习 Android 多媒体播放技术的平台,可以帮助他们掌握如何在移动设备上实现高效、灵活的视频播放功能。通过研究源码,开发者不仅可以理解 VLC ...

    android网络视频播放器(完整可运行).zip

    标题中的“android网络视频播放器(完整可运行)”表明这是一个专为Android平台设计的视频播放应用程序,可以处理网络上的视频流。这个压缩包包含了该应用的多个关键组成部分,让我们来详细了解一下这些组件及其在...

    基于ijkPlayer的Android视频播放器.zip

    这个"基于ijkPlayer的Android视频播放器.zip"是一个开源项目,旨在提供一个实现ijkPlayer的示例,帮助开发者更好地理解和运用ijkPlayer在Android应用中的功能。 ijkPlayer的核心组件包括libijkplayer库,它提供了与...

    libcurl在android下的移植、编译与测试源码

    4. **编译Android应用**:使用NDK的ndk-build命令或Android Studio的CMake构建系统,编译整个Android项目。 **三、测试源码** 1. **创建测试程序**:编写一个简单的Android应用,包含一个按钮和一个TextView,点击...

    从Android NDK安装ARM交叉编译工具链

    从Android NDK安装ARM交叉编译工具链涉及的技术领域包括Android开发、交叉编译、NDK使用、ARM架构以及Linux环境下的编译工具使用。以下是详细的知识点解析: Android NDK(Native Development Kit)是Android应用...

    android 音乐播放器ui界面设计音乐播放器毕业设计。Android studio编译,项目有源码和apk

    android 音乐播放器ui界面设计音乐播放器毕业设计。Android studio编译,项目有源码和apk,参考链接:https://blog.csdn.net/babyai996/article/details/121196305

    Android交叉编译环境&Iperf3;.0源码编译

    本文将详细阐述如何在Linux环境下搭建Android交叉编译环境,并针对iperf3.0源码进行编译,以生成适用于Android系统的可执行文件。 首先,交叉编译是指在一个平台上构建另一个平台上的软件。对于Android,我们通常在...

    安卓Android源码——完整版android视频播放器.rar

    【标题】中的“安卓Android源码——完整版android视频播放器”揭示了这是一个关于Android平台的源代码项目,特别关注的是视频播放功能。这通常意味着它包含了一个Android应用程序,该程序设计用于播放视频文件,可能...

    易语言编写视频播放器源码

    源码包含功能:。*调用迅雷APlayer SDK 进行视频播放。*自动检测是否下载迅雷解码库,若不存在则进行自动下载并解压(新手可...*支持黑月编译。*其他就是一些界面绘制的 控件扩展 基础操作 等等自行体验吧...@aiqc。

Global site tag (gtag.js) - Google Analytics