1.音视频的应用
直播类:音视频会议、教育直播、娱乐/游戏直播等;
音视频通话:QQ、微信、Skype等;
网络视频:腾讯视频、爱奇艺、优酷视频等;
短视频:抖音、快手、小咖秀等;
视频监控:海康、大华等;
人工智能:人脸识别、智能音箱等。
按用途来分类:
FFmpeg作为内核视频播放器: VLC、Mplayer、ffplay、ijkplayer、暴风影音、KMPlayer、QQ影音;
FFmpeg作为内核转码工具: ffmpeg、格式工厂;
FFmpeg作为内核Directshow: ffdshow、lav filters;
其他知名软件: 钉钉、微信、Google Chrome.
FFmpeg可以被用来做什么?
开发音视频播放器(ffmpeg+SDL/Qt)
开发流媒体服务器/在线直播(ffmpeg+Live555/libRTMP)
提取可移植的codec算法(音频、视频)
开发编解码、转码器(ffmpeg+libx264/libx265)
视频会议(ffmpeg+webrtc)
辅助工具,后处理(postproc+libavutils)
CV训练工具(ffmpeg+opencv)
2.简介
全称Fast Forward MovingPicture Experts Group,是领先的多媒体框架,提供了音
视频的编码、解码、转码、封装、解封装、流、滤镜、播放等功能。
几乎支持所有的音视频格式,高度可移植,跨平台:Linux、Mac、Windows等,采
用LGPL/GPL发布。
3.历史简介
2000年:
法国天才程序员Fabrice Bellard开发出初版。
2004年:
Michael Niedermayer接手并维护至今,其将滤镜子系统libavfilter加入FFMPEG项目中,
使得FFMPEG处理多媒体更加多样化,更加方便。
2011年:
FFMPEG项目的一些提交者对项目管理方式不满,构建了另外一个新项目Libav.
2015年8月:
Michael Niedermayer主动辞去FFMPEG项目负责人职务,并
从Libav项目中移植了大量代码和功能到FFMPEG中。
4.组成部分
FFmpeg 核心模块功能详解
|
模块名称 |
所属分类 |
主要功能与用途 |
备注 |
|---|---|---|---|
|
ffmpeg |
命令行工具 |
转码命令行工具 |
例如将 MP4 转成 AVI。 |
|
ffplay |
命令行工具 |
基于 SDL 的简单播放器 |
适合在命令行环境下快速预览视频。 |
|
ffprobe |
命令行工具 |
用于获取多媒体流信息 |
相当于媒体文件的“体检报告”。 |
|
ffserver |
命令行工具 |
实时流媒体服务器 |
已废弃,现在通常使用 Nginx 或其他流媒体服务器替代。 |
|
libavutil |
基础库 |
通用工具库 |
其他库都依赖它。 |
|
libavcodec |
基础库 |
实现大部分的 Audio、Video 的编解码库 |
核心编解码能力所在。 |
|
libavformat |
基础库 |
封装/解封装库 |
处理文件的“外壳”。 |
|
libavdevice |
基础库 |
设备输入输出库 |
连接物理硬件的桥梁。 |
|
libavfilter |
基础库 |
实现各种滤镜 |
视频处理的特效库。 |
|
libswscale |
基础库 |
图像缩放和颜色空间转换 |
图像处理专用。 |
|
libswresample |
基础库 |
音频重采样和格式转换 |
音频处理专用。 |
|
libpostproc |
基础库 |
后处理库 |
用于提升视频观感。 |
|
libavresample |
基础库 |
音频重采样库 |
已废弃,功能已被 libswresample 取代。 |
823

被折叠的 条评论
为什么被折叠?



