帧率
用于测量显示帧数的单位,所谓的测量单位为每秒显示的帧数,英文表示FPS或HZ。每秒现实的帧数或者刷新频率关系到我们观看视频时画质的好坏。通常我们以这样一个情景作为描述这个词汇作为切入点,小时候都做过手工动画,就是在很多纸张上描绘不同的图画,然后快速的翻动,形成一帧一帧的画面连起来就呈现出了动画的概念当我们的纸张足够多的时候我们观看的动画的动作就会越清晰,同样这就是相同时间内你翻看的纸张越多你的fps就越大。通常我们30fps就可以接受了,当然提高到60就会越来越清晰,这是越高越好吗?不是的当你达到75fps人眼就察觉不出什么变化来了,可能有人说30我也看不出,那想观察这些变化,拿手机摄像头打开相机冲着你家的电视(老式电视),可以观看这些。
分辨率
不做详细说明
刷新率
通常是电视和显示器卖家用来忽悠买家的
编码格式
编码的目的就是为了压缩,过去我们的经历过录像带->VCD->DVD->4K->8K,这些如果都是原始数据的话,一步电影将会是很大的容量。当然有用原始数据的吗?答案是有的,电影院的原片,有的用的就是原始数据,这也就是原片是一个庞大的存在。
封装格式
- mkv
- avi
- ts
- mp4
码率
以比特率为单位
DTS和PTS
- DTS:即Decode Time Stamp,主要用于标示读入内存中的比特流在什么时候开始送入 解码器中进行解码
- PTS:即Presentation Time Stamp,主要用于度量解码后的视频帧什么时候显示出来
YUV与RGB
- YUV:411、420、422、444
4:4:4表示完全取样;
4:2:2表示2:1的水平取样,垂直完全采样;
4:2:0表示2:1的水平取样,垂直2:1采样;,
4:1:1表示4:1的水平取样,垂直完全采样;
面试常问这块,记忆法:Y代表明亮度(luma;brightness)而U与V存储色度(色讯;chrominance;color)部分;亮度(luminance)记作Y,而Y的prime符号记作伽玛校正; - RGB:省略
视频帧与音频帧
视频帧
- I帧,关键帧,表示最全画面信息的帧,例如画面中设计到的元素最全的,故而一个视频中必须包含最少一帧关键帧 ,一般情况下第一帧是关键帧,这里说的是一般情况。我们的一个视频解码应该从第一帧I开启,但是网络流播放的时候也是遵循这个原理,但是基于网络条件和多种情况下有可能造成第一帧也就是I帧的丢失,依据这个原理。网络流播放解码我们也是会先去找到I帧,所以网络流中不止一个I帧,就可以理解了。
- P帧,官方话:表示这一帧和之前关键帧的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别生成最终的画面。真能啰嗦,下面为介绍完B帧一起说
- B帧,双向差别帧,何为双向差别,说明了B处于I和P之间,跟I帧的差别与P的差别他都要记录,叠加才能形成画面,也就是这里对于性能要求极高,本身B帧的压缩率高加上需要对比前后的数据,所以非常好性能。
下面上图
从下往上看PTS可以理解为你看视频的顺序,从开头到结尾,这里想像成这是开头的15帧画面,那么PTS必然是1->15;DTS上文介绍了它是解码器解码的顺序,对照看下从I帧开始我们先去找P帧,找到P帧,这个时候有画面吗?还没有,它需要前面的B帧,顺序我们有个原则B帧以离I帧最近原则所以1、3、4、2的顺序各位理解了吗?
如果不形象请去雷神的博客(致敬雷神)(https://blog.csdn.net/leixiaohua1020/article/details/34553607)
下载videoeye去实际播放一个视频看下这里面的顺序
音频帧
- pcm
自行百度 - amr
20ms的音频是1帧,每一帧都是独立的 - mp3
自行百度
上一篇文章《音视频开发准备篇》