环境准备
硬件环境:PC机一台
操作系统:Ubuntu 12.04(我是Ubuntu+XP双系统)
软件环境:除Ubuntu预装的所有应用,还需要以下工具:git, ant, ccache, sdk, ndk。
其中git,ant和ccache直接使用sudo apt-get install XXX安装即可。
sdk和ndk可以在android developer网站下载,下面给出分别的下载地址:
http://dl.google.com/android/ndk/android-ndk-r9b-linux-x86.tar.bz2
http://dl.google.com/android/adt/adt-bundle-linux-x86-20130917.zip
【注】git, ant, ccache工具的说明可以参考百度/谷歌等网络资料。
编译前的准备
1. 在$HOME目录下建立一个Development文件夹,后续我们所有的代码均放到该目录下
2. 将下载好的adt和ndk拷贝到刚才创建的Development文件夹中,并直接解压
tar xf android-ndk-r9b-linux-x86.tar.bz2
unzip adt-bundle-linux-x86-20130917.zip
3. 配置环境变量
设置ANDROID_SDK和ANDROID_NDK环境变量,并添加PATH环境变量中。
修改$HOME/.bashrc文件,在最后面添加如下代码:
- export ANDROID_SDK=~/Development/adt-bundle-linux-x86-20130917/sdk
- export ANDROID_NDK=~/Development/android-ndk-r9b
- export PATH=$PATH:$ANDROID_SDK:$ANDROID_NDK:$ANDROID_SDK/platform-tools/
其中将$ANDROID_SDK/platform-tools/添加到PATH环境变量中,这样就将一些adb调试的工具添加到环境变量中,可以方便连接设备调试。
4. 下载ijkplayer的代码
因为我们研究的对象ijkplayer是github上的一个开源项目,因此使用git下载其版本管理库:
git clone https://github.com/bbcallen/ijkplayer.git
【注】ijkplayer更多的信息请参考githuab上项目页面:https://github.com/bbcallen/ijkplayer
编译ijkplayer库
进入到ijkplayer目录
cd ijkplayer
执行init-android.sh脚本,脚本的主要作用是下载ffmpeg源码。
sh init-android.sh
执行完成后,下载好的ffmpeg源码会放到android/ffmpeg-armv7a目录。
进入android目录下,执行compile-ffmpeg.sh脚本即可完成ffmpeg的编译
cd android
sh compile-ffmpeg.sh
然后,在执行compile-ijk.sh脚本,完成ijk部分的编译。
sh compile-ijk.sh
编译后会生成如下的文件:
ijkmediaplayer/libs/armeabi-v7a/libffmpeg.so
ijkmediaplayer/libs/armeabi-v7a/libijkplayer.so
ijkmediaplayer/libs/armeabi-v7a/libijksdl.so
ijkmediaplayer/libs/armeabi-v7a/libijkutil.so
ijkmediaplayer/libs/armeabi-v7a/libstlport_shared.so
编译ijkplayer Demo
打开eclipse(我们刚才下载的adt中除了sdk还有一个配置好的eclipse,位于~/Development/adt-bundle-linux-x86-20130917/eclipse/目录中),打开后直接就可以创建/使用android project。
将位于~/Development/ijkplayer/android/目录的三个android工程导入到eclipse中。其中ijkmediaplayer和ijkmediawidget两个工程编译出来的是jar包和so库,真正可以编译成apk的是ijkmediademo工程。
因为eclipse配置了自动构建,因此导入工程后,即开始自动构建。但是初次构建会失败,报出如下错误:
Cannot run program "ndk-build": Unknown reason
Error: Program "ndk-build" is not found in PATH
而我们明明在命令行,直接输入ndk-build是可以正常使用的,即ndk-build确实是在PATH中,这与当前的error信息不符。
结合在windows上的android开发经验,再加上查询其它网络资料,应该是eclipse本身没有配置ndk的原因。
在eclipse-->Preferences-->Android-->NDK中,设置好正确的ndk路径:~/Development/android-ndk-r9b。
然后,重新clean project --> build project --> run,即可在手机或者AVD上调试demo应用。
相关推荐
下面将详细介绍ijkplayer的学习与开发过程,以及在Android环境下如何集成和使用ijkplayer。 一、ijkplayer简介 ijkplayer由Bilibili公司开源,它的主要优势在于: 1. 高度可定制:ijkplayer提供了丰富的配置选项,...
开发者可以通过这个例子学习如何在自己的应用中集成ijkplayer,了解ijkplayer的基本用法,如初始化、加载媒体、播放控制等。示例代码通常会涵盖常见操作和处理异常情况,对于初学者来说是非常有价值的参考资料。 ...
Android ijkplayer的使用方法解析 Android ijkplayer是Bilibili基于ffmpeg开发并开源的轻量级视频播放器,支持播放本地网络视频,也支持流媒体播放。ijkplayer支持Android和iOS平台。ijkplayer的编译过程可以通过...
针对不同设备和网络环境,ijkplayer提供了多种播放策略和优化选项。开发者可以根据实际情况调整缓冲大小、解码器选择等参数。遇到问题时,可以通过ijkplayer的日志输出进行调试。 8. **社区支持** 作为开源项目,...
通过分析和学习这些源码,开发者可以了解如何将IjkPlayer集成到自己的应用中,以及如何根据需要扩展其功能。 对于初学者来说,通过研究这个源码,可以掌握以下知识点: 1. **Android或iOS开发基础**:理解平台的...
通过“ijkplayer-unity-demo.zip”中的ijkplayer-unity-main,开发者可以学习到如何将ijkplayer与Unity3D完美结合,实现高效稳定的视频播放功能。这将极大地扩展Unity项目在视频内容方面的可能性,无论是用于游戏内...
ijkplayer是一款开源的媒体播放器库,主要应用于Android和iOS平台,由Bilibili公司开发并维护。它基于FFmpeg项目,提供了丰富...开发者通过学习和实践,能够利用ijkplayer实现各种复杂的播放功能,提升应用的用户体验。
本项目就是将ijkplayer集成到Eclipse环境中的实践。 1. **ijkplayer简介** - ijkplayer的核心是FFmpeg,一个强大的跨平台多媒体处理库,包含了解码、编码、转码、流处理等功能。 - ijkplayer对FFmpeg进行了优化,...
下面我们将详细探讨ijkplayer的使用、核心概念以及如何通过提供的VideoDemo来学习ijkplayer的基本操作。 1. **ijkplayer介绍**: ijkplayer是一个跨平台的播放器,支持iOS和Android系统,它的主要优点在于稳定性和...
通过研究这个DEMO,开发者不仅可以学习到ijkplayer的基本用法,还可以了解如何在实际项目中进行播放器的优化和调试,提升视频播放的用户体验。同时,由于ijkplayer是开源的,深入研究其源码还能帮助开发者理解媒体...
在IJKplayerDemo中,我们可以看到一个具体的示例应用,它展示了如何将IJKplayer集成到Android项目中,包括设置播放器、加载媒体源、控制播放状态等操作。这个Demo可以帮助开发者快速上手,理解IJKplayer的工作原理和...
ijkplayer是一款由哔哩哔哩(Bilibili)开发并开源的轻量级视频播放器,它基于FFmpeg库进行构建,适用于Android和iOS平台。ijkplayer的主要特点是其易用性和高效性,使得开发者能够在短时间内集成视频播放功能到自己...
这意味着在使用这个版本的ijkplayer时,你不必担心日志信息会出现在用户设备上,从而满足了生产环境的安全性和性能需求。这对于保持应用的稳定性和提升用户体验至关重要。 ijkplayer的核心特性包括: 1. **跨平台*...
4. **编译与配置**:在Ubuntu环境下编译ijkplayer,意味着开发者可以在Linux服务器或者桌面环境中进行二次开发和自定义配置。这为开发者提供了更多的灵活性,可以根据实际需求调整ijkplayer的功能和性能。 5. **API...
9. **多平台兼容性**:ijkplayer是跨平台的,虽然这个示例主要关注Android,但ijkplayer同样适用于iOS,这意味着你可以学习到如何在两个平台上统一播放逻辑。 10. **版本更新与维护**:ijkplayer是持续更新的项目,...
总的来说,【IJKPlayer Demo】是Android开发者学习和实践IJKPlayer的一个宝贵资源,它简化了Eclipse环境下的集成过程,帮助开发者快速掌握IJKPlayer的使用方法,提升视频播放功能的开发效率。通过深入研究这个Demo,...
在Ubuntu下编译的ijkplayer0.6.1版本 提供百度云下载地址 在Ubuntu下编译的ijkplayer0.6.1版本 提供百度云下载地址
ijkplayer是一款开源的跨平台多媒体播放器框架,源自Bilibili公司,它的全称为"Independent JPEG Group's Library Player"。ijkplayer主要基于FFmpeg库进行开发,提供了强大的视频和音频解码能力,支持多种格式的...
在Android开发中,ijkplayer是一个广泛使用的开源媒体播放器库,它源于FFmpeg项目,提供了高效、稳定且可自定义的视频和音频播放解决方案。本文将深入解析如何在Android项目中集成并使用ijkplayer。 首先,...
ijkplayer是一款开源的跨平台多媒体播放器框架,主要由俄罗斯的Bilibili团队维护和开发。这个"ijkplayer0.8.8.rar"压缩包包含了ijkplayer的0.8.8版本,这是一个已经编译好的版本,适用于Android平台。用户在获取这个...