Plex转码:从负担变成省空间利器
以前玩 Plex 服务器的人,很多都绕不开“转码”这件事。Plex 媒体服务器的硬件转码支持在 2016 年底以预览形式出现,2017 年初才有限度地推出。在那之前,基本只能靠软件转码,对硬件压力很大。据科技网站 How-To Geek 介绍,Plex 官方曾建议,要实时转码一路 1080p 10 Mbps 的 H.264 流,处理器的 PassMark 分数至少要 2000。英特尔酷睿 i3-3210 的分数大约是 2230,勉强够用,但它在 2013 年发布时建议零售价是 117 美元,按通胀算差不多相当于今天的 168 美元,并不算便宜。
问题是,很多人的 Plex 服务器根本没这么强的处理器。低功耗 NAS 硬件和便宜的服务器电脑往往撑不住实时转码,多用户同时看就更麻烦,缓冲会不断出现。于是当时通行的做法是提前转码,把内容预先处理成兼容性更好的格式,比如 MP4 容器、H.264 视频加 AAC 音频,这样不少客户端就能直接播放。手动方案有 HandBrake 或 FFmpeg,后来 Plex 也加入了媒体优化功能来绕开实时转码的问题,但它本身也有局限。
提前转码的缺点也很明显:慢,耗电,发热,转码期间机器负担不小。如果原文件还留着,又等于多占一份空间。不过当时存储相对便宜,所以这笔账还算划得来,尤其是硬件性能不够的时候,这几乎是最实际的选择。反过来,如果手里有强劲的酷睿 i7 或至强处理器,能同时实时转多路视频,有些人就会觉得重新编码是浪费时间和电力。
这种局面后来慢慢变了。Plex 加入硬件加速转码之后,支持英特尔快速视频同步技术的处理器让实时转码变得轻松很多。快速视频同步技术是英特尔从 2011 年第二代 Sandy Bridge 处理器开始加入的专用视频处理引擎,专门为视频转码优化,把大量工作从处理器核心上卸下来。随着时间推移,快速视频同步技术也在进步。如今像英特尔 N100 这种主打低功耗、绝对性能不算强的芯片,也能轻松应付常见的 4K HEVC 转码。
How-To Geek 的作者还举了自己的例子:在把媒体服务器升级到搭载英特尔酷睿 3 304 的迷你主机之前,他用一台老笔记本,处理器是英特尔酷睿 i3-7200U,也能实时转码 4K 视频。速度不如新迷你主机,但正常播放不卡不掉帧,只有在拖动进度条时才会出问题,而且还是在码率较高的情况下。
麻烦的是,能转码的硬件越来越便宜,存储却没有跟着便宜。机械硬盘价格从历史低点明显上涨,过去“多买硬盘就行”的建议变得越来越贵。于是 Plex 用户又开始重新编码,但这次目的完全不同:不是为了绕过实时转码,而是为了缩小文件体积。
以前提前转码是给性能不足的服务器硬件当拐杖;现在重新编码可以成为省下几百 GB 空间的办法,而且画面不至于明显变差。原理其实不复杂:2000 年代和 2010 年代的大量内容用的是较老、效率较低的编码,比如 H.262(MPEG-2)或 H.264(AVC)。这些编码通常需要更高的码率来维持画质,换成更高效的编码后,就有机会在相近观感下把体积压下来。
对普通用户来说,这意味着过去被嫌弃的转码/重新编码,现在反而可能变成省钱省空间的实用手段。当然,具体能省多少、画质损失多大,取决于源文件、编码设置和硬件能力,材料里没有给出统一答案,也就不必硬套一个数字。