当前位置: 首页 > article >正文

android api 34 编译ffmpeg with libfdk-aac

  • 利用ffmpeg-android-maker编译,地址Javernaut/ffmpeg-android-maker: Contains a script that assembles FFmpeg library for Android (github.com)
  • libfdk-aac编译脚本
#!/bin/bash
NDK=$ANDROID_NDK_HOME  # 这里需要替换成你本地的 NDK 路径
HOST_TAG=linux-x86_64
TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/$HOST_TAG
ANDROID_LIB_PATH="$(pwd)/android"

API=34

function build_android
{
echo "Build fdk-aac for android $CPU"
./configure \
--host=$HOST \
--enable-shared \
--enable-static \
--prefix="$ANDROID_LIB_PATH/$CPU" \
 CPPFLAGS="-fPIC"

make clean
make -j8
make install
echo "Build fdk-aac for android $CPU completed"
}

# armeabi-v7a
CPU=armv7-a
HOST=arm-linux-android
export AR=$TOOLCHAIN/bin/llvm-ar
export AS=$TOOLCHAIN/bin/llvm-as
export LD=$TOOLCHAIN/bin/ld
export RANLIB=$TOOLCHAIN/bin/llvm-ranlib
export STRIP=$TOOLCHAIN/bin/llvm-strip
export CC=$TOOLCHAIN/bin/armv7a-linux-androideabi$API-clang
export CXX=$TOOLCHAIN/bin/armv7a-linux-androideabi$API-clang++
#export LD=${CC}
build_android

# arm64-v8a
CPU=armv8-a
HOST=aarch64-linux-android
export AR=$TOOLCHAIN/bin/llvm-ar
export AS=$TOOLCHAIN/bin/llvm-as
export LD=$TOOLCHAIN/bin/ld
export RANLIB=$TOOLCHAIN/bin/llvm-ranlib
export STRIP=$TOOLCHAIN/bin/llvm-strip
export CC=$TOOLCHAIN/bin/aarch64-linux-android$API-clang
export CXX=$TOOLCHAIN/bin/aarch64-linux-android$API-clang++
#export LD=${CC}
build_android
  • 修改ffmpeg-android-maker/scripts/ffmpeg/build.sh 中 configure部分内容,这里添加了disable-doc,否则会报cc1错误
./configure \
  --prefix=${BUILD_DIR_FFMPEG}/${ANDROID_ABI} \
  --enable-cross-compile \
  --target-os=android \
  --arch=${TARGET_TRIPLE_MACHINE_ARCH} \
  --sysroot=${SYSROOT_PATH} \
  --cc=${FAM_CC} \
  --cxx=${FAM_CXX} \
  --ld=${FAM_LD} \
  --ar=${FAM_AR} \
  --as=${FAM_CC} \
  --nm=${FAM_NM} \
  --ranlib=${FAM_RANLIB} \
  --strip=${FAM_STRIP} \
  --extra-cflags="-O3 -fPIC $DEP_CFLAGS" \
  --extra-ldflags="$DEP_LD_FLAGS" \
  --enable-shared \
  --disable-static \
  --disable-vulkan \
  --enable-nonfree \
  --enable-libfdk-aac \
  --disable-doc \
  --pkg-config=${PKG_CONFIG_EXECUTABLE} \
  ${EXTRA_BUILD_CONFIGURATION_FLAGS} \
  $ADDITIONAL_COMPONENTS || exit 1
  • export PKG_CONFIG_PATH=${FDK_PKG_CONFIG_PATH}:${PKG_CONFIG_PATH},即fdk-aac生成的pkgconfig路径
  • ./ffmpeg-android-maker.sh -abis=arm64 -android=34

http://www.kler.cn/a/273782.html

相关文章:

  • 欧拉公式和傅里叶变换
  • Spring 项目 基于 Tomcat容器进行部署
  • 功能篇:mybatis中实现缓存
  • 计算机网络之---数据传输与比特流
  • SpringBoot3动态切换数据源
  • 如何使用进度条来显示QFle读取文件进度
  • Linux docker1--环境及docker安装
  • 【Excel自动化办公】使用openpyxl对Excel进行读写操作
  • 服务器病毒木马通用排查处理应急响应流程
  • 使用RabbitMQ,关键点总结
  • Samtec科普 | 一文了解患者护理应用连接器
  • 【Unity】层(Layer)详解
  • 玩转电商新趋势!淘宝商品评论电商API接口助你一臂之力
  • RPC学习笔记一
  • MySQL常用命令总结
  • 图论题目集一(代码 注解)
  • 使用rrweb悄悄录制用户操作过程
  • 蓝桥杯决赛2023 RE CyberChef2
  • 抖音视频爬虫工具安装|视频无水印批量下载软件
  • 递归算法c++
  • 什么是软件开发?软件开发阶段划分是什么?并以LabVIEW为例进行说明
  • 【小程序配置服务器域名】详细讲解
  • bs4模块
  • MyBatis3源码深度解析(十四)SqlSession的创建与执行(一)Configuration与SqlSession的创建过程
  • React的基本使用
  • 嵌入式学习40-数据结构