1.FFmpeg
1.简介
FFmpeg是一个开源免费跨平台的音视频流方案,采用LGPL或GPL许可证。提供了音视频的录制、转换、编码、解析以及流化音视频的完整解决方案。它包含了非常多的工具库。
libavcodec:处理原始音视频流的解码。
libavformat:处理解析视频文件并将包含在其中的流分离出来。
libavutil:处理音视频相关的工具。
libavdevice:处理音视频输入输出设备相关。
libavfilter:处理音视频滤镜。
libswscale:处理视频格式转换与大小缩放、色彩转换。
libswresample:处理音视频重采样。
libpostproc:处理后期音视频效果。
2.编译FFmpeg
1.资源准备
FFMpeg
下载选项:
NDK
编译脚本
#!/bin/bash
set -x
CPU=armv7-a
API=21
OUTPUT=/Users/dz0400149/ffmpeg/$CPU
TOOLCHAIN=/Users/dz0400149/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64
SYSROOT=$TOOLCHAIN/sysroot
./configure \
--disable-yasm \
--enable-version3 \
--prefix=$OUTPUT \
--enable-gpl \
--enable-neon \
--disable-static \
--enable-shared \
--disable-doc \
--disable-small \
--disable-programs \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--arch=arm \
--cpu=$CPU \
--enable-cross-compile \
--sysroot=$SYSROOT \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi-
--cross_prefix_clang=$TOOLCHAIN/bin/armv7a-linux-androideabi$API- \
--target-os=android \
--extra-cflags="-fpic" \
编译成功之后文件目录如下
\