FFmpeg 是一个非常优秀的多媒体框架, FFmpeg 可以运行在Linux,Mac,Windows等平台上。FFmpeg 主要作用能够解码,编码,转码,复用,解复用,过滤音视频数据。

FFmpeg 编译后文件目录:

 libavcodec:包含音视频编码器和解码器
 libavutil:包含多媒体应用常用的简化编程的工具,如随机数生成器、数据结构、数学函数等功能
 libavformat:包含多种多媒体容器格式的封装、解封装工具
 libavfilter:包含多媒体处理常用的滤镜功能
 libavdevice:用于音视频数据采集和渲染等功能的设备相关
 libswscale:用于图像缩放和色彩空间和像素格式转换功能
 libswresample:用于音频重采样和格式转换等功能

多媒体文件基本概念:

1)多媒体文件MP4,FLV 其实是个容器

2)容器里面有很多流(Stream/Track), 比如音频流,视频流,字幕流

3)每种流由不同的编码器编码,比如音频aac, 视频h264,h265.

4)  从流中读取的数据称为包 (packet).

5) 每个包含有一个或多个帧(frame)。

FFmpeg中重要结构体:

AVFormatContext:  格式上下文

AVStream: 流

AVPacket: 包

AVFrame: 帧

AVCodec: 编解码器

AVCodecContext:  编解码器上下文

SwrContext:  重采样上下文

 

FFmpeg 处理音视频流程:

FFmpeg 基础概念

相关文章:

  • 2021-09-09
  • 2021-11-05
  • 2022-01-08
  • 2022-12-23
  • 2021-12-03
  • 2021-11-30
  • 2021-12-10
猜你喜欢
  • 2021-08-08
  • 2021-05-31
  • 2021-10-24
  • 2022-12-23
  • 2021-10-05
相关资源
相似解决方案