【读书会第13期】第一章多媒体处理工具FFmpeg工具
【摘要】 笔记参考来源:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXLO005+Self-paced/courseware/014ebf9587b6470caaaa088f8301e9fd/62e58085c0b6409c81a015d968d62c91/ FFmpeg的组成FFmpeg工程内部根据功能划分了不同的...
FFmpeg的组成
FFmpeg工程内部根据功能划分了不同的模块,包括AVFormat、AVCodec、AVFilter、AVDeivce、AVUtil、swresample、swscale.
FFmpeg的发展
FFmpeg是一个多媒体开源项目,项目地址:https://github.com/FFmpeg/FFmpeg
FFmpeg是最早由法国天才程序员布里斯.贝拉在2000年开发的,后来一直快速发展至今,当前最新版本是5.0
目前,FFmpeg已经被很多开源项目采用,如ijkplayer、VLC、MPlayer、Blender、Google Chrome等。
FFmpeg的组成
- AVFormat 是FFmpeg的封装模块,其中实现了目前多媒体领域中的绝大多数媒体封装格式,包括封装和解封装,比如MP4、 FLV、MKV、 TS等文件封装格式,RTMP、
RTSP、HLS 等网络协议封装格式。另外,也支持自定义封装格式。 - AVCodec 是FFmpeg 的编解码模块,其中实现了目前多媒体领域中的绝大多数媒体编解码格式,包括编码和解码两大部分,比如MPEG4、 H264、 H265等视频格式,AAC、MP3等音频格式。另外,也支持自定义编解码格式。
- AVFilter是FFmpeg的滤镜模块,其中实现了目前通用的音频、视频、字幕等滤镜处理框架。
- AVDevice是 FFmpeg的设备管理模块,包括音频设备和视频设备。
- AVUtil是FFmpeg 的工具模块。
- swresample是FFmpeg 的音频转换模块,包括音频重采样、声道数调整等。
- swscale是FFmpeg 的视频图像转换模块,包括图像缩放、像素格式转换等。
FFmpeg的工具集
- ffmpeg是FFmpeg工具集中的编解码工具:ffmpeg工具主要用于编解码,ffmpeg的主要工作流程相对比较简单
- 读取输入源
- 进行音视频的解封装
- 解码每一帧音视频数据
- 编码每一帧音视频数据
- 进行音视频的重写封装
- 输出到目标
- ffplay是FFmpeg工具集中的播放器:在FFmpeg中通常使用ffplay作为播放器,其实ffplay同样也可以作为很多音视频数据的图形化分析工具,通过ffplay可以看到视频图像的运动估计方向、音频数据的波形等。ffplay不仅仅是播放器,同时也是测试ffmpeg的codec引擎、format引擎,以及filter引擎的工具,并且还可以进行可视化的媒体参数分析。
- ffprobe是FFmpeg工具集中的多媒体分析工具:ffprobe也是FFmpeg源码编辑后生成的一个可执行程序。ffprobe是一个非常强大的多媒体分析工具,可以从媒体文件或者媒体流获得你想要了解的媒体信息,比如音频的参数,视频的参数,媒体容器的参数信息等。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)