Ubuntu 10.10 64bit下使用Android NDK r6编译FFmpeg 0.8.1
2011-08-05 14:30
393 查看
编译过程参考在 Mac OS X 下使用 Android NDK r5b 编译 FFmpeg 0.8
FFmpeg 0.8.1
ffmpeg-0.8.1.tar.gz 解压到 /home/pekall/Projects_private/FFmpegPlayer/lib 目录下
将目录/home/pekall/Projects_private/FFmpegPlayer/lib/ffmpeg-0.8.1 重命名为/home/pekall/Projects_private/FFmpegPlayer/lib/jni
以下几个属性需要根据ndk安装的位置做相应的修改
cross-prefix
extra-cflags
extra-ldflags
1.下载NDK r6和FFmpeg 0.8.1
Android NDK r6FFmpeg 0.8.1
2.解压缩
android-ndk-r6-linux-x86.tar.bz2 解压到 /home/pekall/opt 目录下,并将NDK的路径加入到PATH环境变量中ffmpeg-0.8.1.tar.gz 解压到 /home/pekall/Projects_private/FFmpegPlayer/lib 目录下
将目录/home/pekall/Projects_private/FFmpegPlayer/lib/ffmpeg-0.8.1 重命名为/home/pekall/Projects_private/FFmpegPlayer/lib/jni
3.编写FFmpeg配置脚本
在目录/home/pekall/Projects_private/FFmpegPlayer/lib/jni下新建脚本文件config.sh,并加上可执行权限。./configure \
--disable-static \
--enable-shared \
--enable-gpl \
--enable-version3 \
--enable-nonfree \
--disable-doc \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-avdevice \
--disable-avfilter \
--disable-postproc \
--enable-small \
--cross-prefix=/home/pekall/opt/android-ndk-r6/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi- \
--enable-cross-compile \
--target-os=linux \
--extra-cflags='-I/home/pekall/opt/android-ndk-r6/platforms/android-9/arch-arm/usr/include' \
--extra-ldflags='-L/home/pekall/opt/android-ndk-r6/platforms/android-9/arch-arm/usr/lib -nostdlib' \
--arch=arm \
--disable-symver \
--disable-debug \
--disable-stripping \
sed -i 's/HAVE_LRINT 0/HAVE_LRINT 1/g' config.h
sed -i 's/HAVE_LRINTF 0/HAVE_LRINTF 1/g' config.h
sed -i 's/HAVE_ROUND 0/HAVE_ROUND 1/g' config.h
sed -i 's/HAVE_ROUNDF 0/HAVE_ROUNDF 1/g' config.h
sed -i 's/HAVE_TRUNC 0/HAVE_TRUNC 1/g' config.h
sed -i 's/HAVE_TRUNCF 0/HAVE_TRUNCF 1/g' config.h
以下几个属性需要根据ndk安装的位置做相应的修改
cross-prefix
extra-cflags
extra-ldflags
4.编写Android.mk文件
可以通过这个链接获得,内容和参考的文件完全相同5.生成FFmpeg配置文件
打开终端,在/home/pekall/Projects_private/FFmpegPlayer/lib/jni目录下执行config.sh6.编译FFmpeg
打开终端,在/home/pekall/Projects_private/FFmpegPlayer/lib目录下执行ndk-build,编译完成之后会在/home/pekall/Projects_private/FFmpegPlayer/lib/libs/armeabi目录下生成大约5.4M的文件libffmpeg.so相关文章推荐
- Ubuntu 10.10 64bit下使用Android NDK r6编译FFmpeg 0.8.1
- Ubuntu 10.10 64bit下使用Android NDK r6编译FFmpeg 0.8.1
- 在ubuntu 10下使用Android-ndk-r6b成功编译ffmpeg0.8.1
- 在Ubuntu10.10下采用Android NDK r6b 编译开源项目ffmpeg0.8.1
- 在32位的Ubuntu 11.04中为Android NDK r6编译FFmpeg0.8.1版-Android中使用FFmpeg媒体库(一)
- 在32位的Ubuntu 11.04中为Android NDK r6编译FFmpeg0.8.1版-Android中使用FFmpeg媒体库(一)
- 在 Ubuntu 下使用 Android NDK r4b 编译 FFmpeg 0.6.3
- 在 Ubuntu 下使用 Android NDK r4b 编译 FFmpeg 0.6.3
- 在32位的Ubuntu 11.04中为Android NDK r6编译FFmpeg0.8.1版-Android中使用FFmpeg媒体库(一)
- 在 Ubuntu 下使用 Android NDK r4b 编译 FFmpeg 0.6.3
- 在 Ubuntu 下使用 Android NDK r4b 编译 FFmpeg 0.6.3
- Android NDK r6编译FFmpeg 0.8.1
- 在 Ubuntu 下使用 Android NDK r4b 编译 FFmpeg 0.6.3
- 在 Ubuntu 下使用 Android NDK r4b 编译 FFmpeg 0.6.3
- Ubuntu 12.04中Android NDK r8d 编译 FFmpeg 0.11.1 并使用
- 在 Ubuntu 下使用 Android NDK r4b 编译 FFmpeg 0.6.3
- ubuntu中使用android ndk编译ffmpeg.
- Cygwin下用Android NDK r6b编译ffmpeg -0.8.1
- 在 Ubuntu 下使用 Android NDK r4b 编译 FFmpeg 0.6.3
- 在 Windows 7 下使用 Android NDK r5c 编译 FFmpeg 0.7.1