简介和准备工作
一、FFmpeg
FFmpeg是一套开源的、业界领先的多媒体框架,可以用来记录、转换数字音频、视频,并能将其转化为流。很多的视音频方案都离不开FFmepg,比如著名的VLC、MPlayer等。FFmpeg官网:http://ffmpeg.org/。
二、FFmpeg包含的开发库
- libavutil:是一个包含简化编程的函数库,包括随机数生成器、数据结构、数学例程、核心多媒体实用工具等等。
- libavcodec:是一个包含解码器和译码器的库,用于音频/视频编解码,也是音视频开发的重点库。
- libavformat:是一个包含了组合和拆分音视频的库,可以将视音频合并成一个文件(如mp4),也可以将其拆分为音视频。
- libavdevice:是一个包含输入和输出设备的库,用于抓取和呈现许多常见的多媒体输入/输出软件框架。
- libavfilter:是一个包含媒体过滤器的库。
- libswscale:是一个执行高度优化的图像缩放和彩色空间/像素格式转换操作的库,简单说就是图像格式转换(如yuv转rgb),是一个和视频处理相关的重点库。
- libswresample:是一个执行高度优化的音频重采样、重新矩阵和示例格式转换操作的库,简单说就是音频格式转换,是一个和音频处理相关的重点库。
三、FFmpeg编译和下载
FFmpeg官方源码