QT结合FFmpeg学习笔记(4)——基本概念

1. 基本概念

  1. 多媒体文件是一个容器
  2. 在容器里面有很多流(Stream/Track),比如音频流,视频流,字幕流。
  3. 每一种流是有不同编码器编码的
  4. 从流读出的数据简成包
  5. 在一个包里面包含着一个或者多个帧

2.几个重要的结构体

  1. AVFormatContext 格式上下文
    他是连接多个ffmpegAPI的一个桥梁。
    比如:在处理流的时候就要传入这个结构体,有了这个上下文,我就知道我要处理的是这一个多媒体文件,而不是其他的多媒体文件。
  2. AVSteam
    通过这个结构体来获取流。
  3. AVPacket
    有了流就可以读取流中一个个的包,拿到包我们就可以获取到包里的帧。有了帧我们就可以使用解码器获得一些原始数据的音频、视频等。在行车记录仪项目中,就是使用这些原始数据在使用OpenGL绘制出来的。

3.FFmpeg操作流数据的基本步骤

在这里插入图片描述
首先我们拿到一个MP4文件,然后进行解复用,再进行获取流,读取数据包,释放资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值