欢迎光临散文网 会员登陆 & 注册

H.264真的很难用吗?一文带你重新思考H.264

2023-02-15 14:36 作者:HOMEBOY影像学院  | 我要投稿

在很多后期的论坛和微信群中最常见的一句话是:”H.264,🐕都不用!”

它似乎已经成了后期工作者们心照不宣的教条。但是如果我们有时间深入研究一下,你会发现这些简短规律背后都有着复杂的前因后果。

今天这篇文章,我们和大家一起重新思考一下H.264的种种问题。


相机内的编解码器

每天,剪辑师/调色师们打开软件,手头会有来自不同摄影机、不同类型的视频编码等待处理。

在信息技术高速发展的今天,消费级、专业级摄影机都或多或少地使用了H.264(又称AVC)以及其后续的H.265(又称HEVC)进行记录。

在具体设置中,更专业的摄影机将以10Bit 4:2:2记录,保持尽可能多的色彩信息,避免色彩断层,尤其是拍摄LOG模式时。老旧的摄影机即使由于技术受限以8Bit 4:2:0记录,通常情况下还是会提供帧内压缩或帧间压缩的记录模式选择。

如果你不确定自己手头机器的记录规格,可以使用免费软件MediaInfo,将文件拖入界面,选择树状图模式来查看素材的所有信息。

如果你的摄影机不是以H.264及H.265的相关编解码器进行录制的,那么99%的情况会是ProRes或专有RAW格式。

例如,ARRI摄影机就使用ARRIRAW和ProRes编码进行录制;Blackmagic旗下的摄影机则使用BRAW和各种ProRes格式。

近几年,还逐渐流行在Atomos等制造商的录机中进行外录。RAW编码的主要优点之一是可以调整原生参数,更容易修复如ISO、色平衡等拍摄过程中的瑕疵,但它的缺点也显而易见:文件大的吓人。至于以ProRes格式进行拍摄的好处是,交给后期时有几率触发剪辑师的隐藏彩蛋——奖励任意口味奶茶一杯。


适用于后期流程的编码

言归正传。作为一名后期工作者,讨论上述所有问题的意义在于,它们会怎样影响我的效率。像是Premiere Pro/达芬奇等软件,在可接受的编解码器、格式和封装格式方面有很大的不同。对电脑造成的负担也会因为素材的五花八门而有很大的不同。因此,剪辑/调色卡不卡,其实很大程度上素材说了算。

基本的规律是,编解码器的压缩程度越高,电脑在播放或导出视频时需要做的解算工作就越多,卡的几率就会随之增加。与我合作的大部分DP都选择在Arri Alexa上拍摄ProRes HQ或4444,它在剪辑软件/调色里的表现很棒。

然而,还会有一些客户倾向于向我发送索尼、佳能、松下的摄影机文件,这些文件往往是H.264 10Bit 4:2:2的帧内压缩文件。

而最坏的情况是使用了帧间压缩编码的素材,这意味着并非所有帧都真实存储于数据中。它是由I、P和B帧组成的——I帧是完整的帧,P是预测的帧,或由先前的I帧重新组合形成的间接帧。而B帧则是由I帧和P帧双向预测形成的。

如果仅仅考虑到视频每秒足有24帧,许多给定帧的内容都与先前的帧大致相同,这样压缩实际上是非常明智的选择。但对于剪辑工作来说,跨帧压缩可能是最糟糕的情况。尽管剪辑师这样的头疼,但它对于同时保持高质量和低文件大小来说却是最好的选择,这就是为什么帧间压缩是目前绝大部分视频导出的编解码器标准,同时也被大量用于拍摄格式中。

转码与代理

但即使是帧内H.264编解码器(每一帧都是I帧)仍会对你的电脑造成巨大的压力。这就是为什么一般的建议是要么转码,要么做代理。


转码:

将H.264等文件重新编码为高质量的剪辑友好型编码,如ProRes、DNxHR或Cineform中的任意一种,其中ProRes 422 HQ可能是大家工作最常见的。

从转码后起,这些文件成为新的工作主文件。这种方法唯一的缺点是对存储要求高,需要良好的硬盘速度和硬盘容量,因为比特率也很高。但鉴于大多数专业用户都有着更高的存储预算,所以这已经不是什么大问题了。当源文件有一些会使Premiere卡顿的素材时,这种方法就会发挥作用。


软件内置的代理方法:

导入H.264文件并在Premiere Pro、或达芬奇等任何剪辑软件中一键制作代理文件。代理文件将采用ProRes等剪辑友好型编码,但与直接转码相比,代理文件的分辨率和质量较低,它们将不会被直接用于任何导出(除非是内部沟通的小样)。

这样做可以节省大量存储空间,当然如果你能负担得起,保持相对更高的质量会更好。你可以制作自己的预设来提高代理质量,例如,默认是ProRes 422 Proxy 720p,你可以提高到ProRes 422 LT 1080p。使用内置代理剪辑,最终导出时调用的还是源文件,所以相比转码,它在成片质量、效率方面会有微弱的优势。


Offline/Online传统外部代理方法:

在实际的商业化流程中,剪辑师需要高效地完成工作,并与不同部门的不同软件进行交互。这时候就会使用到Offline/Online的传统外部代理流程。

在达芬奇、Adobe Media Encoder或Shutter Encoder中制作代理文件—还是采用ProRes这样的剪辑友好编码,而且分辨率通常比摄像机原始文件低一些。然后在剪辑过程中使用它们作为源素材,并在定剪后为调色师或合成部门导出XML,他们将重新链接到摄像机原始文件。

这对于多软件、多部门协作的项目来说是最好的办法。主要的缺点是,XML不会延续所有的内容,所以对于涉及大量效果和二次构图的复杂剪辑项目来说,它会显得异常繁琐。


你真的需要"剪辑友好"的编码器吗?

或者换个说法,什么时候我们将不需要刻意使用一套剪辑友好的编解码器?是当你的硬件能够流畅运行,使不友好的编解码器变得友好时你才会不需要它。事实证明,在当下这个时间节点有限的范围内我们通过硬件加速是可以实现的。

自2020年以来,Premiere逐步提升了Nvidia和AMD的硬件解码加速功能。Puget Systems的Matt Back做了非常有趣的测试,他深入研究了Premiere Pro的硬件解码支持能力,显示了不同硬件平台对各种参数下的H.264和H.265编码支持情况。我自己也重复了这个测试,得到了同样的结果:

我甚至在使用M1 Pro芯片的Macbook Pro上做了相同测试。有趣的是,它比使用英特尔第12代CPU的PC还多达成了一个勾:10Bit 4:2:2格式的H.264编码。当然,对于大部分PC用户来说,拥有最新的英特尔CPU显然会显著提升编码支持。

Premiere能够使用英特尔十二代芯片特有的Quick Sync(快速同步技术),与独立GPU协同工作获得很好的编解码效果——特别当你使用的素材是像索尼A7s3或佳能R5录制的10Bit 4:2:2 H.265素材时。鉴于目前PC或Mac上不支持任何格式的MXF文件,苹果用户可以对享受到目前测试版中的MXF-Intra支持。

无论你的电脑配置如何,你一定要时刻清楚它所能支持的最高格式是什么,哪些格式是绝对无法流畅剪辑的。这里有一条关于代理的小常识:如果你是在Premiere中制作代理,可以放心制作mp4封装的8Bit 4:2:0 H.264代理,这几乎支持市面上的一切配置。但有多音轨需求的用户需要注意,对于某些有两条以上音轨的素材是无法成功转码的。


重新思考H.264

以上的这些,让我将H.264和H.265重新归类为两种——支持当前硬件加速的和不支持硬件加速的。

因为两者在一些后期软件(比如Premiere)中的操作流程非常不同。我已经开始将它们视为两种不同的编码类型了。基于此,在某些情况下,我会直接在商业项目中使用H.264编码。

我举几个应用的例子。第一是我在一个非常紧迫的项目中,根本不想把时间浪费在转码或制作代理上。即使我得到的是不支持硬件加速的H.264片段,但我配置的48线程强大CPU(Threadripper 3960x)只要能通过蛮力强行解算复杂的编码,就算风扇转得像要起飞一样,我也一样直接剪。

另一个例子是,当我与另一位剪辑师一起在线剪辑时,我想只向他发送代理,同时我也想保持文件导出的速度和体积大小。在这种情况下,我经常使用内置的H.264代理预设,生成720p的8Bit 4:2:0 MP4文件。由于支持硬件加速,而且与4K源文件相比,Premiere处理每一帧的像素数只有原来1/9,所以最终的导出速度简直飞起。不管对方的配置如何,都可以用这些文件进行流畅的剪辑工作。

我介绍了我的一些看法,但最终决定权在你。如果你密切关注自己的硬件和你正在使用摄影机的编码格式,有时你完全可以让H.264为你工作。


想学习更多实战技巧,欢迎添加微信:homeboytspxcd。我们期待与您沟通交流~  


H.264真的很难用吗?一文带你重新思考H.264的评论 (共 条)

分享到微博请遵守国家法律