专栏名称: axb的自我修养
微博原创视频博主 不写代码和看动漫和瞎折腾就会死。
目录
相关文章推荐
Marine Sedimentology  ·  PNAS| 从铁开始:生命初期的金属主宰 ·  1 周前  
花果科技  ·  iPhone SE 4,预计明年初发布! ·  1 周前  
歸藏的AI工具箱  ·  微软发布新版 ... ·  1 周前  
歸藏的AI工具箱  ·  微软发布新版 ... ·  1 周前  
51好读  ›  专栏  ›  axb的自我修养

#影视飓风下架视频变糊科普视频# 关于影视飓风的视频,补充一个知-20241010015620

axb的自我修养  · 微博  · 科技自媒体  · 2024-10-10 01:56

正文

2024-10-10 01:56

#影视飓风下架视频变糊科普视频# 关于影视飓风的视频,补充一个知识点:到底什么是码率?

大部分人应该从视频里都得出了“码率越大,视频越清楚”的结论,这是这个视频里误导性最大的一个观点。

以影视飓风这种体量的视频公司来说,不可能没人了解编解码方面的技术细节,但视频里完全没有展开阐述,我更倾向于为了表达“视频平台恶意压缩码率”这个观点,省略了一些技术细节(否则就变成无聊的技术视频了)。

但是以从业人员的视角来看,又免不了因为这种只说一半的视频被其他人误解,以至于攻击的对象在不经意间被转换成了某些技术和这些相关技术的从业者,所以我要尝试着解释一下这个问题。

首先,简单理解一下码率

可以粗略的理解成视频每帧压缩后的体积大小,跟“分辨率”、“帧率”不一样,码率本质上是一个纯技术名词,无法直接关联到视频播放过程中能被感知到的某个属性。可以把视频文件看做一个压缩包,视频里的每一帧画面都经过了压缩算法,“码率”就可以类比成“压缩包的大小”。

是不是“码率越大,视频越清楚”?

对了一半。

压缩的本质是消除冗余信息。我们假设0和1分别代表“黑色像素”和“白色像素”,那么“0000000000000000”就可以代表“16个白色像素的画面”,假如用最简单的压缩算法,可以用“16 0”代表“16个0”,进而也就代表了“16个白色像素”,与写上一堆0相比,两者并没有让“全白的画面”有任何区别,但是数据量减少了。

那视频为什么会被压糊呢?原因在于即使用上各种已知的无损压缩算法,用千兆网络可能也只能播放一部144p(我没细算,大概是这个意思)的视频。想要进一步压缩,就得靠有损压缩算法。

对于视频画面来说,大致算法是先把画面拆成一个个小格子,再去每个格子周围找类似的格子,算出两个格子的差值,这样就只需要保存一个格子的完整数据,和一个格子的变化值 - 到这里还是无损的。

最终的画面损失在于保存数据的时候,还做了“抹零”操作:比如12,13,11这三个数,记录的时候统一四舍五入变成10,然后就可以用“3 10”这种记录方式进一步压缩体积了。

由于“抹零”的操作发生在频域(这里不再展开介绍了),因此最终被抹零的画面会丢失细节,如果抹到极致,就会变成一个纯色的色块(马赛克)。

说了这么多背景知识,下面是重点:就类似于压缩包也有“压缩比”这个概念一样,视频编解码算法也有“算法复杂度”,上面压缩的过程中,“找到相似的格子”、“抹零”这些操作都是能够控制力度的,是在当前格子的四周找相似的格子,还是在前一帧画面里找格子,一个格子是4*4大小,还是32*32,这都是在编码的过程中,通过算法逐步找出来的。

好的算法,能够找出最相近的两个格子,两个格子间的残差自然就小,即使不“抹零”,也可以降低压缩后的体积。

影视飓风视频中说的“264”、“265”、“AV1”、“266”都是不同的算法(标准),举个例子,采用265标准的编码器,可以在同画质下,比264的码率降低15%-40%。而视频里说的“265比264糊”的原因,在于使用265编码器时,没有配合上合适的“抹零”参数,某个视频原本体积下降20%画质恰好一样,但是设成了体积下降40%的参数,自然会变糊。

而即使是相同的264标准,也存在不同的算法档位,可以实现同画质下“更快的编码速度”或者“更小的文件体积”这样不同的诉求。

因此,“码率低”本身不是原罪,一个视频文件的码率变小,可以是技术上的优化,也可以是设置了错误的编码参数导致画面变糊。

另外,影视飓风的视频里似乎刻意的把所有视频平台作为了假想敌,似乎视频平台赚了个盆满钵满却不提升体验。我觉得敌人其实选的不对,但是你要问我敌人是谁,那我得说我也不知道。

最后,不知道微博视频算不算在这次炮火攻击的靶子里,我想说的是,能在微博免费看4k视频的体验来之不易,且行且珍惜吧。