音视频学习-第一部分

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 的编解码库
这是 FFmpeg 的心脏,包含了各种音视频编解码器(如 H.264, AAC 等)。

核心编解码能力所在。

libavformat

基础库

封装/解封装库
负责处理容器格式(如 MP4, MKV, AVI),将音视频数据打包或拆包。

处理文件的“外壳”。

libavdevice

基础库

设备输入输出库
用于访问硬件设备,如摄像头、麦克风、声卡等。

连接物理硬件的桥梁。

libavfilter

基础库

实现各种滤镜
提供视频和音频的滤镜处理功能,如裁剪、缩放、加水印、调色等。

视频处理的特效库。

libswscale

基础库

图像缩放和颜色空间转换
专门负责图像的缩放(分辨率调整)和颜色格式转换。

图像处理专用。

libswresample

基础库

音频重采样和格式转换
专门负责音频的重采样(改变采样率)和格式转换。

音频处理专用。

libpostproc

基础库

后处理库
提供视频的后处理滤镜,用于改善画质(如去噪、锐化)。

用于提升视频观感。

libavresample

基础库

音频重采样库
旧版的音频重采样库。

已废弃,功能已被 libswresample 取代。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值