FFmpeg 的 API 库一共有 8 个,如下图:
1,swscale ,视频数据 处理类库,例如提供了 sws_scale 函数来做 像素格式和分辨率的转换,还有一些处理视频的滤波函数。sw 应该是 SoftWare 的缩写。 2,swresample ,音频数据 处理类库,例如提供了 swr_convert 函数 来实现 音频数据的重采样。 3,postproc,视频后处理库,提供了一些视频相关的函数,但是有很多函数没有实现,或者实现了一半,如下:
所以 libpostproc 应该是一个实验性的库,不用管。
4,avutil,a 代表 audio,v 代表 vedio,所以 avutil 是一个 与 音频,视频都相关的工具类。 avutil 这个库的主要函数分为以下几类。
-
流媒体相关的函数,例如 av_frame_get_pkt_duration,av_frame_get_pkt_pos。
-
内存管理函数,例如 av_malloc 跟 av_free 。
-
数学相关的函数,例如 av_mod_i,a