视频是怎么出来的?

最近在虎牙做颜值,女装,主机游戏,因为工作忙的设备没齐的原因,还是先做一个话痨唱唱歌的划水主播,之前再B站做了一阵子游戏,今天想科普下视频怎么来的,和怎么基础地玩OBS,高端的不做研究。

首先我们看过的所有视频和直播都是压缩过的视频。那么1秒钟的视频你认为有多大?几百K?1MB?

一个1080P的视频是1920*1080,那么一帧的像素1920*1080=200w,每个像素3字节(BYTE),一帧画面200w*3=600w字,600w/1024/1024=5.72MB,按照60FPS算,一秒钟是要343.2MB。

黑人问号?是不是我的三观出现问题了,所以Yama所说的看到的视频都是压制过了,那么怎么300多MB的视频压制到几百K呢。

视频格式

首先科普下视频格式是什么?是MP4、FLV、AVI、3GP…

答案是视频格式分为两种,1是封装格式,2是转码格式,

就像这样,封装是礼物包装盒,转码格式 是盒子里面的东西。

所以大部分我们还是用格式工厂转格式,实际就是转的封装格式,

而不是重新编码,所以平时我都是用MediaCoder转换,换个盒子几秒钟的事情。

常见的封装编码表如下:

“视频编码”的图片搜索结果

如果新转的封装格式不支持之前的封装格式才是需要转码的,比如WMV的编码有WMV,MP4

的编码有常见的H.264。如果从WMV互转MP4是肯定需要重新编码的。


码率(每秒包含的数据量和信息量)

码率决定视频的大小和质量,码率越大意味着包含信息量越大,视频可以陈述的东西就越多

表述就越细腻。通常直播的时候会碰到,还是比较重要的,拿OBS做例子

图中的视频比特率也就是码率,码率越大,文件越大,如果吃瓜群众在看你直播,拿他消耗的流量也会越多。所以有的直播平台(虎牙、B站、斗鱼…)限制码率。


视频压缩

稍微科普了一下,说到视频压缩,主要分两种:1帧内压缩,2帧间压缩。

帧内压缩(XAVC-I)就是把每一帧都压缩成JPEG图像,对颜色进行大幅度压缩,

丢弃太多复杂的颜色信息,原理是人眼对亮度比较敏感,每一帧都保留较为完整的图像信息。帧内压缩已经差不多将原视频缩小为90%的体积。

帧间压缩(XAVC-L

这是一个简单的短视频的每一帧,实际只有大概两三个帧是关键帧,并不需要记录所有的帧,剩余的都是算法计算出来的。在H.264是这样体现。

I帧为完整的关键帧,P帧为预测帧,B帧为双向预测帧。

首先把像素分割成一个个8*8或者16*16的“宏块”,通过前后两者的帧比较,

分析变化状况,未变化的照抄,变化的内容(位置、颜色…)记录变化

这就是P帧的作用。

B帧就是在P帧的基础上,可以双向预测,前面和后面的变化都由算法进行预测,节省了更大部分空间。

GOP:从一个I帧到下一个I帧包含的帧数,GOP值越大,同码率视频质量越高。


三种控制码率的方法

1 CBR:

2 VBR:

3 CRF


所以300多MB的视频就被压制成很小的大小拉,是不是很神奇! :-D 

可以看出,XAVC-I采用的是逐帧压缩,高质量、高码流,方便后期制作。

而XAVC-L则联合“P帧“或“B帧”一同处理图像信息,帧在压缩过程中被比较

以便在保证不降低质量的前提下减少数据量。如果需要高效存储且后期制作链较短,

则首选XAVC-L。它提供的文件更小,但需要更强大的编解码处理能力才能达到此效率。


平时直播的时候大部分情况下还是选择CPU,这样视频效果比较好一点,也不是很明显,

虽然我的也不过是7700,一边开游戏CPU可能会占用很高。

所以那些 CPU不算太好的小伙伴,可以用显卡NVENC编码。

赞赏

微信赞赏支付宝赞赏

Leave a Comment