视频基础知识

1. 什么是视频

视频(Video)泛指将一系列静态影像以电信号的方式加以捕捉、纪录、处理、储存、传送与重现的各种技术。连续的图像变化每秒超过24帧(frame)画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面;看上去是平滑连续的视觉效果,这样连续的画面叫做视频。视频(Video)泛指将一系列静态影像以电信号的方式加以捕捉、纪录、处理、储存、传送与重现的各种技术。连续的图像变化每秒超过24帧(frame)画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面;看上去是平滑连续的视觉效果,这样连续的画面叫做视频。

视频的基本组成是一张一张的图片,那么计算机用什么来表现一张图片?参考看不见我,看不见我。 ???????

2. 视频分辨率是什么

上面说到视频是有一张张图片组成,那么视频分辨率是指视频成像产品所成图像的大小或尺寸。常见的视像分辨率有352×288,176×144,640×480,1024×768。在成像的两组数字中,前者为图片长度,后者为图片的宽度,两者相乘得出的是图片的像素,长宽比一般为4:3.

480P : 640 x 480 个像素点

720P : 1280 x 720 个像素点

1080P : 1920 x 1080 个像素点

然后还需要关注每个像素点的存储格式,每个像素点占用的字节大小。

3. 视频帧率是什么

视频是连续变化图像而成视频,那么帧率也称为FPS(Frames Per Second)- - - 帧/秒。是指每秒钟刷新的图片的帧数,也可以理解为图形处理器每秒钟能够刷新几次。越高的帧速率可以得到更流畅、更逼真的动画。每秒钟帧数(FPS)越多,所显示的动作就会越流畅。

关于帧率有如下几个基础数据:

帧率越高,cpu消耗就高

秀场视频直播,一般帧率20fps

普通视频直播,一般帧率15fps


4. 什么是视频编码和解码

前面说到视频是由许多许多图片组成,那么如果是高清的,每张图片都那么大,这个视频也就非常大,在传输过程中就非常的耗时,这个时候视频编码就来了,视频编码其实就是将没一张图片进行压缩,并且尽可能保证解码的图片的清晰度不变。

视频编码标准有两大系统: MPEG 和ITU-T,国际上制定视频编解码技术的组织有两个,一个是“国际电联(ITU-T)”,它制定的标准有H.261、H.263、H.263+、H.264等,另一个是“国际标准化组织(ISO)”它制定的标准有MPEG-1、MPEG-2、MPEG-4等。

常见编码格式有:

Xvid(MPEG4)

H264 (目前最常用编码格式)

H263

MPEG1,MPEG2

AC-1

RM,RMVB

H.265(目前用的不够多)

目前最常见的视频编码方式的大致性能排序基本是: MPEG-1/-2 < WMV/7/8 < RM/RMVB < Xvid/Divx < AVC/H.264(由低到高,可能不完全准确)。


5. 什么是码率

码流(Data Rate)是指视频文件在单位时间内使用的数据流量,也叫码率或码流率,通俗一点的理解就是取样率,是视频编码中画面质量控制中最重要的部分,一般我们用的单位是kb/s或者Mb/s。一般来说同样分辨率下,视频文件的码流越大,压缩比就越小,画面质量就越高。码流越大,说明单位时间内采样率越大,数据流,精度就越高,处理出来的文件就越接近原始文件,图像质量越好,画质越清晰,要求播放设备的解码能力也越高。

当然,码率越大,文件体积也越大,其计算公式是文件体积=时间X码率/8。例如,网络上常见的一部90分钟1Mbps码率的720P RMVB文件,其体积就=5400秒×1Mbps/8=675MB。

通常来说,一个视频文件包括了画面(视频)及声音(音频),例如一个RMVB的视频文件,里面包含了视频信息和音频信息,音频及视频都有各自不同的采样方式和比特率,也就是说,同一个视频文件音频和视频的比特率并不是一样的。而我们所说的一个视频文件码流率大小,一般是指视频文件中音频及视频信息码流率的总和。

6. 什么是视频格式

我们知道看视频不只有图像,还有声音,那么将音频和图像数据合起来放在一个容器中,这个容器就是视频的格式。

目前市面常见的存储封装格式有如下:

AVI (.avi)

ASF(.asf)

WMV (.wmv)

QuickTime ( .mov)

MPEG (.mpg / .mpeg)

MP4 (.mp4)

m2ts (.m2ts / .mts )

Matroska (.mkv / .mks / .mka )

RM ( .rm / .rmvb)

TS/PS

AVI : 可用MPEG-2, DIVX, XVID, WMV3, WMV4, AC-1, H.264

WMV : 可用WMV3, WMV4, AC-1

RM/RMVB : 可用RV40, RV50, RV60, RM8, RM9, RM10

MOV : 可用MPEG-2, MPEG4-ASP(XVID), H.264

MKV : 所有


7. 帧率、码率与分辨率之间关系

码率和帧率没有半毛钱关系

码率关系着带宽、文件体积

帧率关系着画面流畅度和cpu消耗

分辨率关系着图像尺寸和清晰度

8. 计算一个视频的大小

一个视频文件的大小为5.86M,播放时长为3分7秒

该文件对应的码率就是

5.86 * 1024 * 1024 * 8 / (3 * 60 + 7) = 262872.95657754bps

10M独享带宽能支撑的同时在线人数

10 * 1024 * 1024 / 262872.95657754 = 39.889078498294

支撑1000人同时在线的系统最少需要的带宽数为

262872 * 1000 / (1024 * 1024) = 250.69427490234M

10min,流量消耗41587KB

41587/10*60 = 69KB/s = 69 * 8 Kb/s = 532Kb/s

那么得到码率就是 532Kb/s

9. 一帧图像大小

一帧图像原始大小 = 宽像素 * 长像素 ,当然要考虑数据格式,因为数据格式不一样,大小写也不相同,一般数据采用rgb、yuv格式,如rgb32、yuv420、yuv422等。最常用的应当属于yuv420。 因此,计算公式为:

文件的字节数 = 图像分辨率 * 图像量化位数/8

图像分辨率 = X方向的像素数 * Y方向的像素数

图像量化数 = 二进制颜色位数

RGB24每帧的大小是

  size=width×heigth×3 Bit

RGB32每帧的大小是

  size=width×heigth×4

YUV420每帧的大小是

  size=width×heigth×1.5 Bit

举例说明,对于一个1024*768的图像实际的YUV422数据流大小就为:1024 *768 * 2 = 1572864bit


10. 常用视频输出参数

抖音的视频尺寸一般为宽高9:16的比例,分辨率为540*960。也可以使用更高分辨率的视频,例如720/1280、1080/1920等。也就是抖音视频尺寸没有固定,选择需要的分辨率就好,分辨率越高越清晰。


参考:

https://www.jianshu.com/p/c2ce926882c2

修改时间 2024-02-22

声明:本站所有文章和图片,如无特殊说明,均为原创发布。商业转载请联系作者获得授权,非商业转载请注明出处。
随机推荐
JavaScript 原生拖放
RESTful API 执行 delete 返回204无法获取 Body
Photoshop 使用插件支持 webp 格式的文件
Express 使用 cookie-session 处理 session
WordPress RESTful API 的授权方式
JWT 存储在 Cookie 和 Web Storage 的区别
JavaScript window 对象
JavaScript 事件流