前言

一直在 RPi v2 上安装 OSMC 作为家用影音播放器(+网络加速服务),
不得不说相较于动辄近千的诸多安卓 OTT 盒子 ,
其性价比可用“奇高”来形容。

上半年升级 X9300D 之后折腾了一阵子各种盒子,
但播放全高清 3D 我仍旧使用 OSMC
(事实上目前因为安卓的 libnfs 性能问题我已基本用回它)。

对基于 Kodi 的 3D 播放方案有兴趣的童鞋可关注此帖
作者会定期更新。

准备

硬件

若想确认硬件上是否支持,
SSH 到 OSMC 执行:

tvservice -m CEA | grep 3D: --color
           mode 4: 1280x720 @ 60Hz 16:9, clock:74MHz progressive 3D:FP|TopBot|SbS-HH
           mode 5: 1920x1080 @ 60Hz 16:9, clock:74MHz interlaced 3D:FP|TopBot|SbS-HH
           mode 19: 1280x720 @ 50Hz 16:9, clock:74MHz progressive 3D:FP|TopBot|SbS-HH
           mode 20: 1920x1080 @ 50Hz 16:9, clock:74MHz interlaced 3D:FP|TopBot|SbS-HH
           mode 32: 1920x1080 @ 24Hz 16:9, clock:74MHz progressive 3D:FP|TopBot|SbS-HH
           mode 34: 1920x1080 @ 30Hz 16:9, clock:74MHz progressive 3D:FP|TopBot

可见我的显示设备支持多种模式下的 FP (即“帧封装”), TAB (亦作 OU ,即“上下”) 和 SBS (即“左右”)格式(可惜不支持 4K 3D );
FP (Frame Packing) 就是我们今天的目标——

它是蓝光 3D 的标准输出格式,
通俗地讲它能提供双眼同时 1080p 的解析度(亦即很多人所称的“全高”或“全宽”)。
更多信息可参考这里

线缆方面则更简单 - HDMI 1.4 即可。
切勿迷信于贵的离谱的 HDMI 线缆。(高速线即可)
当然,土豪可以先换上 HDMI 2.0 端口的显示设备,
毕竟连 PS4 都即将支持 HDR 输出

2016-09-10 更新
索尼在 PS4 上使用的 HDR 方案 Dolby Vision 仅要求 1.4b
这或许是最高仅支持 HDMI 2.0 的老款 PS4 也能收到 HDR 韧件更新的原因所在 😂 。
2016-09-16 再次更新:
官方解释 PS4 的 HDR 方案是 HDR10 并非 Dolby Vision (好消息是我的电视并不支持后者),
老 PS4 只能以 1080p 的解析度显示 8bit HDR

限制

有一些信息我们需要事先了解:

  • 硬解能力限制,解析度高于 1920x1080 不予支持;
  • OSMC 基于 Kodi ,后者当前稳定版 v16 仅支持以 MKV 格式封装的 MVC 编码视频( v17 才会支持 ISO 格式);

资源

接下来我们来准备一些视频资源用于测试:

自行 Rip

蓝光爱好者请拿出自己的存货。
由于目前还无法直接播放 ISO 格式的 FHD 3D ,
我们需要使用 MakeMKV 等工具来 Rip 。
由于步骤诸多这里不再赘述,
请参考更专业的教程

他处获取

可从 Kodi 的官方 Samples 页下载一部短小精悍的 MVC 3D MKV
当然网上亦有一些其它资源,请自行寻找。

命名规则

用上述两种方式我们能得到基于 MKV 格式封装的视频,
.mkv 为后缀。

为了让 OSMC 能正确以 3D 视频待之,
请在其文件名中增加诸如 .3d.mvc. 字样;
更多命名方式请参考官方 Wiki 页

事实上命名为 .3d.sbs..3d.tab. 均可,
其中 .3d. 将触发 3D 信号识别,
对于 FP只影响 OSD 的 UI 显示方式
具体是否以 FP 格式播放已不再依靠 EDID 信息
而是开启系统选项(下述)后据 MKV 文件的 Stereomode 标签来判断。

设置

这里指的“系统”当然是 OSMC ,
请进入 System/Settings 开启 Export 模式(不同主题切换方式不一),
然后依次完成如下设置:

  • 设置 Video/Adjust display refresh rateAlwaysOn Start/Stop 亦可,但推荐前者);
  • 开启 Video/Acceleration/Decode the stereo stream from 3D files
  • 开启 System/Video output/Enable Full HD HDMI modes for stereoscopic 3D

上述设置项是播放 FHD 3D 视频的必备设置项,
事实上你还可以做字幕的 3D 深度等其它调整,
请据需要自行设置。

播放

既然一切已准备妥当,
OSMC 里选中视频进行播放(记得戴好 3D 眼镜)。


问题排查

折腾嘛……难免遇到问题,
若仍以 2D 或 SBS/TAB 播放,
请尝试如下方法排查——

  • OSMC 或 Kodi 版本不够无法播放 MVC ,请至少升级至 v16 Jarvis
  • 你错误地播放了蓝光 ISO 格式,请升级 v17 Krypton 测试版;
  • 如使用 MakeMKV 1.9.10 以上版本进行 Rip ,则相应 Video Track 的 videostereomode 会被标记为 13左眼优先),可用 MKVToolNix 去除该项(或设为 1 ,目前看来是 v16 的锅)。
  • 最悲剧的是压根就不是 3D 视频,可通过 MediaInfo 检查——
brew install mediainfo
mediainfo 'Sample.3D.MVC@1080p/23.976.mkv' | grep 'Stereo\|MultiView_Count' --color

正确的实例:

Format profile  : Stereo High@L4.1 / High@L4.1
MultiView_Count : 2

其它

HD Audio

我对高清音频追求不高(毕竟穷),
目前通过在 OSMC 中对部分音频格式开启 Passthrough 走 HDMI 输出到电视,
电视再通过 ARC 端口连接某低端 SoundBar ;
(反正 ARC 也不支持 TrueHD & DTS-HD MA )
对于不支持的次世代音频就降级处理了。

4K

RPi v3 还可以考虑玩一玩v2 就放弃吧。

标签: OSMC, RaspberryPi, Kodi

已有 2 条评论

  1. Obi-Wan Obi-Wan

    爱你哟,么么哒

    1. Chao QU Chao QU

      @Obi-Wan
      已抄送 Fish 。

添加新评论