说明:
FFmpeg可以用来进行音视频编解码,添加水印,rtmp推流等一系列处理,可以使用命令执行,或者使用api调用。
FFmpeg的音视频编码是一种软编码,可以支持各种编码器的设置。以下将基于fdk-aac音频和x264视频编码进行展开。其中,fdk-aac是对音频进行aac编码,x264是对视频进行h264编码,二者都需要跟ffmepg一起进行编译生成Android所需的so文件。
如下提供一份具体的编译脚本,只针对armv7a。
1.x264编译:
vi /etc/ld.so.conf
加入:/usr/local/lib
安装git: sudo apt-get install git
下载x264: git clone https://code.videolan.org/videolan/x264.git
创建build_x264文件: touch build_x264
vi build_x264
添加如下内容:
#!/bin/bash
export NDK=/home/work/ndk-dir/android-ndk-r13b
export SYSROOT=$NDK/platforms/android-22/arch-arm
export TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin
export ARCH=arm
export CPU=armv7a
export API=22
export TARGET=i686-linux-android
export PREFIX=/usr/local
exp