当前位置:首页 期刊杂志

播放视频真的不容易

时间:2024-05-04

超载

视频的组成

今时不同往日,现在的视频格式大一统的趋势十分明显,最常见的格式多为MP4、MKV、MOV。这和很久以前AVI、RM、RMVB、MOV、FLV、MPEG、MP4(图2)眼花缭乱的格式对比起来要“简单”了许多。实际上,无论是RM、RMVB、MOV、FLV、MPEG、MP4哪一种,它们都是封装格式,相当于视频文件的“容器”。

这些容器之内,都是由不同的视频编码处理的视频文件——记住,所有流行的视频文件都是经过数字“压缩”、编码的,目的就是在视频质量、视频容量上做到最好的平衡,这就是视频文件的本质。

MOV格式是苹果公司开发的一种音频、视频文件格式,更适合苹果系统的使用和播放。MP4是一种最常见的国际通用格式,在常见的播放软件中都可以使用和播放,文件小,画质清晰。FLV是FLASHVIDEO的简称,由于它的尺寸很小,加载速度极快,使网络观看视频文件成为可能;MKV是当前最主流的视频格式之一,它能够在一个文件中容纳无限数量的视频、音频、图片或字幕轨道,它是Matroska定义的一种多媒体容器文件,自身没有压缩编码技术,也没有压缩编码方式的限制,实际内容可以采用多种流行的音视频编码。

AVI的英文全称为AudioVideoInterleaved,即音频视频交错格式,由微软公司于1992年11月推出,是作为其Windows视频软件一部分的一种多媒体容器格式。它将音频(语音)和视频(影像)数据包含在一个文件容器中,可以保证音视频同步回放。与DVD视频格式类似,AVI文件支持多个音视频流,不过,AVI格式的索引位于文件尾部,读取到此处才能保证时间轴正常运行,所以不适合流媒体传输,而且近期有被WMV取代的趋势。因此,现在最常见的视频还是集中在MP4、MKV、MOV这三种文件格式上(图3),它们也是本篇关注的重点。

视频编码究竟是个啥?

既然有封装格式,那就需要有一种方法把视频文件压缩好之后放进去。视频的编码就是这个作用,相当于MP3音乐格式。视频的编码都是有损压缩,通过更好的压缩比在同体积下提供更好的视频质量,这就是视频编码一代一代“进化”的目标。编码完成后,无论是通过下载还是在线直接播放,都需要我们的设备进行相应格式的解码,才能将数字信息“转化”为我们能看到的图像,继而播放。

解码的过程,目前主要是显卡GPU的工作。在我们所使用的显卡中,无论是集显还是独显,都设计了专门的单元负责编码工作(图4)。不过,它们根据自己的技术特点、档次高低,对编码格式的支持也不尽相同。由于这些编码单元都是固化在显卡核心之中的,因此你使用的显卡支持哪一些视频编码格式,从一开始就已经确定了,不可能以软件升级的形式获得更多额外的视频编码能力(图5)。之所以需要特定的单元做视频编码设计,是因为它依据特定的编码算法进行设计,而不是用软件编程来支持。这也是为什么显卡编码、解码被称作“硬件编解码”,如果以CPU进行编码、解码工作,则被称之为“软件编解码”。

如果你的显卡不支持某一个特定的视频编解码工作,那是不是就不可以压缩生成、或是播放这种编码格式的视频文件了呢?当然不是,CPU也可以软件编解码。它通过软件计算的方式,利用CPU自身的计算能力来处理视频的编解码工作——这也是为什么个人电脑使用的CPU被称作“通用处理器”的根本原因。当然,这样做的代价就是,CPU编解码会占用大量的計算资源,表现为编解码视频的时候CPU占用极高,影响电脑性能(图5)。

以NVIDIA显卡为例,NVIDIA显卡的硬件编解码性能远远超过使用CPU+软件编解码这种方式,特别是多路编解码的情况下更是如此(图6)。使用显卡去编解码会大大提高效率,节省时间。两相对比,使用CPU在进行视频编解码的时候,资源占用率极高,这样就会影响其他应用的正常运行,系统明显会感觉到卡顿。而使用显卡编解码就不会占用太多系统资源,不会影响其他应用的使用性能。

●编码这些是主流

一如视频(封装)格式有几种不同的规格,视频编码也有自己的流行趋势。目前主流的就是H.264、HEVC和VP9三种,此外还有一个冉冉升起的新星“AV1”编码——对比H.264、HEVC编码格式,AV1是最有可能实现大一统的,这是由于AV1编码格式属于开源产物,没有任何的专利费用,而不是像H.264、HEVC等编码格式一样带有专利壁垒。

●最普及的H.264

H.264格式(圖7)是当前最为流行、普及的视频编码格式,是一种基于运动补偿的视频编码标准。它实际的名称应该被称作“MPEG-4Part10,AdvancedVideoCoding,缩写为MPEG-4AVC”,即MPEG-4第10部分的高级视频编码。它主要是配合1080P分辨率、因蓝光而生的视频编码。它具有极高的压缩比,而且可以实现流媒体播放,因此是诸多在线网站的重要视频编码格式。现在所有的电脑设备都可以无障碍编、解码H.264的视频文件——无论是硬解还是软解(显卡解码、CPU解码)。

为什么H.264可以如此流行呢?对比DVD时代的MPEG-2编码,H.264编码拥有非常惊人的压缩比(图8),甚至是MPEG-4编码的1.5倍~2倍。举个例子:一个100GB的视频源文件,采用DVD下的MPEG-2编码压缩,得到的视频文件是4GB,压缩比为25∶1;换用H.264编码压缩,视频文件的大小仅仅是980MB大小,压缩比高达102∶1——也就是说,在同等画质的前提下,采用H.264编码的压缩比更大,视频文件容量更小,因此更加便于传输、存储。这也是为什么很多视频在线网站也选用了H.264为编码格式的根本原因之一。

在1080P视频时代,H2.64编码无疑是最值得选择的,而且随着硬件规格的变化,显卡硬件编解码H.264早已不是问题,时至今日,它也是最为普及的视频编码格式。但是,当4K来临之际,H.264也开始显露“疲态”,HEVC的取代势在必行,一如当初H.264取代MEPG-2编码一样。

●4K标配的HEVC

4K为什么会让H.264尽显疲态呢?原因是分辨率的增加让视频文件的体积进一步扩大——4K分辨率相对于1080P,足足提高了4倍,3840×2160对比1920×1080,“多出来”的像素点必然也要占用容量空间。数据几何倍数的增长,让拥有极高压缩比的H.264编码也不足以应对了。因此,HEVC(图9)的出现就势在必行。

HEVC也称为H.265,是为最新一代高分辨率视频而设计的视频压缩标准。它是广泛使用的H.264编解码器(也称为AVC或MPEG-4Part10)的继承者,它对H.264的压缩方案进行了一些重大改进。HEVC压缩视频的效率比H.264要高出一倍,也就是说,使用HEVC编码的视频,相同视觉质量的视频只占用相当于H.264编码压缩视频容量的一半。或者,具有相同文件大小和比特率的视频可以呈现更好的质量。这也为在线播放超清视频提供了可能,毕竟带宽消耗更小一些(图10)。

严格意义上来说,HEVC也不算太新的视频编码标准了,但是一个视频编码标准的普及程度,还是取决于设备是否支持,例如哔哩哔哩在2020年才将HEVC纳入其中(图11)。

能够实现HEVC硬件编解码的设备才真正开始普及(图12),因此,HEVC的普及速度要比H2.64慢一些。更重要的是,HEVC可以称得上是4K视频的“标配搭档”,仔细注意视频文件,如果是4K分辨率的,几乎无一例外都是HEVC编码格式,而1080P分辨率的视频文件,则多为H.264编码格式(也有部分HEVC编码格式的)。

不过,HEVC的普及也许不会像H.264编码格式那样实现“大一统”,因为它出现了一个对手——极速推进的编码格式:AV-1(图13)。无论从压缩比例还是没有专利费用门槛这些特点上来看,AV-1颇有迅速取代HEVC的势头,唯一阻碍的就是电脑显卡的硬件编解码功能了——在2021年,支持AV-1编解码的显卡才开始上市。当然,除了电脑,类似电视盒子使用的SoC处理器也是在2021年前后才开始拥有硬件解码AV-1编码格式的能力,想要全面替换、普及,还需要一些时日,但是肯定会快于HEVC编码。

●8K和未来AV-1是终点?

AV-1编码格式的出现,主要是解决两大问题:第一,8K(7680×4320分辨率)视频的出现,再一次对视频压缩比提出了更高的要求;第二,H.264、HEVC编码格式的专利费用一直是服务商心中的痛。无论是电影公司还是在线视频服务商,要提供不同介质(流媒体、光盘、数字视频)的视频内容,只要采用了H.264或HEVC的编码格式,都需要付费使用!也就是权利金。因此,2015年的时候,以谷歌为首的诸多厂商自行组建了一个联盟:开放媒体联盟(AOMedia),目标只有一个:设计一个免费、高效的视频编码格式。

AV-1的诞生就基于此,它的全称是AOMediaVideo1,它由谷歌开发的流媒体编码VP9衍生而来,在技术上最大、最主要的特征就是AV-1拥有高于HEVC20%的压缩比,这让其具备了承载8K视频编解码工作的能力(图14)。

正如前面笔者提到的,很多视频网站的视频编码格式几乎都是H.264和HEVC,都需要付费,而谷歌开发的VP9编码格式,只占据了不到5%的份额。为了进一步提高压缩比、降低(消除)专利费,AV-1的诞生可谓是“重任在肩”。它相比HEVC编码格式,不仅能保持原视频的分辨率、帧率、比特率,视频体积还能再缩小20%(相比VP9压缩率也高出30%),这就意味着在同等带宽下可以传输更高质量的画质(图15),例如未来的8K视频。

当然,AV-1属于“未来”,还不是现在。Intel的核心显卡IrisXe、UHD700系列开始提供了AV-1的编解码能力,是从11代酷睿处理器开始才提供支持;AMD的Radeon6000系列显卡也刚刚开始支持AV-1的编解码;NVIDIA的GeForce30系列显卡同样刚刚加入了对AV-1的编解码支持。这是硬件端,在视频源这一端,爱奇艺、哔哩哔哩等在线视频网站,也从2021年刚刚开始小规模的尝试使用AV-1编码处理视频。而要在电脑上本地播放AV-1编码视频,还需要额外安装解码器才可以——在Windows系统的MicrosoftStore商店中搜索“AV1VideoExtension”,匹配到擴展插件后,点击AV1VideoExtension的“获取”按钮,系统将自动安装(图16)。安装完毕,默认自带的播放器就可以正常播放AV-1格式的视频了。

视频的进阶奥秘

●码率清晰与否的关键

有了视频封装格式、也有了处理视频的编码格式,是不是视频就没什么神秘的了?不知道大家发现没有,虽然各视频网站都推崇自己的高清视频如何“高清”,可是对比很多下载的高清视频文件对比,还是差了许多,直观感受就是视频的细节不够清晰、细腻。

对应视频码率来看(以超清为例),60秒视频×1200kbps码率÷8=9000KB,一分钟约消耗8.8MB的流量。从分辨率上去看视频网站的高清、超清基本都能满足分辨率要求,720P/1080P甚至是4K的垂直分辨率都达到了。但是,它的清晰度非常差,这就是码率的作用。

码率可以理解成“采样率”:单位时间内采样率越大精度越高,编码生成的的文件就越接近原始文件,但是文件体积与采样率成正比(图18),以1200Kbps码率的在线超清视频来说,一部2小时时长的视频容量约为1GB,但同样以H.264编码处理的1080P视频文件,正常容量应该是在10GB左右。这,就是精度问题了。

码率低,表现出来的结果就是视频的细节不够清晰、细腻,码率高,视频清晰必然是需要更多的流量(容量体积),同时也需要更大的带宽。

因此,视频文件不仅仅要看分辨率、视频编码格式,更要注意视频的码率问题,太低了视频内容的细节就会丢失,甚至有一些“涂抹”感,这就是在编码的过程中,采样精度下降导致的(图19)。之所以诸多在线视频网站采用高分辨率、低码率这样的编码视频处理方式,原因其实就两个:第一是宽带的普及度不够,尤其是中低带宽速率的宽带,不足以支撑高码率的视频在线播放;第二,就是节省带宽成本——视频网站的带宽开销即为惊人,如果采用高码率的视频在线播放,成本上难以承受。

●HDR暗部细节的神还原

大家可能都有印象,很多视频的黑夜场景或者是没有灯火的场景中,几乎都是一片黑,但是偶而也能看到有个物体移动等等。这种暗部细节难以还原清晰,“黑的够黑,还不失去细节”是很多人比较头痛的事情。于是,HDR应运而生。HDR全称是高动态范围成像(HighDynamicRangeImaging),它的作用就是实现更大曝光动态范围(即更大的明暗差别)的技术(图20)。

在电脑图形学与电影摄影术中,HDR是用来实现比普通数位图像技术更大曝光动态范围(即更大的明暗差别)的一组技术,定义了相比于传统标准动态范围图像(SDR)更大的亮度范围,更广的色域,更大的比特深度(图21)。

但是,要实现HDR可不是那么简单的,第一,设备要支持HDR播放;其次,显示设备的亮度要足够高,能够正确显示具备HDR技术的视频内容,同时操作系统要支持HDR功能。HDR在电脑端的普及并不高,从Windows101709版本才开始实现支持HDR开启,并且显示器必须支持HDR才可以(图22)。更重要的,HDR还要求使用DisplayPort1.4或HDMI2.0及更高版本这样拥有更大宽带的连接方式连接显示器与电脑(电视)才能实现。不仅如此,显卡还必须支持PlayReady3.0硬件数字版权管理(用于保护HDR版权内容),如NVIDIAGeForce10系列及更高版本、AMDRadeonRX400系列及更高版本或IntelUHDGraphics600系列及更高版本。你以为HDR的硬件门槛就这么多?HDR视频必须是10bit视频编码(10bit色彩范围)的编码器编码的,也就是说,至少是HEVC或者VP9编码的视频才能提供对HDR的支持。否则,HDR视频只能使用播放软件(如PotPlayer等)转换成SDR模式播放。

但是,它的好处是显而易见的,那些暗部细节可以一览无余的同时,“该黑的地方”依旧“漆黑一片”,这可不是调整显示器、电视对比度、亮度就能实现的。

你以为HDR就是最高门槛的视频方式了吗?不,还有个要求更加苛刻的产物——杜比视界。杜比视界DolbyVision,它是杜比实验室提出的一种HDR标准,支持8K的最大分辨率、高达12bit的色深、10000尼特的最大峰值亮度,含有动态元数据。简单来说,就是它的HDR标准上限极高,是目前最为苛刻、但是效果最为出众的的HDR标准。

为什么笔者要提及杜比视界?有些视频下载后播放,视频画面是紫绿色的。这是由于杜比视界的解码需要杜比授权的设备支持。否则,即便是显示器、连接线、硬件解码都能够支持,基于杜比视界的视频依旧不能正常播放。比如在电脑上,就只能通过Windows系统的MicrosoftStore商店中搜索“HEVC视频扩展插件”(图23)、“DolbyVisionExtensions”分别安装,安装完毕后使用Windows系统自带的“电影和电视”(图24)来播放才可以。

电脑的操作固然繁琐,但是至少可以在硬件支持的情况下无障碍播放视频,这是电脑的优势也是缺点:操作繁琐、但是“通用性”更强。视频虽小但是“门道复杂”,想要好好观看视频,电脑的应用知识可是不少,但这不正是我们的乐趣所在吗?

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!