FFmpeg概述和库的组成
背景
ffmpeg bin工具 可能无法满足产品的使用,于是需要通过传参调用ffmpeg库,即在通过更底层的方式使用它。
FFmpeg 介绍
FFmpeg是领先的多媒体框架,能够解码,编码,转码,复用,解复用,流,过滤和播放人类和机器创造的任何东西。它支持最多种类的编码格式。无论他们是由某个标准委员会,社区或公司设计的。
它也非常便于携带:FFmpeg在各种构建环境,机器体系结构和配置下编译,运行并通过Linux,Mac OS X,Microsoft Windows,BSD,Solaris等测试基础架构FATE。
它包含:
1.库:可供应用程序使用的libavcodec,libavutil,libavformat,libavfilter,libavdevice,libswscale和libswresample支持类库。
2.工具:ffmpeg,ffplay和ffprobe应用程序可供最终用户用于转码和播放。
FFmpeg Tools
ffmpeg用于在不同格式之间转换多媒体文件的命令行工具;
ffplay 基于SDL和FFmpeg库的简单媒体播放器;
ffprobe个简单的多媒体流分析器;
FFmpeg Libraries for developers:
libavutil是一个包含简化编程功能的库,包括随机数生成器,数据结构,数学例程,核心多媒体实用程序等等。
libavcodec是一个包含音频/视频编解码器解码器和编码器的库。
libavformatis a library containing demuxers and muxers for multimedia container formats.
libavdevice是一个包含输入和输出设备的库,用于抓取并渲染许多常见的多媒体输入/输出软件框架,包括Video4Linux,Video4Linux2,VfW和ALSA。
libavfilter是一个包含媒体过滤器的库。
libswscale是一个执行高度优化的图像缩放和色彩空间/像素格式转换操作的库。
libswresample是一个库,用于执行高度优化的音频重采样,重新矩阵化和采样格式转换操作。