正式开启FFmpeg总结,预计这个将是一个2-3年的时间线,或者更久,今天是从官方文档出发,带大家找到最小块的切入点。
http://ffmpeg.org/documentation.html
Command Line Tools Documentation(命令行工具概述)
一些ffmpeg使用时的基本命令,也是最基础的,也许你不用太熟悉FFmpeg里面代码是如何写的,如,我们只须要调用:
ffmpeg -i input.avi -r 24 output.avi
就可以把input.avi中的帧率变成24,输出output.avi就是24fps的视频。
ffmpeg:ffmpeg各种功能,gif , 格式转换,截图,编解码等
ffmpeg-all:包含ffmpeg工具及FFmpeg组件
ffplay:使用了 ffmpeg 和 sdl 库的、一个简单的可移植的媒体播放器
ffplay-all:包含ffplay工具及FFmpeg组件
ffprobe:用来查看多媒体文件的信息
ffprobe-all:包含ffprobe工具及FFmpeg组件
ffserver:流媒体服务器相关,负责响应客户端的流媒体请求,把流媒体数据发送给客户端。
ffserver-all:包含ffserver工具及FFmpeg组件
sample ffserver configuration file
Components Documentation(组件概述)
Utilities:libavutils提供的通用的features及工具
Video scaling and pixel format converter : 视频缩放和像素格式转换器
Audio resampler:音频重新取样
Encoders and decoders (codecs):编码和解码
Bitstream filters:码流过滤器
Muxers and demuxers (formats) :数据合成及数据分离
Protocols :协议
Input and output devices :输入和输出设备
Filters :过滤器
Libraries Documentation(类库概述)
libavutil :包含一些公共的工具函数的使用库,包括算数运算,字符操作;
libswscale : (原始视频格式转换)用于视频场景比例缩放、色彩映射转换;图像颜色空间或格式转换,如rgb565 rgb888等与yuv420等之间转换。
libswresample:原始音频格式转码
libavcodec : 用于各种类型声音/图像编解码;该库是音视频编解码核心,实现了市面上可见的绝大部分解码器的功能。
libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能;音视频的格式解析协议,为libavcodec分析码流提供独立的音频或视频码流源。
libavdevice:硬件采集、加速、显示。操作计算机中常用的音视频捕获或输出设备:ALSA,AUDIO_BEOS,JACK,OSS,1394,VFW。
-
libavfilter :filter(FileIO、FPS、DrawText)音视频滤波器的开发,如宽高比 、裁剪、 格式化、 非格式化、伸缩。
对照FFmpeg3.1.3,补充两个库: libavresample:音视频封转编解码格式预设等。
libpostproc:(同步、时间计算的简单算法)用于后期效果处理;音视频应用的后处理,如图像的去块效应。
General Documentation (文件概述)
Frequently Asked Questions :常见问题
Supported External Libraries, Formats, Codecs or Features : 支持扩展库,格式,编解码或特性
Platform Specific Information :平台具体信息
Developer Documentation :开发者概述
Git How-To : git
FATE FFmpeg Automated Testing Environment : FFmpeg 自动化测试环境