`
chriszeng87
  • 浏览: 740976 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android编译ffmpeg+x264

阅读更多

编译x264:
下载最新版的x264
ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
1.解压到指定的目录
2.切换当前目录为该目录
3.创建一个shell脚本build_x264.sh,内容如下:

复制代码
export NDK=/home/robin/桌面/android-ndk-r8c
export PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt
export PLATFORM=$NDK/platforms/android-8/arch-arm 
export PREFIX=/home/robin/android-x264
./configure --prefix=$PREFIX \
--enable-static \
--enable-pic \
--disable-asm \
--disable-cli \
--host=arm-linux \
--cross-prefix=$PREBUILT/linux-x86/bin/arm-linux-androideabi- \
--sysroot=$PLATFORM
复制代码

执行如下命令编译和安装
make
sudo make install
sudo ldconfig
编译ffmpeg:
下载最新版的ffmpeg
http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
1.解压到指定的目录
2.切换当前目录为该目录
3.创建一个shell脚本build_ffmpeg.sh,内容如下:

复制代码
#!/bin/sh
export PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt
export PLATFORM=$NDK/platforms/android-8/arch-arm
export PREFIX=/home/robin/android-x264

build_one(){
./configure --target-os=linux --prefix=$PREFIX \
--enable-cross-compile \
--enable-runtime-cpudetect \
--disable-asm \
--arch=arm \
--cc=$PREBUILT/linux-x86/bin/arm-linux-androideabi-gcc \
--cross-prefix=$PREBUILT/linux-x86/bin/arm-linux-androideabi- \
--disable-stripping \
--nm=$PREBUILT/linux-x86/bin/arm-linux-androideabi-nm \
--sysroot=$PLATFORM \
--enable-nonfree \
--enable-version3 \
--disable-everything \
--enable-gpl \
--disable-doc \
--enable-avresample \
--enable-demuxer=rtsp \
--enable-muxer=rtsp \
--disable-ffplay \
--disable-ffserver \
--enable-ffmpeg \
--disable-ffprobe \
--enable-libx264 \
--enable-encoder=libx264 \
--enable-decoder=h264 \
--enable-protocol=rtp \
--enable-hwaccels \
--enable-zlib \
--disable-devices \
--disable-avdevice \
--extra-cflags="-I/home/robin/android-x264/include -fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated -mfloat-abi=softfp -mfpu=vfpv3-d16 -marm -march=armv7-a" \
--extra-ldflags="-L/home/robin/android-x264/lib"

make -j4 install


$PREBUILT/linux-x86/bin/arm-linux-androideabi-ar d libavcodec/libavcodec.a inverse.o

$PREBUILT/linux-x86/bin/arm-linux-androideabi-ld -rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -L$PREFIX/lib  -soname libffmpeg.so -shared -nostdlib  -z,noexecstack -Bsymbolic --whole-archive --no-undefined -o $PREFIX/libffmpeg.so libavcodec/libavcodec.a libavfilter/libavfilter.a libavresample/libavresample.a libavformat/libavformat.a libavutil/libavutil.a libswscale/libswscale.a -lc -lm -lz -ldl -llog -lx264 --warn-once --dynamic-linker=/system/bin/linker $PREBUILT/linux-x86/lib/gcc/arm-linux-androideabi/4.4.3/libgcc.a
}

build_one
复制代码

执行build_ffmpeg.sh编译完成,编译输出在$PREFIX指定的目录

原文:http://hi.baidu.com/duizhe_memory/item/482e6fd6ccfee7fa93a974be

 

转自:http://www.cnblogs.com/uvsjoh/archive/2013/04/01/2994301.html

分享到:
评论

相关推荐

    android ffmpeg+libx264+libx265

    在Android的ARM平台上,编译FFmpeg需要考虑处理器架构,因为不同的ARM架构可能需要不同的优化。通常会为armeabi、armeabi-v7a、arm64-v8a等架构分别编译对应的库。在这个压缩包"ff-onelib"中,可能包含的是针对某种...

    Android下ffmpeg+opencv开发模板(Eclipse版本)

    要在Android下从事音视频开发,绕不开ffmpeg+opencv,不管是初学者还是有一定经验的程序,面临的首要问题就是环境的搭建和库文件的编译配置等问题,特别是初学者,往往会在实际开发前浪费大量的时间来编译ffmpeg及...

    ffmpeg+x264+x265—Win+安卓平台编译

    本文档旨在详细介绍如何在Windows环境下以及Android平台上编译FFmpeg、x264和x265。这对于希望在不同平台上进行音视频处理开发的开发者来说非常重要。 #### 二、Windows平台编译指南 ##### 1. 准备工作 - **下载...

    ffmpeg+x264.zip

    在编译FFmpeg和x264时,通常需要编写特定的编译脚本来配置和构建这两个项目,使其适应Android平台。编译脚本可能会涉及设置交叉编译环境、选择要编译的组件、设置目标架构等步骤。这个压缩包可能不包含编译脚本,但...

    Android编译ffmpeg+测试工程

    总之,Android编译FFmpeg并构建测试工程涉及到FFmpeg的源码获取、配置、编译、库集成、JNI接口设计、Java调用以及最终的测试与调试。这个过程虽然复杂,但完成后的应用将具备强大的音视频处理能力。

    andorid_ffmpeg+x264

    集成FFmpeg+x264到Android应用中,通常需要将预编译的库文件(如`libffwith264.so`)添加到项目的jniLibs目录下,并通过Java Native Interface (JNI) 进行调用。在Java代码中,可以创建并初始化`AVFormatContext`、`...

    ffmpeg+x264解码器支持x86_64、armv7、arm64、i386架构的静态库

    FFmpeg+x264 解码器支持多种处理器架构,包括 x86_64(适用于64位的Intel或AMD处理器)、armv7(针对ARM架构的V7版本)、arm64(适用于64位ARM设备,如现代的Android和iOS设备)以及 i386(32位Intel处理器)。...

    android ffmpeg x264编译脚本

    这篇我们将深入探讨如何在Android环境中编译FFmpeg并集成x264。 首先,你需要理解Android的NDK(Native Development Kit),这是一个用于开发原生C/C++代码的工具集,使得我们可以在Android平台上使用像FFmpeg这样...

    ffmpeg6.0+x264 ndk 编译 支持 x86 arm64-v8

    ffmpeg6.0 x264 支持h264_mediacodec 解码编码

    android ffmpeg h264编译脚本

    "build-scripts-of-ffmpeg-x264-for-android-ndk-master"这个压缩包文件很可能包含了一系列用于编译FFmpeg和x264(H264的开源实现)的脚本。这些脚本会指导编译过程,包括选择要编译的组件、指定目标架构、设置优化...

    高分项目,基于FFmpeg4.0+X264+mp3lame编译的适用于 Android 平台的音视频编辑、视频剪辑的快速处理框架

    高分项目,基于FFmpeg4.0+X264+mp3lame编译的适用于 Android 平台的音视频编辑、视频剪辑的快速处理框架 基于 ( FFmpeg 4.0 + X264 + mp3lame + fdk-aac + opencore-amr + openssl ) 编译的适用于 Android 平台的音...

    android ffmepg+x264 编译好的库

    5. **编译库**:运行`ndk-build`或`cmake`命令,编译FFmpeg和x264库。编译过程中可能会遇到依赖库的问题,需要确保所有依赖项都已正确安装。 6. **测试和集成**:编译完成后,将生成的SO库添加到Android项目的jni...

    android ffmpeg4.1.3 x264 编译脚本.zip

    在编译FFmpeg和x264时,还需要注意以下几点: - 安装依赖:在Ubuntu环境下,可能需要安装一些编译依赖,如`build-essential`、`yasm`、`libssl-dev`等。 - 设置环境变量:需要设置`ANDROID_NDK`指向NDK的路径,`JAVA...

    FFmpeg4.4.1 编译android so库包含x264

    这两个文件会指导Android编译系统如何编译和链接FFmpeg及其依赖。 5. **执行构建**:运行`make`命令进行编译,这将在指定的`--prefix`目录下生成所需的.so文件。确保在正确的Android ABI目录下找到这些库。 6. **...

    基于【ffmpeg+x264+mp3lame】 编译,适用于 Android 平台的音频编辑、视频剪辑.zip

    【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 ... 【项目质量】: 所有源码都经过严格测试,...

    ffmpeg android so/a 支持x264、x265、xfade

    总结,将FFmpeg与x264、x265和xfade整合到Android应用中,是一项涉及编译、JNI接口、音视频处理等多个层面的工作。通过这一过程,开发者可以为用户提供强大的音视频编辑功能,满足多样化的多媒体需求。

    ffmpeg-2.2.16+x264.tar.gz

    3、然后在build_ffmpeg.sh中指定x264编译出来的lib和include目录,4、执行build_ffmpeg.sh编译ffmpeg生成相应的静态库文件,最后再结合你想要的静态库和你写的调用ffmpeg的接口生成相应的so文件,供Android中应用...

    Android_ffmpeg3.2.1(带libX264库)

    2. **编译FFmpeg**:为了在Android上运行,FFmpeg需要进行交叉编译,这通常涉及到设置NDK环境,定义目标平台、架构和编译选项。编译过程会生成适用于Android的静态库文件,如libavcodec.a和libx264.a。 3. **添加...

    android ffmpeg x264 aac 一键编译脚本包含readme使用方法

    使用ndk编译ffmpeg x264 faac使用该脚本可以一键编译完成,编译的生成的库比较小,方便快捷。使用android ndk-r9d编译测试通过,特别适合jni方法调用更适合qt for android 开发。

    ffmpeg3.3.9+lame3.99.5+fdkaac+x264.zip

    此压缩包"ffmpeg3.3.9+lame3.99.5+fdkaac+x264.zip"是FFmpeg的一个特定版本(3.3.9),已经预先编译并集成了几个重要的编解码库,使得在不同平台上使用更加方便。这些编解码器包括: 1. **lame3.99.5**: LAME是一个...

Global site tag (gtag.js) - Google Analytics