视频开发小白入门

视频小白入门


 

1、引言

    如今我们所处的时代,是移动互联网时代,也可以说是视频时代。

    从快播到抖音,从“三生三世”到“三十而已”,我们的生活,被越来越多的视频元素所影响。

视频开发小白入门_第1张图片

 

而这一切,离不开视频拍摄技术的不断升级,还有视频制作产业的日益强大。

 

此外,也离不开通信技术的飞速进步。

试想一下,如果还是当年的56K Modem拨号,或者是2G手机,你还能享受到现在动辄1080P甚至4K的视频体验吗?

视频开发小白入门_第2张图片

除了视频拍摄工具和网络通信技术升级之外,

我们能享受到视频带来的便利和乐趣,还有一个重要因素,就是视频编码技术的突飞猛进。

 

视频编码技术涉及的内容太过专业和庞杂,市面上的书籍或博客多数都只是枯燥的技术概念罗列,对于新手来说读完后依然糊里糊涂,我打算将借此机会,专门给大家做一个关于视频编码的零基础科普。


 

2、目录结构

▼ 本文涉及概念较多,为了方便阅读,本文的内容目录对应如下:

************************************

1、引言
2、系列文章
3、图像基础知识  
3.1)什么是像素?
3.2)什么是PPI?
3.3)颜色在计算机里是如何表示的?
4、视频编码基础知识
4.1)视频和图像和关系
4.2)未经编码的视频数据量会有多大?
4.3)什么是编码?

***********************************


 

好文章,来自【福优学苑@音视频+流媒体】

3、图像基础知识  

3.1什么是像素?

    说视频之前,先要说说图像。

    图像,大家都知道,是由很多“带有颜色的点”组成的。这个点,就是“像素点”。

视频开发小白入门_第3张图片

 

像素点的英文叫Pixel(缩写为PX)。

这个单词是由 Picture(图像) 和 Element(元素)这两个单词的字母所组成的。

 

▲ 电影《像素大战(Pixels)》,2015年

 

    像素是图像显示的基本单位。

    我们通常说一幅图片的大小,例如是1920×1080,就是长度为1920个像素点,宽度为1080个像素点。

    乘积是2,073,600,也就是说,这个图片是两百万像素的。

    好文章,来自【福优学苑@音视频+流媒体】

1920×1080,这个也被称为这幅图片的分辨率。

 

▲ 分辨率也是显示器的重要指标


 

3.2什么是PPI?

那么,我们经常所说的PPI又是什么东西呢?

 

PPI,就是“Pixels Per Inch”,每英寸像素数。

也就是,手机(或显示器)屏幕上每英寸面积,到底能放下多少个“像素点”。

这个值当然是越高越好啦!

PPI越高,图像就越清晰细腻。

 

好文章,来自【福优学苑@音视频+流媒体】

以前的功能机,例如诺基亚,屏幕PPI都很低,有很强烈的颗粒感。

 

后来,苹果开创了史无前例的“视网膜”(Retina)屏幕,

PPI值高达326(每英寸屏幕有326像素),画质清晰,再也没有了颗粒感。

视频开发小白入门_第4张图片


好文章,来自【福优学苑@音视频+流媒体】

 

3.3颜色在计算机里是如何表示的?

像素点必须要有颜色,才能组成缤纷绚丽的图片。

那么,这个颜色,又该如何表示呢?

大家都知道,我们生活中的颜色,可以拥有无数种类别。

 

 

▲ 光是妹纸们的口红色号,就足以让我们这些屌丝瞠目结舌。。。

 

在计算机系统里,我们不可能用文字来表述颜色。

不然,就算我们不疯,计算机也会疯掉的。

在数字时代,当然是用数字来表述颜色。

这就牵出了“彩色分量数字化”的概念。

好文章,来自【福优学苑@音视频+流媒体】

以前我们美术课学过,任何颜色,都可以通过红色(Red)、绿色(Green)、蓝色(Blue)按照一定比例调制出来。

这三种颜色,被称为“三原色”。

视频开发小白入门_第5张图片

 

在计算机里,R、G、B也被称为“基色分量”。

它们的取值,分别从0到255,一共256个等级(256是2的8次方)。

所以,任何颜色,都可以用R、G、B三个值的组合表示。

 

▲ RGB=(183,67,21)

好文章,来自【福优学苑@音视频+流媒体】

通过这种方式,一共能表达多少种颜色呢?

256×256×256=16,777,216种,因此也简称为1600万色。

 

RGB三色,每色有8bit,这种方式表达出来的颜色,也被称为24位色(占用24bit)。

 

这个颜色范围已经超过了人眼可见的全部色彩,所以又叫真彩色。

再高的话,对于我们人眼来说,已经没有意义了,完全识别不出来。

视频开发小白入门_第6张图片

 

 


 

 

你可能感兴趣的:(音视频/流媒体,qt5/C++,二级Java,c++,c语言)