Android编译X264、fdkaac和FFmpeg

本文详述了在Linux环境下,如何为Android平台交叉编译x264、fdkaac和FFmpeg的过程。首先介绍了所需的环境配置,包括VMware、Ubuntu和NDK环境的设置。接着详细阐述了编译每个组件的步骤,如修改FFmpeg的configure文件,编写并执行编译脚本,针对不同CPU架构进行编译。最终,在编译完成后,生成的.so库文件可用于Android Studio中的JNI调用,实现摄像头采集编码和rtsp推流功能。

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

先放一下FFmpeg的地址:FFmpeg链接

最近刚好要做摄像头的采集编码以及rtsp推流。这里主要用到了ffmeng进行压缩和推流,x264对视频编码,音频编码采用fak-acc。本文主要记录一下交叉编译ffmeng的过程。

环境配置

此次编译还是在linux上完成。需要VMware和ubuntu系统。

配置ndk环境可以参考上一篇文章ijkplayer编译

编译前先下载 FFmpegfdk-aacx264 的源码。

下载FFmpeg源码以后,需要对源码中的configure文件进行修改,这样编译出来的so文件名才能被Android平台识别。

SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'  
LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAM