AndroidFFmpeg

来源:互联网 发布:开淘宝的经验分享 编辑:程序博客网 时间:2024/05/23 00:03
https://github.com/appunite/AndroidFFmpeg.git

本地路径:这个比较全,四种播放方式都有,问题流媒体播放无控制,太快太慢都报错。



/lbg/android/ffmpeg/AndroidFFmpeg

https://github.com/appunite/AndroidFFmpeg

在jni目录下面有子模块:


sudo apt-get install autoconf libtool make autoconf-archive automake pkg-config
git submodule init
git submodule update

问题:子模块太多,下载不完
git clone https://github.com/appunite/AndroidFFmpeg.git AndroidFFmpeg
cd AndroidFFmpeg
git submodule init
git submodule sync #if you are updating source code
git submodule update
cd library-jni
cd jni
download libyuv and configure libs

./fetch.sh
build external libraries Download r8e ndk: https://dl.google.com/android/ndk/android-ndk-r8e-darwin-x86_64.tar.bz2 or https://dl.google.com/android/ndk/android-ndk-r8e-linux-x86_64.tar.bz2

Now it should also support r10e

export ANDROID_NDK_HOME=/your/path/to/android-ndk
build ffmpeg库: /lbg/android/ffmpeg/AndroidFFmpeg/library-jni/jni
build_android.sh中直接增加也可以:
set -x
export ANDROID_NDK_HOME=/lbg/android/android-ndk-r8e
sudo ./build_android.sh
make sure that files library-jni/jni/ffmpeg-build/{armeabi,armeabi-v7a,x86}/libffmpeg.so was created, otherwise you are in truble

build ndk jni library (in library-jni directory)

export PATH="${PATH}:${ANDROID_NDK_HOME}"
source /etc/profile
ndk-build          #只能用r8版本,12版本报错。
 异常:
 Cannot find module with tag 'cpufeatures' in import path

make sure that files library-jni/libs/{armeabi,armeabi-v7a,x86}/libffmpeg.so was created, otherwise you are in truble

build your project

./gradlew build
More codecs

If you need more codecs:

edit build_android.sh
add more codecs in ffmpeg configuration section
remove old ffmpeg-build directory by

rm -r ffmpeg-build
build ffmpeg end supporting libraries

./build_android.sh
During this process make sure that ffmpeg configuration goes without error.

After build make sure that files FFmpegLibrary/jni/ffmpeg-build/{armeabi,armeabi-v7a,x86}/libffmpeg.so was created, otherwise you are in truble

build your ndk library

ndk-build
另一种编译方法:
http://blog.csdn.net/huangqbio2/article/details/24413629

git clone https://review.appunite.com/androidffmpeg AndroidFFmpeg
cd AndroidFFmpeg

git submodule init
git submodule sync #if you are updating source code
git submodule update
cd FFmpegLibrary
cd jni
download libyuv

# I hate svn too :)

svn checkout http://libyuv.googlecode.com/svn/trunk/libyuv


setup freetype environemtn
cd freetype
./autogen.sh
cd ..

setup fribidi environemtn
cd fribidi
autoreconf -ivf
cd ..

setup libogg environemtn——我自己走的
cd libogg
autoreconf -ivf
cd ..

setup libass environemtn
cd libass
autoreconf -ivf
cd ..
setup vo-aacenc environment
cd vo-aacenc
autoreconf
cd ..

setup vo-amrwbenc environment
cd vo-amrwbenc
autoreconf
cd ..

build external libraries
export NDK=/your/path/to/android-ndk
./build_android.sh

make sure that files
FFmpegLibrary/jni/ffmpeg-build/{armeabi,armeabi-v7a,x86}/libffmpeg.so
was created, otherwise you are in truble
build ndk jni library
ndk-build

make sure that files FFmpegLibrary/libs/{armeabi,armeabi-v7a,x86}/libffmpeg.so was created, otherwise you are in truble

build your project

android update lib-project -p FFmpegLibrary

android update project -p FFmpegExample

cd FFmpegExample

ant debug

ant installd


or create new projects from FFmpegLibrary and FFmpegExample source directories in your eclipse.

Run FFmpegExample as your android project.

If you have adt >= 20.0 you can click right mouse button on project
and FFmpegLibrary project and "Android->Add native support".

## More codecs

If you need more codecs:

- edit build_android.sh

- add more codecs in ffmpeg configuration section

- remove old ffmpeg-build directory by


rm -r ffmpeg-build

- build ffmpeg end supporting libraries
./build_android.sh

During this process make sure that ffmpeg configuration goes without error.

After build make sure that files
FFmpegLibrary/jni/ffmpeg-build/{armeabi,armeabi-v7a,x86}/libffmpeg.so
was created, otherwise you are in truble

- build your ndk library


ndk-build

- refresh your FFmpegLibrary project in eclipse!!!!

- build your FFmpegExample project


## Credits

Library made by Jacek Marchwicki from Appunite.com

- Thanks to Martin Böhme for writing tutorial: http://www.inb.uni-luebeck.de/~boehme/libavcodec_update.html

- Thanks to Stephen Dranger for writing tutorial: http://dranger.com/ffmpeg/

- Thanks to Liu Feipeng for writing blog: http://www.roman10.net/how-to-port-ffmpeg-the-program-to-androidideas-and-thoughts/

- Thanks to ffmpeg team for writing cool stuff http://ffmpeg.org

- Thanks to Alvaro for writing blog: http://odroid.foros-phpbb.com/t338-ffmpeg-compiled-with-android-ndk

- Thanks to android-fplayer for sample code: http://code.google.com/p/android-fplayer/

- Thanks to best-video-player for sample code: http://code.google.com/p/best-video-player/

- Thanks to Robin Watts for his work in yuv2rgb converter http://wss.co.uk/pinknoise/yuv2rgb/

- Thanks to Mohamed Naufal (https://github.com/hexene) and Martin
Storsjö (https://github.com/mstorsjo) for theirs work on sample code for
 stagefright/openmax integration layer.

- Thanks www.fourcc.org for theirs http://www.fourcc.org/yuv.php page

- Thanks to Cedric Fungfor his blog bost: http://vec.io/posts/use-android-hardware-decoder-with-omxcodec-in-ndk

- Thanks Google/Google chrome/Chromium teams for libyuv library https://code.google.com/p/libyuv/

- Thanks to Picker Wengs for this slides about android multimedia stack
http://www.slideshare.net/pickerweng/android-multimedia-framework    
1 0
原创粉丝点击