前言
自己有几个不支持H.264硬解的古董电脑,感觉不爽,最近27元买了一个博通BCM970015视频解压卡,最初是用于上网本平台,mini PCIe的规格,支持H.264、VC-1、WMV9和MPEG-2的硬解,理论上足以应付绝大多数视频了。拿到手先简单上机测一下:
卡由AzureWave生产,型号为AW-VD920H
,搭载一颗BCM70015KFBG
主控和华邦W9751G6JB-25
256Mx16 DDR2 800MHz缓存。
2012年该卡售价约200元,后期价格一直走低,可见并没有多少人买(
支持的格式很丰富,码率也非常高。这个卡还有个小弟版本BCM970012,区别主要是H.264只支持到30帧。
测试平台
最近把那台戴尔Vostro 230又组装了起来,就打算先用这套了,在时间段上也比较匹配;虽然这台机器搭配了支持H.264硬解的显卡,但为了比较显卡硬解和解压卡硬解还是决定继续用这台。
- 处理器:Intel Core 2 Duo E8400 @ 3.00GHz 默频
- 主板:Dell MIG41R
- 内存:2GB DDR3 1333单条,受主板限制降频1066 7-7-7
- 显卡:Dell HD 8570 1GB DDR3
- 硬盘:WD3200AAJS(320GB 7200rpm SATA2机械硬盘)
- 解压卡:Broadcom BCM970015
- 系统:Windows 7 32位 精简版
- 显卡驱动:AMD Adrenalin 18.9.3
- 播放器:PotPlayer 32-bit
驱动程序
先将卡直接插入PCIe x1插槽,识别成“多媒体控制器”,显然系统默认是没有这张卡的驱动的:
虽然已经停产多年,但博通官网仍然保留着此卡的驱动下载。我们直接选择Windows驱动,包含32和64位:
播放器配置
这里使用了最新版的PotPlayer 32位。
驱动安装好后,打开PotPlayer右键点击窗口,转到选项 - 滤镜 - 视频解码器
,点击滤镜/解码器管理
,在弹出的窗口中选择搜索后添加
,确保在左侧DirectShow 滤镜列表
中勾选Broadcom Video Decoder
,点击确定;
然后,在上一层窗口处,将MPEG2
、H.264
、AVC1
设定为使用Broadcom Video Decoder
,点击确定。
此时播放器会调用解压卡。
简要测试
这里先简要测试几个不同场景下的解码能力,CPU软解、GPU硬解、解压卡硬解状态下的画质和CPU占用。视频源均来自NAS,通过千兆局域网访问。
720p低码率H.264
早些年比较常见的压制格式,这里选用的是SumiSora压制的闪乱神乐TV版,平均视频码率740kbps。能够正常播放,仅拖动进度条相比软解有少量延迟。
此时可以发现滤镜使用列表
中存在Broadcom Video Decoder
。
1080p中高码率H.264
目前仍然是比较常见的格式,这里选用LoveLive剧场版的1080p压制版本,平均帧率不高,但片头版权页码率可以达到18-20Mbps,早期的单核CPU无法流畅硬解,因此主要是测试了这小段。
首先是在软解状态下,E8400占用36%,仍然能无掉帧播放:
然后尝试使用HD8570进行GPU硬解,CPU占用率直接降低到0%,同时画质没有劣化:
使用BCM970015硬解,CPU占用率为5%,比软解有明显改善,但仍然高于GPU硬解。猜测BCM970015需要由CPU将解码后的图像传输到GPU,而GPU使用DXVA可以直接叠加到屏幕上,无需CPU再介入。同时,输出分辨率也降至720p:
换成另一部片源,也会出现分辨率降低的情况:
禁用分辨率压缩
可能是为了照顾当时上网本孱弱的CPU和GPU,这张卡默认对720p以上的视频有二次压缩处理,根据这篇帖子,我们可以在注册表中关闭该功能,实现1080p全分辨率输出:
32位系统请修改这里的注册表:
HKEY_LOCAL_MACHINE\SOFTWARE\Broadcom\MediaPC\CrystalHD
添加一个DWORD值 名字改 DilScalingDisable 值设置为1
64位系统:
先按32位系统的更改,然后还有一处需要修改
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Broadcom\MediaPC\CrystalHD
同样添加一个DWORD值 名字改 DilScalingDisable 值设置为1
修改后 重启电脑
测试可以正常播放了
没有进行视频压缩了
关闭分辨率压缩后,CPU占用率提升至12%,内存占用也增加10MB左右,猜测是CPU需要接收1080p的生成图像,并将其压缩回720p(因为我用的显示器是1280 x 1024分辨率),然后再写入显存。播放质量相比显卡硬解没有什么区别:
隔行视频
使用PotPlayer播放TVHeadend串流的广电MPEG-2标清和H.264高清节目源,均为隔行扫描。
可以发现反交错自动启用,帧率可以基本跑满50fps,但输出的横向分辨率减半,画面变模糊。反交错质量并不高,仔细观察会有行间抖动的现象,软解和GPU硬解均无这些问题。
10bit H.264视频
在H.264到H.265过渡期,部分压制组曾使用10bit量化的H.264提升相同画质所需要的码率。使用BCM970015播放10bit视频,不会报错,但显示为黑屏(其他解码器下PotPlayer无法解码视频时,会按照音频文件继续播放,没有视频窗格)。实际上,在H.265和AV1基本普及的现在,N卡到了50系才增加H.264 10bit硬解支持,而以视频处理能力著称的Intel核显则仍然不支持。
总结
这张27元的解压卡可以完成大多数H.264视频的解码任务,对GPU不支持硬解且CPU性能有限的电脑有显著的提升作用。
但缺点也很明显,限制了该卡的实用价值:
- 需要折腾一下才能用;
- 不支持H.265等一些新编码,不支持新的HTML5在线视频播放;
- mini PCIe外形:使用该卡大概率要放弃无线网卡,而采用mini PCIe无线网卡的电脑很多都支持更好的GPU硬解,如果该卡有ExpressCard版本,则不需要占用无线网卡,实用性好很多。此外,采用AGP + PCI总线的电脑(比如我的865G垃圾站)往往缺少GPU硬解功能,但这张卡是PCIe的,通过PCI(主板侧) - PCIe(外设侧)的桥接芯片(如PEX8112)也可以使用此卡,但此类桥接卡普遍不便宜。
参考资料
- 关于bcm970015 图拉丁吧
- Broadcom Hardware Decoder BCM970015
- BCM70012高清视频硬解加速卡 难道yueyue不可爱 知乎
- Atom助推器:博通BCM70012高清硬解卡实测 天极网
$ EOF.