Youtube视频码率,帧率,分辨率那些事

上一篇文章分析了YouTube视频传输规律,链接这里。本次聊一聊youtube视频码率,帧率,分辨率那些事。首先介绍如下几个概念:

视频分辨率:就是每英寸所需要的像素点数量,例如1080P所需像素点为1920×1080,720P所需像素点为1280×720等等。

码率:播放该视频每秒中所需要的数据量,可以粗略的认为是视频大小除以视频的可播放时常。由于现在视频的码率都是冬动态变化,因此通常码率指的就是平均码率。

帧率:视频是由一个个帧组成播放的,一帧就代表一副图像。每一秒所需的帧个数,就是帧率,当帧率达到24的时候,人的肉眼就无法分辨,图像就变成连续的视频了,通常youtube的帧率没有低于24的。

压缩比:由于视频都要经过某种形式的编码,也就是压缩,例如H.264,这样才能够保证视频不会太大。压缩比指的就是分辨率*帧率/码率,也就是压缩前的码率除以压缩后的码率。

YouTube视频码率,帧率,分辨率,编码方式,大小等各方面的信息,在这样一个网站可以查看,这里,如下图:
这里写图片描述

通过分析一些YouTube视频的信息发现了如下的一些规律:

1,Youtube存在两种封装方式,分别是webm和mp4,这两种封装格式相同分辨率下码率差别较大,推测其可能采用了不同的编码格式。Youtube的基本原则是流行的视频(一般的定义是浏览量查过一定次数,比如1000次)提供了webm和mp4两种封装,而不流行的视频则只有mp4封装。但是这并不是一成不变的,由于一个视频浏览量上千是很容易的一件事情,而google并不可能在浏览量到达一定次数后立即转码,猜测其可能是在固定的时间进行转码,我就遇到浏览量到达33万次依然之有mp4封装格式,这种一般是非常新的视频,比如一天以内的视频。总体的原则是热门视频提供两种封装格式,且播放时候只要客户端支持,都会采用webm封装格式进行播放。而一般冷门或者较新的视频播放采用的是mp4封装格式。

2,在上一篇文章,这里,曾经提到过,youtube视频和音频的传输是分开来的。这里面在Adaptive Formats中分别提供了音频和视频不同码率以及分辨率的相关信息。保证了传输过程中音视频的分开传输。而Stream Maps部分则提供了音视频没有分开情况下的链接,供下载之用。

3,对于同一个内容视频来说,可以看到,在同一种的编码格式(对应封装格式)下,码率是随着分辨率的增长而增长的。因为码率是由分辨率,帧率,压缩比来决定的,同一个视频,内容的复杂性保持一致,压缩比在个分辨率之间变化不大,同时帧率相同。可以观察发现相邻分辨率之间的码率差距在一倍左右。

4,对于不同的内容视频来说,情况较为复杂。如果视频的内容复杂程度相似的话,也会是有3中的规律的,即不同的视频其码率随着分辨率的增长成正比关系。但是youtube包含海量的视频,内容千差万别。即youtube视频的帧率以及每一帧的大小并不一致,例如对于一些简单动画来说,由于其内容变化较小同时内容较为简单,通常帧率较低,例如24fps,当然每一帧也较小;反之对于一些复杂的电影,由于其内容变化较大同时内容较为复杂,帧率较高,例如30fps,当然每一帧也较大。因此即使在相同的分辨率下,采用同样的编码方式,内容复杂的视频往往长度较大,因此其平均的码率较大。这种表现一般体现在一些简单的动画和电影之间的差距。可以找取简单动画和电影内容进行对比验证。

5,音频的码率是固定的几种方式。例如MP4封装格式的就一种,而对于webm封装格式的则有4种左右。可以想象不同分辨率的视频对应的音频码率可能都是一样的。同时音频的最高码率和144P视频的码率还是比较接近的。

6,这个网址所得到的码率是平均码率,由于一个视频前后内容复杂度可能相差很大,比如视频前半段是幻灯片播放,内容的变化小,这段的码率就很低,但是后半段可能是一个电影内容,内容复杂,码率较高,因此如果算一段时间的平均码率和整个视频的平均码率可能会不一致。

7,上一篇文章提到,使用google的工具可以观察每一种分辨率的视频传输块大小,在经过开始的几个块之后,其大小基本趋于稳定,比如稳定在1.8-2.0M 这样一个区间。块的大小和码率以及时长相关。如果该段时长内的平均码率等于整个视频的平均码率的话,可以推测该块的视频时长是固定的(相差也不会太多),而块的大小波动,就是在这段时间内码率波动所引起的。

本文为CSDN村中少年原创文章,转载记得加上小尾巴偶,博主链接这里

猜你喜欢

转载自blog.csdn.net/javajiawei/article/details/80991976