ffmpeg是一个开源的音视频编解码工具,很多音视频播放器和转码器都将其作为内核。
ffmpeg的组成结构
- libavcodec encoding/decoding library
- libavutil common utility library
- libavformat I/O and muxing/demuxing library
- libavfilter graph-based frame editing library
- libavdevice special devices muxing/demuxing library
- libswscale color conversion and scaling library
- libswresample audio resampling, format conversion and mixing
- libpostproc post processing library
环境部署
ffmpeg官网提供三个不同版本的下载,
版本 | 介绍 | 总结 |
---|---|---|
static | 包含了三个体积较大的exe:ffmpeg.exe、ffplay.exe和ffprobe.exe,所有dll已经编译到exe中去了 | 产品化的东西,小型项目直接使用 |
shared | 也包含了这三个exe,体积更小,运行时动态调用dll链接库 | 产品化的东西,适用于大型项目 |
dev | 包含的是lib包和头文件 | 适用于开发使用 |
从官网上下载dev版本,然后将include目录添加到项目的包含目录中,lib目录添加到项目的库文件目录中,将几个lib文件的名字添加到编译器的输入中。
shared版exe程序的使用
常见使用命令参数
如果仅仅想实现功能上的快速开发,可以直接调用exe:
- ffmpeg是用来转码的
- ffplay是用来播放的