公司最近在做关于android手机组播视频软解的项目,提到软解就会想到ffmpeg,但是ffmpeg是解码算法而不是播放器(容器),ffmpeg自带容器是基于linux的SDL,手机是用不了。上网搜了一圈,其实VLC是挺适合,但是他依赖的东西太多,至今还没有编译成功过。无意中发现有个叫vitamio的播放器,挺简单的和支持硬件,因此继续分析下去。
官方网站 https://www.vitamio.org 还以为是国外的,进去看原来是中文的,可惜是好像已经有2-3年没有更新信息了。不过还好,代码还有更新
编译环境: Ubuntu 12.04.4 LTS,64位
下载关于vitamio的ffmpeg源代码 https://github.com/yixia/FFmpeg-Vitamio,不过ffmpeg不是最新的是几年前的版本
1.提示You must define ANDROID_NDK before starting
编译ffmpeg需要android的SDK,NDK,注意的是vitamio是基于ndk8b编译的,但是ndk8b好像是没有64位的系统(找了几天都没有发现),试了ndk11的64位会编译错误,后来找了个64位ndk9d,可以编译通过。
ndk9d地址 http://dl.google.com/android/ndk/android-ndk-r9d-linux-x86_64.tar.bz2
sdk地址 http://dl.google.com/android/android-sdk_r23-linux.tgz
下载ndk,sdk
2.提示Please clone from git@github.com:yixia/OpenSSL-Vitamio.git, and run ndk-build
下载OpenSSL-Vitamio
进入OpenSSL-Vitamio,然后运行ndk路径/ndk-build
path.sh添加
编译10几分钟,生成libffmpeg.so(build\android文件夹有4个不同架构)
提交android代码里面的libffmpeg.so即可
抽时间移植一下最新版本的ffmpeg
官方网站 https://www.vitamio.org 还以为是国外的,进去看原来是中文的,可惜是好像已经有2-3年没有更新信息了。不过还好,代码还有更新
编译环境: Ubuntu 12.04.4 LTS,64位
下载关于vitamio的ffmpeg源代码 https://github.com/yixia/FFmpeg-Vitamio,不过ffmpeg不是最新的是几年前的版本
git clone https://github.com/yixia/FFmpeg-Vitamio
./build_android.sh
1.提示You must define ANDROID_NDK before starting
编译ffmpeg需要android的SDK,NDK,注意的是vitamio是基于ndk8b编译的,但是ndk8b好像是没有64位的系统(找了几天都没有发现),试了ndk11的64位会编译错误,后来找了个64位ndk9d,可以编译通过。
ndk9d地址 http://dl.google.com/android/ndk/android-ndk-r9d-linux-x86_64.tar.bz2
sdk地址 http://dl.google.com/android/android-sdk_r23-linux.tgz
下载ndk,sdk
wget http://dl.google.com/android/ndk/android-ndk-r9d-linux-x86_64.tar.bz2
wget http://dl.google.com/android/android-sdk_r23-linux.tgz
新建文件path.sh,添加配置
vim path.sh
export NDK=/data/vitamio/android-ndk-r9d
export ANDROID_SDK=/data/vitamio/android-sdk-linux
export ANDROID_NDK=/data/vitamio/android-ndk-r9d
export ANDROID_ABI=armeabi-v7a
export NO_NEON=1
启动配置,运行脚本
source path.sh
./build_android.sh
2.提示Please clone from git@github.com:yixia/OpenSSL-Vitamio.git, and run ndk-build
下载OpenSSL-Vitamio
git clone https://github.com/yixia/OpenSSL-Vitamio
编译OpenSSL-Vitamio
进入OpenSSL-Vitamio,然后运行ndk路径/ndk-build
path.sh添加
export SSL=/data/vitamio/OpenSSL-Vitamio
source path.sh
./build_android.sh
编译10几分钟,生成libffmpeg.so(build\android文件夹有4个不同架构)
提交android代码里面的libffmpeg.so即可
抽时间移植一下最新版本的ffmpeg