cmake 编译ffmpeg的Android 的 so文件的cmake内容

  1. 确保你的开发环境已经设置好,包括安卓NDK和相应版本的FFmpeg源码。

  2. 下载并配置FFmpeg源码。

复制代码
   git clone https://git.ffmpeg.org/ffmpeg.git

   cd ffmpeg
  1. 使用NDK-build或者cmake来编译FFmpeg。

  2. 在ffmpeg路径下,新建build.sh , 下载MYSYS,安装好后,cd 到build.sh 所在路径。build.sh 中内容如下: 编译版本支持 :

复制代码
armeabi-v7a', 'arm64-v8a',  'x86_64'

调整的自己的环境路径。

复制代码
#ndk工具链路径 -可配置
#FFmpeg源码路径  修改成为自己的路劲
SRC_DIR=E:/ffmpeg/ffmpeg
DST_DIR=E:/ffmpeg/ffmpeg/build_an


#NDK路径
NDK=D:/Android/SDK/ndk/28.0.12433566/toolchains/llvm/prebuilt/windows-x86_64
API=30
 
cd $SRC_DIR
 
function build_onearch
{
    echo ">> configure $CPU start"
    ./configure \
      --enable-cross-compile \
      --enable-postproc   \
      --enable-gpl    \
      --target-os=android  \
      --prefix=$DST_DIR/$ANDROID_ABI  \
      --cross-prefix=$CROSS_PREFIX  \
      --cc=$CC \
      --cxx=$CXX \
      --strip=$NDK/bin/llvm-strip \
      --nm=$NDK/bin/llvm-nm \
      --arch=$ARCH \
      --sysroot=$NDK/sysroot \
      --enable-shared --disable-static \
      --enable-small --disable-programs --disable-doc \
      --enable-asm --enable-neon \
      --enable-jni --enable-mediacodec \
      --disable-vulkan  #fatal error: 'vulkan_beta.h' file not found
     --cpu=$CPU  \
    echo "<< configure $CPU finish"
    make clean
    make
    make install
}

 #编x86-64动态库
ANDROID_ABI=x86-64
CPU=x86_64
ARCH=x86_64 
CROSS_PREFIX=$NDK/bin/x86_64-linux/x64
CC=${CROSS_PREFIX}clang
CXX=${CROSS_PREFIX}clang++
build_onearch


 #编arm64-v8a动态库
ANDROID_ABI=arm64-v8a
ARCH=arm64
CPU=armv8-a
CROSS_PREFIX=$NDK/bin/aarch64-linux-android$API-
CC=${CROSS_PREFIX}clang
CXX=${CROSS_PREFIX}clang++
build_onearch

 #编armeabi-v7a动态库
ANDROID_ABI=armeabi-v7a
ARCH=arm
CPU=armv7-a
CROSS_PREFIX=$NDK/bin/armv7a-linux-androideabi$API-
CC=${CROSS_PREFIX}clang
CXX=${CROSS_PREFIX}clang++
build_onearch
相关推荐
可乐鸡翅yeah_4 小时前
AES‑128 加密 M3U8,IV 初始化向量新手容易踩坑
前端·网络·数据库·ffmpeg·音视频·m3u8在线
执明wa1 天前
Android RecyclerView 实战:点击频道栏切换对应内容
android·开发语言·windows·microsoft·android studio
企业数字化笔记1 天前
视频视觉任务怎样选择媒体处理技术?FFmpeg、OpenCV、GStreamer 的职责与适用场景
ffmpeg·音视频·媒体
可乐鸡翅yeah_2 天前
网页端 M3U8 播放器性能监控,怎么看播放卡顿指标
javascript·ffmpeg·音视频·safari·m3u8
开开心心就好2 天前
超市定时播音软件,免费版支持循环播放
智能手机·ffmpeg·ocr·word·vim·音视频·visual studio
企业数字化笔记2 天前
视频成片怎么稳定导出?编码选择、GPU/CPU降级与媒体交付验收
java·python·ffmpeg
企业数字化笔记2 天前
视觉智能体怎么选技术?目标检测、跟踪、分割、OpenCV和FFmpeg的职责划分
opencv·目标检测·ffmpeg
kv1103 天前
Android studio国内开发有关
java·数据库·android studio
企业数字化笔记3 天前
视频字幕如何烧录到成片?硬字幕、软字幕、样式控制与播放验收
java·ffmpeg
AIGC小尼4 天前
MiniMax-H3 8G 显存 AI 漫剧进阶实战|ComfyUI 命令行调参、角色锁定与 FFmpeg 批量脚本全解析
人工智能·ffmpeg·comfyui·ai漫剧