之前对ffmpeg有一个模糊的印象,后来经过一些项目对ffmpeg有了深入的认识,这里总结下。
最开始对ffmpeg的印象是可以对视频进行一些处理操作,但是做哪些操作又不是很清楚,知其然不知其所以然。下面对于ffmpeg的功能进行一个总结,希望对大家有个帮助。
- ffmpeg可以实现对视频文件、网络摄像头的音视频流拉取(拉流功能)
- ffmpeg可以实现桌面截图功能/或者读取摄像头(libavdevice)
- ffmpeg可以实现推流功能
- ffmpeg可以实现对音视频编码格式、封装格式的转换(libavcodec、libavformat)
- ffmpeg可以实现图片像素格式转换,图像缩放等操作,对应的模块(libswscale)
- ffmpeg支持滤镜功能(libavfilter)
- ffmpeg提供了多媒体应用常用的简化编程的工具,如随机数生成器、数据结构、数学函数等(libavutil)
ffmpeg编译完成后会生成3个可执行文件
- ffmeg:实现了音视频的编解码功能
- ffprobe:实现了多媒体流的分析
- ffserver:实现了流媒体服务器功能(ffmpeg4.0后的版本已经没有ffserver,流媒体服务器可以选择其它开源流媒体服务器)
- ffprobe:实现了多媒体体播放器的功能