【音视频】ffmpeg android端调试指南

背景:

本文旨在Android端导入和调试ffmpeg使用,作为工具文档简化初次入门使用难度。

下载 FFmpeg源码:

cpp 复制代码
git clone https://github.com/FFmpeg/FFmpeg.git

编译FFmpeg源码:

创建Android端编译脚本:

bash 复制代码
#!/bin/bash
API=21
NDK=/Users/admin/Downloads/android-ndk-r21e
PREBUILT=$NDK/toolchains/llvm/prebuilt/darwin-x86_64
PREFIX= /Users/admin/CoderApp/democode/FFmpeg/build/arm64-v8a

CONFIGURE_FLAGS="
--disable-programs \
--disable-avdevice \
--disable-swresample \
--disable-swscale \
--disable-postproc \
--disable-avfilter \
--disable-network \
--disable-everything \
--enable-jni \
--enable-mediacodec \
--enable-decoder=h264_mediacodec \
--enable-decoder=hevc_mediacodec \
--enable-demuxer=h264 \
--enable-demuxer=mov \
--enable-protocol=file"

./configure \
$CONFIGURE_FLAGS \
--target-os=android \
--arch=aarch64 \
--enable-cross-compile \
--cross-prefix=$PREBUILT/bin/aarch64-linux-android- \
--prefix=$PREFIX \
--cc=$PREBUILT/bin/aarch64-linux-android$API-clang \
--cxx=$PREBUILT/bin/aarch64-linux-android$API-clang++

编译产物运行:

bash 复制代码
make -j8 > export.txt

将其中的.o文件替换为.c添加到后续的CmakeList.txt的编译脚本中。

bash 复制代码
CC      libavformat/avio.o
CC      libavformat/allformats.o
CC      libavformat/aviobuf.o
CC      libavformat/dovi_isom.o
CC      libavformat/demux.o
CC      libavformat/dump.o
CC      libavformat/file.o
CC      libavformat/format.o
CC      libavformat/h264dec.o
CC      libavformat/id3v1.o
CC      libavformat/id3v2.o
CC      libavformat/isom.o
CC      libavformat/isom_tags.o
CC      libavformat/metadata.o
CC      libavformat/mov.o
CC      libavformat/mov_chan.o
CC      libavformat/mov_esds.o
CC      libavformat/mux.o
CC      libavformat/options.o
CC      libavformat/os_support.o
CC      libavformat/qtpalette.o
CC      libavformat/protocols.o
CC      libavformat/rawdec.o
CC      libavformat/replaygain.o
CC      libavformat/riff.o
CC      libavformat/riffdec.o
CC      libavformat/sdp.o
CC      libavformat/seek.o
CC      libavformat/url.o
CC      libavformat/utils.o
........

Android Studio导入FFmpeg源码:

创建Android demo过程,选择任意activity;

创建model,nativelib工程:

配置环境和编译过程:

Android平台调试 FFmpeg:

相关推荐
Icoolkj21 分钟前
可灵 AI:开启 AI 视频创作新时代
人工智能·音视频
xianrenli383 小时前
android特许权限调试
android
*拯6 小时前
Uniapp Android/IOS 获取手机通讯录
android·ios·uni-app
天天打码8 小时前
Lynx-字节跳动跨平台框架多端兼容Android, iOS, Web 原生渲染
android·前端·javascript·ios
SuperW9 小时前
视频编码原理讲解一:VCL层和NAL层的讲解
音视频
lilili啊啊啊10 小时前
iOS safari和android chrome开启网页调试与检查器的方法
android·ios·safari
Blue.ztl12 小时前
菜鸟之路day31一一MySQL之多表设计
android·数据库·mysql
练习本16 小时前
Android系统架构模式分析
android·java·架构·系统架构
Panesle19 小时前
HunyuanCustom:文生视频框架论文速读
人工智能·算法·音视频·文生视频
每次的天空21 小时前
Kotlin 内联函数深度解析:从源码到实践优化
android·开发语言·kotlin