【读书会第13期】第一章多媒体处理工具FFmpeg工具

举报
suifeng1324 发表于 2022/07/13 16:06:41 2022/07/13
【摘要】 笔记参考来源:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXLO005+Self-paced/courseware/014ebf9587b6470caaaa088f8301e9fd/62e58085c0b6409c81a015d968d62c91/ FFmpeg的组成FFmpeg工程内部根据功能划分了不同的...

笔记参考来源:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXLO005+Self-paced/courseware/014ebf9587b6470caaaa088f8301e9fd/62e58085c0b6409c81a015d968d62c91/

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的组成

  1. AVFormat 是FFmpeg的封装模块,其中实现了目前多媒体领域中的绝大多数媒体封装格式,包括封装和解封装,比如MP4、 FLV、MKV、 TS等文件封装格式,RTMP、
    RTSP、HLS 等网络协议封装格式。另外,也支持自定义封装格式。
  2. AVCodec 是FFmpeg 的编解码模块,其中实现了目前多媒体领域中的绝大多数媒体编解码格式,包括编码和解码两大部分,比如MPEG4、 H264、 H265等视频格式,AAC、MP3等音频格式。另外,也支持自定义编解码格式。
  3. AVFilter是FFmpeg的滤镜模块,其中实现了目前通用的音频、视频、字幕等滤镜处理框架。
  4. AVDevice是 FFmpeg的设备管理模块,包括音频设备和视频设备。
  5. AVUtil是FFmpeg 的工具模块。
  6. swresample是FFmpeg 的音频转换模块,包括音频重采样、声道数调整等。
  7. swscale是FFmpeg 的视频图像转换模块,包括图像缩放、像素格式转换等。

FFmpeg的工具集

  1. ffmpeg是FFmpeg工具集中的编解码工具:ffmpeg工具主要用于编解码,ffmpeg的主要工作流程相对比较简单
  • 读取输入源
  • 进行音视频的解封装
  • 解码每一帧音视频数据
  • 编码每一帧音视频数据
  • 进行音视频的重写封装
  • 输出到目标
  1. ffplay是FFmpeg工具集中的播放器:在FFmpeg中通常使用ffplay作为播放器,其实ffplay同样也可以作为很多音视频数据的图形化分析工具,通过ffplay可以看到视频图像的运动估计方向、音频数据的波形等。ffplay不仅仅是播放器,同时也是测试ffmpeg的codec引擎、format引擎,以及filter引擎的工具,并且还可以进行可视化的媒体参数分析。
  2. ffprobe是FFmpeg工具集中的多媒体分析工具:ffprobe也是FFmpeg源码编辑后生成的一个可执行程序。ffprobe是一个非常强大的多媒体分析工具,可以从媒体文件或者媒体流获得你想要了解的媒体信息,比如音频的参数,视频的参数,媒体容器的参数信息等。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。