2019 最新 Android 平台 ffmpeg 4.1.3 编译流程 集成x264编码库 生成so文件

本文详细介绍了如何在Ubuntu环境下,使用NDK r19c编译FFmpeg 4.1.3并集成x264编码库,生成针对不同CPU架构的动态库文件。主要步骤包括编辑三个脚本:生成工具链脚本、编译x264库脚本和编译ffmpeg库脚本。编译完成后,动态库文件将存放在ffmpeg-install目录下,可用于Android Studio的视频播放功能开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注意:此方法在windows平台上使用MSYS环境不可行。并且NDK版本变化快,仅供参考

改良自博客 原文 毛毛v5 ffmpeg android ndk编译,还是用的gcc,不会配置clang版的
编译环境

1 Ubuntu 64位(2020/5/19更新:windows环境下,安装自带linux子系统 ubuntu测试成功)
2 NDK r19c
3 FFmpeg 4.1.3 源码 (可以不提前下载,2020/5/19更新:4.2.2版本测试成功)
4 x264源码(可以不提前下载,2020/5/19更新:最新版本测试成功)

最近在从源码编译视频框架,但网上很多脚本都是两三年前的,不适用于最近的版本ffmpeg ,或者只针对特定cpu架构的。

编译过程 ,整个过程就编辑3个脚本文件即可。
1 下载NDK r19c (我试过 其他版本的NDK,无法完成整个过程)

1 编辑 安卓NDK工具链脚本。找一个目录 终端进入 键入 touch make_android_toolchain.sh ,创建一个脚本。文本编辑器进行编辑 输入下面的内容

#!/bin/bash
#NDK目录,你要改成自己的ndk解压缩后所在的目录
export NDK_HOME=/home/akbot/Android/android-ndk-r19c
#生成交叉编译链工具
toolchain=${NDK_HOME}/build/tools/make-standalone-toolchain.sh
#生成交叉编译链保存在当前目录子文件夹android-toolchain
install_root=`pwd`/android-toolchain-r19

#生成32位库最低支持到android4.3,64位库最低支持到android5.0
platforms=(
  "android-18"
  "android-18"
  "android-21"
  "android-18"
  "android-21"
)
#支持以下5种cpu框架
archs=(
  "arm"
  "arm"
  "arm64"
  "x86"
  "x86_64"
)
#cpu型号
abis=(
  "armeabi"
  "armeabi-v7a"
  "arm64-v8a"
  "x86"
  "x86_64"
)
echo $NDK_HOME
echo "安装在目录:$install_root"

num=${#abis[@]}

for ((i=0; i<num; i++))
do
   bash $toolchain --arch=${archs[i]} --platform=${platforms[i]} --abis=${abis[i]} --install-dir=$install_root/${abis[i]}
done

这个脚本是使用NDK自带的工具链生成工具生成编译所需要的命令行工具集,真正做编译链接流程。

2 接着在相同文件夹下创建第二个脚本,编译x264库。终端打开当前目录 输入 touch android_build_x264.sh 创建脚本 ,用文本编辑器打开

#!/bin/bash

ROOT=`pwd`/
#配置交叉编译链,未生成交叉编译链请参考https://github.com/cwj2014/android_toolchain
export TOOL_ROOT=$ROOT/android-toolchain-r19
#五
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值