音视频基础

音视频基础

参考

音视频基本概念

编码与封装

MP4

TS

音视频编码格式

编码是指将原来的视频码流例如RGB流压缩,目的是减小数据量,否则传输的数据量很大,目前的带宽承载不了。

方法就是将相同数据做精简的描述,这里涉及到音视频的编码标准(不是编码算法),例如MPEG,H264,H265等。

常用名称制定机构发布标准编号标题典型应用领域
H.261ITU-T1990ITU-T H.261运动图像编码标准可视电话、会议电视、窄带ISDN
MPEG-1ISO/IEC1991ISO/IEC 11172运动图像和伴音的通用编码VCD等
JPEGITU-T ISO/IEC1992ITU-T T.81 ISO/IEC 10918静止图像编码数码相机、图像库等
MPEG-2ISO/IEC ITU-T1994ITU-T H.262 ISO/IEC 13818-2运动图像和伴音的通用编码数字电视传输、DVD
H.263ITU-T1995ITU-T H.263运动图像编码标准多媒体通信等
MPEG-4ISO/IEC2000ISO/IEC 14496-2基于对象的视音频编码网络视音频等
JPEG2000ISO/IEC2000ISO/IEC 15444-3静止图像编码图像库、数字电视等
H.264/AVC MPEG-4-10/H265/HEVCITU-T ISO/IEC2003ITU-T R. H.264 ISO/IEC 14496-10高级视频编码数字电视、多媒体通信等
VC-1SMPTE2006SMPTE 421M电视视频流格式和解码处理数字电视等
AVS/AVS+/AVS2/AVS3SAC(中国)2006GB/T 20090-2006信息技术 先进视音频编码数字电视、网络视频等
SVACSAC(中国)2010GB/T 25724-2010安全防范监控数字视音频编解码技术要求安防监控

音视频封装格式

编码后的码流,是纯数据流,但是在即将进入到播放器以后,怎么知道他是一个音视频而不是一个文件呢?怎么知道如何播放它?所以要进行封装也就是Mux复用。封装可以理解成把连续不断的数据码流装进一个一个容器里,也就是盒子,这个容器里不仅装了纯数据流,还装了很多操作说明对自己进行描述,以便能让终端知道怎么解析、怎么解码、怎么播放等。这个操作说明就是封装头。也就是每个容器里都会在原有数据流的基础上加一个封装头。常见的封装格式有哪些呢?

封装格式视频编码格式音频编码格式
MKVMPEG1/2/4 H.264/AVCMP3等
MP4MPEG-4 H.264/AVCMP3
TS

MP4封装格式

参考MP4

使用Box进行描述,一个视频被装进一个叫mp4的大盒子里,这个大盒子里面又装了很多用来描述、起控制作用的小盒子Box、还有装数据的小盒子。Box可以理解成一个对象,每个box里面可以装一些小box和数据。 MP4 最外层的 box 主要有三个,分别是 File Type box(ftyp box)、Movie box(moov box)和 Media Data box(mdat box)。其中最重要、最复杂的就是 moov box 了,它里面存放了音视频的基本信息和每一个音视频数据的具体位置。

另外,在 MP4 文件中,视频的一帧和音频的一段编码数据称为一个 sample。连续的几个 sample 称之为 chunk,而视频的所有 sample 称为一个视频 track,同样音频的所有 sample 也称为一个音频 track。

因此一般 MP4 文件是由音频 track 和视频 track 组成,而 track 由 sample 组成,其中若干个 sample 组成一个 chunk。

TS封装格式

参考TS精简

TS全称是MPEG2-TS。每个TS包都是可以独立播放的,可以认为是视频播放软件的最小播放单元,例如在我们用爬虫去爬一个视频的时候就是先找到一个m3u8索引文件,然后爬到CDN上存储的每个TS片段,对于每个TS都可以播放了,只不过电影会按照顺序去播放这些TS片段。

每个TS包是由两部分组成:TS HEADER、Payload

payload就是PES数据层,可能是PAT或者PMT或者基础码流等。TS HEADER里的PID字段会描述这个TS包是控制包(PAT 或PMT)还是普通的数据包即PES包。

PES就是基本码流ES的前面加上了时间戳。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值