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
本地路径:这个比较全,四种播放方式都有,问题流媒体播放无控制,太快太慢都报错。
/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