首页 > 编程知识 正文

安卓hdr视频播放软件,如何播放4khdr视频

时间:2023-05-04 10:35:44 阅读:12059 作者:3857

这两年,HDR的概念广泛渗透,无论是手机、电脑还是电视,都在拼命给自己的头上贴上HDR的标签。 在一些发烧友眼里,看电影没有硬盘,就像步兵当骑兵一样,一下子变得无味。 但是,新的事情伴随着很多新的漏洞,特别是在软硬件环境复杂的电脑平台上,稍微一不小心脸就会青肿起来,硬盘的效果并不像普通电影那么好。

电脑广播HDR的大坑里有几何学吗? PC不是专门为视频播放而设计的机器,与专业蓝光机等播放器相比,在解码、渲染、输出方面,都是在一键安装的成熟方案(傻瓜万能播放器等)出现之前,用户自己手动完成关于硬件方面,例如HDMI电缆的版本,以前就有很多说法。 今天,我们来谈谈在软件中播放高清视频时需要注意什么。

正确处理YUV颜色和RGB颜色

如果您曾经关注过视频文件中的参数,您应该知道视频的颜色编码有多种类型。 最常见的是YUV和RGB。 这到底意味着什么呢? 在数字时代,为了使计算机能够识别自然界的颜色,必须对颜色进行编码。 在RGB体系中,颜色由三个参数表示:红、绿和蓝,例如,在PhotoShop中,纯红色代码为[ 255,0,0 ]。

PhotoShop支持各种色彩空间,包括RGB和CMYK

RGB不是唯一的颜色编码方法。 颜色不仅可以用红、绿、蓝来表现,也可以用亮度、色度、浓度来表现。 这个亮度色度浓度的颜色编码方式是YUV。 一些朋友可能会问,RGB效果很好,现在连机壳里的光污染都用了RGB灯,为什么颜色编码要建立这么多体系呢? 这与显示媒体密切相关。

我们在电脑上使用的电脑屏幕是液晶屏或OLED屏幕,显色的基础是RGB三基色的像素点。 因此,可以配合RGB的颜色空间,将数字信号比较完美地转换为可见光。 但是,在电视上RGB并不一定适用。 与电脑显示器相比,电视的历史更长,旧电视,如黑白电视,明显与RGB信号不兼容。 使用YUV颜色空间时,情况会有所不同。 黑白电视只需显示YUV颜色空间的亮度信号就能完美兼容。 由于这个历史原因,视频,特别是来自CD和广播电视信号的视频,基本上使用的是YUV色彩空间,直到今天仍然如此。

与电视机协同工作的设备支持PS4等YUV输出

由于当前的HDR视频大多数来源于UHD BD盘,因此将YUV信号转换为RGB信号也成为HDR视频播放中不可缺少的一环。 很遗憾,Windows上的EVR渲染器在这方面工作不太好。 当解码器将YUV信号输出到EVR进行渲染时,EVR只会进行低精度转换,严重影响图像质量。 高清视频色彩丰富,负面影响尤为明显。

怎么解决这个问题? 有两种想法。

第一种想法是,让解码器仅向EVR输入RGB 8比特信号,使EVR不参与YUVRGB的变换。 为了实现这一点,需要LAV解码器。

视频播放器通常通过视频分路器(分离视频流、音频流、字幕等()解码器)、解码视频、音频)、渲染最终图像)和ruv来播放视频在解码步骤和渲染步骤中都发生。 既然渲染器不出力,就让解码器去做。

LAV是目前PC上功能最强大的解码器,宝贵的是开源和免费。 单击此处进入LAV的GitHub项目,可以下载该版本。 您可以下载安装包,也可以下载ZIP软件包的绿色版本。

根据实际情况和个人喜好选择最新版即可

如何让播放器使用LAV解码? 以PotPlayer为例,在PotPlayer的“全局滤镜优先级”栏中添加系统滤镜或外部滤镜。 这取决于您是使用LAV安装包还是绿色版本。 以下,以绿色版为例。 将LAV绿色压缩包解压缩到文件夹中。 目录中不要包含中文。 添加中的“LAV视频. ax”即可添加LAV视频解码器。

找到PotPlayer的“全局滤镜优先级”

添加“lav视频. ax”作为外部过滤器

然后,将PotPlayer中的“lav视频解码器”设置为强制使用,双击进入设置。

选择“强制使用”

在“输出格式”栏中可以看到各种输出格式。 此时,只勾选RGB32、RGB24两个即可,除此之外取消勾选。 保存设置后,播放器解码时仅输出RGB 8bit信号,EVR渲染器不再执行低质量的转换过程。

只保留8位的RGB输出

第二种想法是更换成更好的渲染器,如madVR。 madVR是PC上画质最好的视频渲染器,可以高质量地处理YUVRGB转换。 稍后将介绍如何使用madVR渲染器,但在此不详细展开。

如何成功解码10位

如果你小心的话,你会发现很多高清视频的颜色深度都是10位。 目前流行的视频一般多为8bit,10bit视频与8bit相比灰度更平滑,同样画质的视频体积更小,但同时解码所需的性能也有了相当大的提高。

10位对提高画质有正面意义,为什么高清视频要使用10位? 这主要得益于蓝光联盟的推动。 硬盘视频位置

以流行,是由于在2015年蓝光联盟正式确定了UHD BD的规格,之后两三年越来越多的片子推出了UHD BD碟片。而UHD BD内的片子规格有几个关键点,分别是H.265(HEVC)的编码,10-bit色深以及HDR色彩(高达BT.2020色域)。因此,10bit色深这个规格越来越多地出现在了各种视频当中。

一个典型的原盘HDR视频,参数包括HEVC编码、10bit色深、BT.2020色域、YUV 4:2:0色彩空间

如果你的CPU足够强劲,那么可以使用软解来播放10bit视频,和硬解相比这也更不容易出错。但是如果你觉得视频卡顿,恐怕就需要考虑硬解了。如何才能正确硬解10bit视频?首先得判断显卡是否有能力支持10bit视频的硬解。

硬解和GPU相关,先来说说NV方面。NV的硬解技术为PureVideo,要比较好地解码4K HEVC 10-bit视频,需要PureVideo VP7或以上规格的技术。那么有什么NV显卡支持这个规格呢?到了帕斯卡这一代,包括GP102、GP104、GP106、GP107、GP108核心,全部都配备了PureVideo VP8,硬解4K HEVC 10-bit视频无压力;但上一代就比较诡异了,只有GM206(包括GTX 950、GTX 960)支持PureVideo VP7,其他都只支持VP6。

GTX 900系列只有GTX 950、960支持4K HEVC 10-bit硬解,GTX 1000系列全支持

再来说说AMD的GPU。AMD GPU的硬解技术是UVD,只有UVD 6.3或以上的版本,才能够硬解4K HEVC 10-bit视频。AMD的独显目前只有RX 400系列、RX 500、Vega系列有能力硬解,以及Stoney Ridge之后的APU可以硬解。

Intel的GPU硬解技术是Intel Quick Sync Video,只有Broxton(最新一代Atom,已停产),以及Kaby Lake(第七代酷睿)及更新的产品线能够硬解4K HEVC 10-bit视频。

Intel只有Kaby Lake之后的产品可完美硬解4K HEVC 10-bit视频

除了看型号,还有一个最简单的判断GPU是否可以硬解4K HEVC 10-bit视频的方法——使用DXVAChecker这款小软件即可。如果看到“HEVC_VLD_Main10”一栏中有显示“4K”或者“QFHD”,那就说明GPU可以硬解4K HEVC 10-bit视频。

DXVAChecker,可检查硬解的支持情况

接着,需要正确配置解码器,这里仍以LAV解码器为例,这是目前能比较好地解码10bit的解码器。在LAV解码器当中,可以在“Hardware Acceleration”处选择硬解方式,目前常用的一般是两种硬解,一种是“DXVA2(native)”,另一种是“DXVA2(copy-back)”。

如果软解性能不够,需要硬解,推荐使用DXVA2 copy-back

这两种硬解的区别在于,native会把数据完全交给GPU处理,而copy-back会多出一个回传到内存给CPU处理的步骤。从效率的角度来说,native会更高一些。但是,如果要硬解10bit视频,并不推荐使用native。

一来,使用DXVA native硬解,某些GPU解码可能会出现问题,例如AMD RX显卡用native解码10bit可能会出问题,但NV的GTX10X0就不会,你很难判断到底某显卡用native解码能不能正常工作,用copy-back大家都是没问题的。二来使用native解码会强制使用YUV输出(在LAV设置了RGB输出也不行),如果使用EVR渲染器画质会比较差。

因此,如果你想要用显卡硬解10bit视频,那么推荐使用LAV解码器当中的DXVA2 copy-back硬解方式。如果性能足够强劲,还是推荐使用CPU软解,最不容易出错。无论哪种硬解,都只对色彩空间是YUV 4:2:0的视频有效,遇到YUV 4:4:4之类的高规格还是会软解的。与此同时,如果用madVR渲染的话还要注意版本,madVR在0.9之后的版本才开始支持DXVA YUV 4:2:0的10bit解码输入。另外,软解虽然费CPU,但也可以把更多的GPU资源留给madVR渲染器,以获取更高的画质,因此如果CPU性能够强,还是软解更合适。

播放HDR如何才能不偏色

BT.2020 HDR色域转换BT.709 SDR色域

前面说到,HDR视频的色域是BT.2020,这是一个广色域。色域越广,色彩往往越丰富,因此HDR的片子往往会艳丽很多。但是,现在的电脑显示器未必都可以支持BT.2020色域,绝大多数的显示器只能支持色域BT.709(SDR级别色域)。此情此景下,如果直接播放HDR视频,那么色彩甚至会比普通的视频更加黯淡。要怎样才能获得比较好的效果?色域的转换处理必不可少。

直接在SDR屏幕播放HDR视频,会非常黯淡

经由精确的色域转换后,色彩才会变得正常

要让HDR视频在普通屏幕上也变得明亮鲜活,需要将BT.2020色域进行精确转换,而不是简单粗暴砍成BT.709。这时候,渲染器所起到的作用就相当关键了。怎样的渲染器才能比较好地进行色域转换处理?madVR是最好的选择。

madVR是PC平台上最好的视频渲染器,没有之一。在比较早的时候,madVR已经加入了BT.2020色域转换的选项;而在近期版本,madVR还出现了专门的“HDR选项卡”,在当中就可以设置将HDR色域处理成普通的SDR色彩了。

在官网下载madVR即可,可以看到它支持众多播放器,这里仍以PotPlayer为例

我们首先需要把madVR设置为播放器的渲染器,这里仍然以PotPlayer为例。madVR目前只有绿色版,点此进入官网下载,之后将madVR解压到一个文件目录当中。在PotPlayer“全局滤镜优先权”一栏添加外部滤镜,接着添加madVR目录当中的“madVR.ax”或者“madVR64.ax”(取决于系统是否64位),然后将madVR设置为强制使用,双击进行配置。

强制使用madVR作渲染器

在madVR“devices”当中,可以看到当前的显示器,然后展开显示器的菜单,可以看到“hdr”选项。如果你的显示器是非HDR的,那么选中“convert HDR content to SDR by using pixel shader math”即可。如果你信得过软件自动识别,那么也可以选择“let madVR decide”,一般情况下还是靠谱的。

madVR可以较好地处理色域转换,不想折腾选择自动即可

这里可以讲一下madVR这里几个关于HDR色域转换的选项,其他选项在什么情况下用得着?如果你用的是支持HDR的屏幕,例如某些电视机或者高端显示器,那么可以选择“passthrough HDR content to the display”,这样会直接把HDR不经由转换,原封不动地进行输出。而如果你用的是广色域屏幕但色域不是BT.2020,例如色域是Adobe 99%的设计专用屏幕,可以选择“process HDR content by using pixel shader math”,这样HDR色彩会经过转换处理,显示更加准确。

而如果你的屏幕经过校色仪校准,并且让校色软件(例如DispalyCal)生成了3DLUT校色档案,并且校色软件支持将其输出到madVR当中,那么可以选择选项后带有“using an external 3DLUT”的选项,一般情况下就不要选了。

HDR显示器直接播放HDR真的没问题吗?

前面提到,madVR是支持输出HDR信号的,如果你的显示器支持HDR,那么是不是就应该让madVR输出HDR?并不一定!虽然很多显示器支持HDR,但效果并不好,贸然使用HDR输出,画质甚至不如将HDR转换为SDR再输出好。

不是所有HDR显示屏都有足够的亮度去实现好的HDR效果的,300cd/m?不到的亮度效果可想而知

现在某些显示器声称支持HDR,但亮度等关键参数并不出彩。如果使用这些设备放映HDR视频,往往会自动切换到HDR模式,反而造成亮度下降、偏色等一系列问题。因此,这类较低端的HDR屏幕使用转换过色域的画面,效果反而会更好。

不仅如此,在HDR模式下可能还会严重偏色,还不如将HDR视频转换为SDR后再播放效果好

毫无疑问,用madVR来处理HDR色域转换是必不可少的方案。而使用madVR还有一个好处,那就是它能够精确地进行YUV和RGB色彩空间的转换。就算解码器输出的是YUV信号,也能够转换成为高质量的RGB信号,比Windows的EVR不知搞到哪里去。madVR唯一的缺点就是比较吃GPU资源,如果你的硬件足够强劲,用的是目前主流的显卡,那么madVR值得强烈推荐。

声道:杜比全景声映射为双声道立体声

说了不少和画面相关的内容,再来说说声音相关的吧。如果HDR视频源自UHD BD,那么往往还会带有多声道。特别是杜比视界HDR,基本上都是和杜比全景声搭配的。如果直接播放这类片子,而输出设备只是普通的2.0、2.1音箱甚至只是耳机,那么声音可能就会出现破音等失真的情况,这又是一个很多人不曾注意的坑。

HDR视频往往搭配多声道,直接用耳机播放可能会出现破音、干音等失真

怎么办?其实LAV滤镜也提供了解决方案。仍然以PotPlayer为例,将“LAVAudio.ax”添加到PotPlayer当中并设置强制使用,然后双击“LAV Audio Decoder”进行配置。

添加LAV Audio Decoder并强制使用

点击“Mixing”选项卡,这里面的功能是和混响相关的,可以将多声道混响为双声道的立体声。勾选“Enable Mixing”,并选择“Stereo”,然后确保“LFE Mix Level”数值为0即可。如此一来,就算用双声道的音箱、耳机播放环绕声的HDR视频,也不会出现破音等情况了。

设置将声音混响为双声道立体声

AACS 2.0:正版HDR输出需要SGX

前面提到,不少HDR视频都是源自于UHD BD,因此一些发烧友也会直接购买正版的UHD BD碟片观看。但是,如果用电脑配合UHD BD光驱来播放正版HDR影片,需要讲究的地方也不少,一不小心也会掉到坑里面。

首先,播放软件不能使用PotPlayer这样普通的播放器了。正版的UHD BD带有AACS 2.0防盗版技术,需要经由认证的软件才能播放。目前只有正版的PowerDVD才可以播放UHD BD,破解版的无法播放。这个软件并不便宜,支持UHD BD的版本售价为580元人民币。不过购买某些UHD BD光驱,可能会获赠这一软件,大家可以留意厂商活动和产品说明。

要播放正版UHD BD,需要正版PowerDVD

其次,要播放正版UHD BD光盘还需要CPU支持SGX。该技术是英特尔特有,而且只存在于部分Kaby Lake以及Sky Lake之后的CPU中(点此查看支持SGX CPU列表 ),AMD所有平台、英特尔的X99等其他平台的CPU一律无法播放版权限制的UHD BD。要看正版4K HDR蓝光碟,A饭是当不成了。

正版UHD BD需要CPU支持SGX

总结

HDR视频日渐流行,但距离全面普及显然还有一大段距离。现在使用电脑播放HDR视频仍需要细心料理每一个环节,效果才能比较令人满意。希望有越来越多成熟方案出现,有朝一日大家都能轻松感受到到HDR视频的精彩之处吧。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。