由于Shield TV并没有原生的视频播放器,要观看视频必须另行安装KODI或SPMC,另外对视频播放的一些细节也处理得并不完善。而且Shield在国内仍然比较小众,很多东西在网上找不到中文的资料,以下就分享一些播放4KHDR视频的经验,供大家玩机参考。
首先你需要一台支持4K HDR的电视
一般来说,对电视不需要做特别的操作,但一些品牌的电视需要手工打开HDMI增强模式,即HDMI 2.0a支持,否则无法正确显示HDR内容。打开的方法各品牌电视都不相同,比如Sony电视是在[设置] — [外部输入] — [HDMI 信号格式]中,选择[增强模式],而三星电视需要打开 [HDMI UHD Color] 选项,请查阅说明书或者百度解决。
另外某些电视并不是所有的HDMI接口都支持2.0a标准,请确保HDMI接在上正确的接口上。如果接了HDMI 1.4接口,则最大只能支持4K 30fps,并且不能播放HDR(画面颜色会泛灰)。
SPMC/KODI设置
首先请将SPMC/KODI的设置级别更改为“专家”,否则无法看到大多数选项。
视频 - 播放 - 调整显示刷新率
选择这个选项之后,SPMC/KODI根据当前播放内容的帧率,自动调整Shield的输出帧率,以获得平滑的画面。在播放1080P视频时,建议打开这个选项,这样画面就不会有抖动了。
但对于4K HDR视频,正如刚才所说,Shield存在一个bug。当打开这个选项后,Shield可以成功将帧率转换为23.976Hz,但色彩空间却被错误的转换为BT.709,这导致HDR无法正确显示。按我的实际测试,打开这个选项后,播放4K HDR视频时电视不会自动切换至HDR模式,画面也现泛灰的情况。
所以想要正确播放4K HDR视频,必须关闭这个选项。但是关闭后由于播放器与Shield的输出帧率不一致,会对视频进行3:2 pulldown,导致画面出现抖动(judder)。在我这里,打开Sony电视的MotionFlow后这个抖动并不明显,但仍然会增加眼睛的疲劳。
要解决抖动问题,就只能在播放4K HDR视频前,手动将Shield的输出帧率设置为23.976Hz,但要注意由于HDMI规格,4:2:0 10-bit Rec.2020模式是不支持23.976Hz输出的,所以要用这个办法必需将Shield设置为4:2:2 12-bit Rec.2020来显示。并且23.976Hz的帧率会导致Shield的界面操作变卡,所以播放完视频后要记得改回59.940Hz。
另外,下方的“同步回放显示”这个选项选中后,会通过改变播放速度强行令视频的帧率与电视的帧率同步,这会得到平滑的画面。但为了避免音画不同步,KODI会同时更改音频的播放速度,这会导致所有音频的重编码,所以如果你连接了功放及音响系统,必须一直关闭这个选项,否则音频无法源码输出。
设置 - 系统 - 视频输出 - 分辨率
KODI/SPCM允许单独对软件的UI分辨率进行设置,一般来说随电视设置为4K就行,但这又牵涉到两个问题。
如果将KODI/SPMC的界面分辨率设置为4K,当你播放1080P影片时,Shield将会把信号倍线(upscale)至4K,然后才传输给电视播放。这个问题在于,Shield基于软件的视频upscaler比电视的芯片级upscaler效果差了很多,这就导致1080P的画面看起来会不够锐利。
如果将KODI/SPMC的界面分辨率设置为1080P,则Shield会将低于1080P的影片倍线至1080P,而对1080P及4K影片,会直接传输给电视。这样1080P的影片便是由电视来进行倍线的,经过实际测试,画面确实会变得锐利一些。所以如果你会经常播放1080P影片,推荐将KODI/SPMC的界面分辨率设置为1080P。
至于KODI的界面帧率,对影片流畅度还是有影响的,由于KODI大多数时候都是播放蓝光内容,所以可以一直设置为23.976Hz。这会让KODI的界面操作变卡,但在Nvidia修复色彩空间切换的bug之前(据说今年升级Andorid Oreo之后有希望修复),只能忍了。
另外,“设置用户界面分辨率限制”推荐设置为“无限制”,“垂直空白同步”推荐设置为“始终开启”。advancedsettings
为了照顾小内存的设备,KODI/SPMC在缓冲区上有所限制,这就导致播放一些高码率的原盘视频时会出现频繁缓冲的情况。此时可以尝试如下方法:
1. 在电脑上创建一个 advancedsettings.xml 文件
2. 依你的软件版本填入如下内容:
KODI 16及SPMC 16填入:
<advancedsettings>
<network>
<buffermode>1</buffermode>
<cachemembuffersize>278921216</cachemembuffersize>
<readbufferfactor>20</readbufferfactor>
</network>
</advancedsettings>
KODI 17及SPMC 17或以上填入:
<advancedsettings>
<cache>
<buffermode>1</buffermode>
<memorysize>278921216</memorysize>
<readfactor>20</readfactor>
</cache>
</advancedsettings>
然后将文件放进KODI/SPMC的目录中:
KODI: Android/data/org.xbmc.kodi/files/.kodi/userdata/
SPMC: Android/data/com.semperpax.spmc16/files/.spmc/userdata/
这样设置后,KODI/SPMC会使用大约800内存进行缓冲,4K原盘就可以流畅播放了!
文章转自hao4K:www.hao4k.cn