将WIN配置成电视机顶盒及折腾红外MCE

今年春节在家,受疫情影响大大小小户外活动都没有了,家人一天到晚除了吃饭睡觉看电视就只有刷手机了。虽然我倒是比较乐意宅在家写写代码和网友摸鱼,闲不下来的我还是盯上自家电视想给家人找点乐子。

实际上我家前后换过几台机顶盒,前面两台英菲克的一台用了一阵就卡的要命,于是又买了台高配的,实际表现也不佳,去年被我拿去折腾干掉原生桌面换了网上用户更多的网络电视应用,但硬件性能摆在那,该卡还卡无济于事,最后在尝试刷机失败后变砖了,也懒得救了。

家里新的机顶盒是中国移动宽带送的IPTV,虽然也是安卓而且非常封闭(家里没人知道管理员密码),可装的应用也少。但它系统界面一般不卡,功能也算完善,直播回看点播等也没有卡顿。它的网络配置也是专用的,自带一个路由器,接它的口DHCP出来一个100.106.192.0/24的IP,不能上网,其他口倒是正常出来192.168.1.0/24供上网,机顶盒接通用网络也无法使用,后台设置界面也没法控制什么东西,我掏个普通路由器换掉它甚至连pppoe都拨不上…这网络没法折腾,据悉有认识的网友家都能拨出IPV6了,只能羡慕。事后查这家IPTV提供商,似乎原来是给广东电信做的IPTV,官网装死各平台应用也无人维护,也不指望客服能帮上什么忙。

之后我还掏出我的树莓派3b(没有+)刷了个安卓TV去尝试充当机顶盒,不过一来系统不稳定,性能也一般,二来没有买红外配件,蓝牙或2.4G鼠标难以操作,虽然最后用某遥控器应用实现手机遥控,感觉过于繁琐,留作备用选项。

家里有一台闲置的华为P20,是家里唯一支持type-c转HDMI输出的手机,恰巧我手上也有转接头,接到我的2k便携屏幕能有1080P(刚接电视时只有720P,排查一圈是HDMI线不行)。装上视频应用播放流畅,性能完全够,不过难点在控制,鉴于因为是华为没法root,树莓派上用过的遥控器应用不管用(只能调起某个应用不能控制),另外尝试投屏、TeamViewer都无法远程控制(只能在对面屏幕上打出个手图标)。即使解决控制问题,我的转接头没有供电输入,也就是说连续播放几个小时后就得充电去。无法作为机顶盒用,不过它还是另一个方案的组成之一。

去年入手了一台Intel NUC 8,组装上手后果断抛弃用了几年的破烂笔记本,将这台微型台式当主力电脑,店家给的配件很足(不像官方店那样不配电源),其中包括了一个红外MCE遥控器,而NUC也内置了红外接收器,Intel官网上找驱动也非常简单,于是我计划拿NUC当机顶盒。这个方案瓶颈也在控制上,准确地说,有大量资源(两个送的VIP)的视频应用对遥控器(或纯键盘)操作支持不好,对遥控器有良好支持的应用却在资源上远不及其他,先下载资源后播放的模式又不适合没有特定观看目标的场景。姑且记录下弃用的配置过程。

MCE Remote
买NUC送的三星红外遥控器

对遥控器(WM_API)支持良好的播放器配置:这里使用了Kodi,另外还有VLC、PotPlayer等。这些本质上只是个播放器,只要支持网络串流,有合适的网络直播源即可。稍微找了一下能流畅播放的源大都只有央视频道,地方台都比较困难,也无法回看,尝试去扒央视网等网站的直播原源发现上了DRM,没法简单使用了。Kodi还支持各种基于Python的插件,不过适配国内视频网站的插件大多几年无人维护,不能用了,国外资源也大都不合适。

放弃遥控器原生支持那直播/视频源就简单了,浏览器一开应有尽有,装个央视影音电视直播就不是问题,姑且上WIN10应用商店看了一下并没有什么好用的软件。接下来就是折腾遥控器了。

直接上百度查win+红外+遥控并找不到特别有用的东西,而且大多和Kodi等播放器相关。然后想到AutoHotKey,但要清楚遥控上的按键对应的键码,用检测软件只有部分按键能检测出未知键码,翻AHK的帮助红外遥控器的支持可以还依赖于WinLIRC,于是转头研究WinLIRC去。这软件也几年没更新了,插件DLL里也只见MCE_XP、MCE_VISTA64,不见win7或win10的(虽然可能Vista以来API没再改),但各个插件试过后(除了MCE_XP,但明显不对)依旧跑不起来,不过根据图片提示我是在这里才意识到我手上的遥控器是MCE,转头研究MCE。见到一个叫GhostEvent软件支持MCE,稍加探索无果,服务装不上。

同样上百度查MCE遥控,出来的结果也还大都是Kodi相关的,不过我注意到一个帖子,去Kodi的论坛下一个叫“AdvancedMCERemoteMapper”的软件,就可以自定义按键功能;找到软件打开,并且能够读到默认的按键功能,虽然暂时没有确定按键对应,我还是给全部设置上不同功能,根据界面提示按钮写进注册表。重启,无效。)╯┻━┻

好吧这个软件还给了个按钮打开注册表编辑器,看看它改了啥。注册表路径是“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HidIr\Remotes\745a17a0-74d3-11d0-b6fe-00a0c90f57da”,修改的键是“ReportMappingTable”,内容应该就是扫描码映射按键。另外注意到有个“RemoteName”的键内容是“RC6 based MCE remote”,而上一级目录Remotes下还有很多其他UUID,其中就在当前目录后的一个目录尾号“57db”的项里“RemoteName”是“Samsung MCE remote”,恰巧我的遥控器上也有三星的标志,于是推测是不同遥控器使用不同注册表,把“ReportMappingTable”复制过去重启,无效。

行吧,既然是有部分按键能使用的设备应该能找到对应的UUID的,于是打开设备管理器找。这不是和软件默认使用的UUID一样吗…好吧我把“Remotes”目录都看一遍好了,除了前面提到的两个RemoteName,后面的依次是“MCIR Standard Keyboard Remote”,“MCIR Japanese Keyboard Remote”,“MCIR Three Button Mouse Remote”,“XBOX ONE remote”,“QuatroPulse MCE remote”,除了最后一个UUID相差比较大外,其他的UUID都是相连的,而且以上都看起来不像手上的遥控。不过还有一个UUID比默认使用的小0x100的,它的RemoteName是“RC6 based MCE and XBOX360 remote”;嗯? RC6 based 再次出现了不过加上了XBOX360,非常象某种不兼容的小改动,果断改它的 ReportMappingTable 重启,成功了,这下我可以相当自由地修改遥控器的按键功能了。

把数字按钮映射到小键盘去再加个NumLock和启动小键盘鼠标的按键,遥控控制鼠标也没问题了,虽然因为键盘排布问题上下方向是相反的。配置好软件的播放、暂停、全屏、退出等按钮就基本可用了。我还接上了无线鼠标以备不时之需。

因为电视屏幕大通常又离座位比较远,所以要调整显示,另外由于央视影音对高分辨率支持不行,我把输出分辨率调成1280*720,自定义缩放设为125%。开启平板模式(其实没什么用)。

电视功能没问题了,但我就没电脑用了…然后就到上面提到的P20出场了,type-c接显示器,蓝牙连键盘,接上WIFI连回NUC的远程桌面,远程办公环境有了,虽然隔几个小时得充电。然后还有一些琐事,比如用RDPWarper破解WIN10远程桌面默认只允许一个session,开个新Windows账号以备同时使用。P20办公


事后问同学有没有其他方案

去买个小米电视机顶盒不就好了

留下评论