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

libx264 for android编译(重点是看那个configure如何配置)

 
阅读更多
1.2 使用ndk编译x264
1.  下载源码并编译
$ cd /opt/android/ndk/android-ndk-r10e/resources
$ git clone http://git.videolan.org/git/x264.git
$ cd x264


修改configure文件
$ vim configure
将下面的这四句:
else
    echo "SOSUFFIX=so" >> config.mak
    echo "SONAME=libx264.so.$API" >> config.mak
    echo "SOFLAGS=-shared -Wl, -soname, \$(SONAME)$SOFLAGS" >> config.mak
中的这句:
    echo "SONAME=libx264.so.$API" >> config.mak
改成:
    echo "SONAME=libx264.so" >> config.mak
【保存并退出】


创建配置脚本
$ vim android_x264_configure.sh
#!/bin/bash 
NDK=/opt/android/ndk/android-ndk-r10e
SYSROOT=$NDK/platforms/android-9/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64


function build_one 
{
./configure \
    --prefix=$PREFIX \
    --enable-shared \
    --enable-static \
    --disable-gpac \
    --disable-cli \
    --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
    --host=arm-linux \
    --sysroot=$SYSROOT \
    --extra-cflags="-Os -fpic $ADDI_CFLAGS" \
    --extra-ldflags="$ADDI_LDFLAGS" \
    $ADDITIONAL_CONFIGURE_FLAG
}
CPU=arm
PREFIX=$(pwd)/android/$CPU
ADDI_CFLAGS=""

build_one
【保存并退出】


$ chmod +x android_x264_configure.sh
$ ./android_x264_configure.sh
platform:      ARM
byte order:    little-endian
system:        LINUX
cli:           no
libx264:       internal
shared:        yes
static:        yes
asm:           yes
interlaced:    yes
avs:           avxsynth
lavf:          no
ffms:          no
mp4:           no
gpl:           yes
thread:        posix
opencl:        yes
filters:       crop select_every
debug:         no
gprof:         no
strip:         yes
PIC:           yes
bit depth:     8
chroma format: all


You can run 'make' or 'make fprofiled' now.


$ make
$ make install
$ ls -R android
android:
arm


android/arm:
Android.mk  bin  include  lib


android/arm/bin:
x264


android/arm/include:
x264_config.h  x264.h


android/arm/lib:
libx264.a  libx264.so  pkgconfig


android/arm/lib/pkgconfig:
x264.pc


$ vim android/arm/Android.mk
LOCAL_PATH := $(call my-dir)


include $(CLEAR_VRS)
LOCAL_MODULE := libx264
LOCAL_SRC_FILES := lib/libx264.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_SHARED_LIBRARY)
分享到:
评论

相关推荐

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

    在FFmpeg中启用x264,需要在编译时指定`--enable-libx264`选项。编译完成后,生成的.so库文件将包含x264编码功能,可供Android应用调用。 3. **x265编码器** x265是HEVC(High Efficiency Video Coding)编码的...

    FFmpeg4.4.1 编译android so库包含x264

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

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

    - 使用适当的命令行参数配置FFmpeg编译,例如添加对libx264的支持。 - **编译过程** - 执行`make`开始编译过程。 - 编译完成后,将生成的库文件和头文件移动到指定位置。 #### 三、Android平台编译指南 ##### 1...

    ffmpeg x264 fdk-aac编译android so

    本教程将详细介绍如何在Android环境下编译FFmpeg,x264和fdk-aac生成对应的SO文件。 1. **环境准备** - 安装并配置NDK(Native Development Kit),这是Android平台开发C/C++原生代码的必备工具。 - 设置Android ...

    android ffmpeg全平台编译

    本篇将详细介绍如何在Android上编译全平台版本的FFmpeg,并支持h264软编码以及自定义编译参数。 一、FFmpeg简介 FFmpeg是一套由各种音视频处理工具组成的项目,包括命令行工具和C/C++库。它的核心是libavcodec...

    ffmpeg源码编译脚本

    - 使用`./configure`命令进行配置,根据需求添加或移除编译选项,例如`--enable-libx264`来启用H.264编码支持。 - 对于“单个库版”和“多个库版”,区别在于编译时启用的库数量。多个库版可能会包含更多编解码器...

    FFmpeg Android 编译以及普通调用

    3. 配置编译选项:使用NDK提供的`./configure`脚本,指定目标平台、编译器、优化级别等相关参数。例如: ``` ./configure --prefix=$HOME/ffmpeg-android --target-os=android --arch=armv7a --cpu=cortex-a8 --...

    ffmpeg全平台编译

    在本教程中,我们将探讨如何在多个平台上编译FFmpeg,特别关注Android平台,并支持h264软编码。这涉及到理解FFmpeg的源码结构、编译流程以及针对不同平台的配置选项。 首先,我们需要从FFmpeg官方网站下载源码,如...

    编译FFmpeg到Android studio中

    然后,根据你的Android Studio项目配置创建一个`build.sh`脚本,用于配置和编译FFmpeg。例如: ```bash #!/bin/bash export ANDROID_ABI="armeabi-v7a" export NDK_PATH="/path/to/your/ndk" export TOOLCHAIN=...

    pjsip包括pjsua2的linux编译 python&java.pdf

    包括但不限于`libasound2-dev`(声音处理开发包)、`libssl-dev`(SSL开发包)、`libx264-dev`(视频编解码包)等。 2. 下载PJLIB和PJSUA2的源代码。源代码需要从官方SVN仓库获取,如果源代码是从Windows系统下载的...

    ubuntu下编译AndroidFFmpegLibrary

    本文将深入讲解如何在Ubuntu环境下,编译适用于Android的FFmpeg库,并将重点放在源码编译和构建流程上。 首先,你需要确保你的Ubuntu系统已经安装了必要的编译工具和依赖项。这通常包括Git(用于克隆FFmpeg源码仓库...

    ijkplayer编译ffmpeg命令行头文件

    - 配置编译选项:`./configure --prefix=your_install_path --target-os=android --arch=armv7-a --cpu=cortex-a8 --disable-doc --enable-shared --disable-static --enable-cross-compile --sysroot=$NDK/...

    编译好ffmpeg so 文件用于安卓

    ./configure --target-os=android --arch=arm64 --cpu=armv8-a --cross-prefix=$NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android- --sysroot=$NDK/platforms/android-21/arch-arm64 --prefix=...

    ffmpeg x264编码

    ./configure --enable-libx264 ``` 配置完成后,执行`make`命令编译FFmpeg,编译过程中会链接x264库。如果一切顺利,你将得到一个包含了x264编码器的FFmpeg二进制文件。 在实际应用中,你可以使用FFmpeg的命令行...

    Linphone编译错误及解决方法

    Linphone编译错误及解决方法 Linphone是一款开源的VoIP电话软件,但是在编译过程中经常会遇到各种错误。这些错误可能是由于缺少依赖项、头文件、库文件等原因引起的。在这里,我们将列举一些常见的Linphone编译...

    已经编译好so库的 FFMPEG0.8.3

    3. 配置:使用configure脚本进行配置,指定目标平台(这里是Android)、编译选项和组件。 4. 编译:执行make命令,开始编译过程。 5. 安装:编译完成后,使用make install将库文件安装到指定目录。 在编译FFmpeg时...

    ffmpeg源码和编译脚本

    3. **配置编译选项**:进入源码目录,使用`configure`脚本来配置编译选项。你可以根据需要选择编译哪些组件、启用哪些特性。例如: ``` ./configure --enable-gpl --enable-nonfree --enable-libx264 --enable-...

    ffmepg的安卓arm(armeabi-v7a)版本

    -disable-network --enable-ffmpeg --enable-avcodec --enable-avformat --enable-avfilter --enable-swresample --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --...

    视频压缩-ffmpeg-的使用总结.zip

    本文将深入探讨FFmpeg的使用,重点在下载、编译、安装及配置,尤其关注在CentOS 7.6系统下的操作。 首先,让我们了解FFmpeg的下载。FFmpeg的源代码通常可以从其官方网站或者通过Git仓库获取。`ffmpeg-snapshot.tar....

    NDK开发——FFmpeg在Linux下编译、移植命令行、合并音视频.zip

    确保你的Linux系统安装了必要的依赖,如`sudo apt-get install build-essential`以获取基础的编译工具,`sudo apt-get install yasm`安装YASM汇编器,`sudo apt-get install libx264-dev libfaac-dev libmp3lame-dev...

Global site tag (gtag.js) - Google Analytics