Moonlight Android端自定义分辨率,解决黑边问题

更新:使用原版moonlight修改特殊分辨率需要root权限,没有root权限可尝试此版本的moonlight选择当前设备分辨率。
再次更新:moonlight 9.8版本以上已经支持设置为当前设备分辨率。

问题描述

本人手机分辨率是2340×1080,在使用moonlight串流时分辨率选择1080p,发现有黑边,此时串流的分辨率为1920×1080。


解决方案

第一步,调整主机分辨率

可以看到,主机实际显示的分辨率为1920×1080,所以串流到手机上会有黑边。首先要做的就是让主机输出2340×1080的画面。
在桌面点击右键,打开NVIDIA控制面板,点击更改分辨率,自定义,创建自定义分辨率



这时可以可以自定义水平分辨率,垂直分辨率和刷新率,这三项保持和手机一致即可。
点击“测试”按钮,如果你的显示器无法自定义分辨率,或者无法达到指定的刷新率,可以上某宝搜索“显卡欺骗器”,这个小东西可以虚拟出一个显示器,可以随意的设置分辨率和刷新率。
分辨率添加完成后,在桌面上点击右键,显示设置,将分辨率调整为刚刚添加的显示器。如果使用显卡欺骗器,要先把显示模式调整为扩展,并设置虚拟显示器的分辨率。



如果使用了显卡欺骗器,为了让串流时默认串流虚拟的显示器,可将虚拟显示器设置为主显示器,或者关闭真实的显示器屏幕。
这时候我们开始串流,会发现虽然显卡输出的分辨率是2340×1080,但是串流的分辨率还是1920×1080,而且画面比例被压缩,也还是有黑边。

第二步,客户端设置

打开手机上的moonlight,进入设置,勾选“将画面拉伸至全屏”。



此时开始串流,我们会发现黑边消失,画面比例正常。



但是,用我们的写轮眼观察发现画面有亿点点模糊,仔细查看,发现视频分辨率处赫然写着1920×1080。原来,现在是显卡输出2340×1080,然后在主机端压缩至1920×1080传输到手机,手机上将1920×1080的视频强行拉伸至全屏。这样必然会导致部分像素丢失,而且缩放和拉伸时不能点对点,肯定会存在模糊的情况。

第三步,完美解决(需root)

Moonlight Andorid端设置分辨率为1080p时,其实是将分辨率设置成了1920×1080,我们并不能自定义分辨率。这时候需要手动修改moonlight的配置文件。
注意:接下来的步骤需要有root权限才能完成。

  1. 首先需要准备一个可以访问手机根目录的文件管理器。注意是“/”路径,不是我们平时看到的手机内部存储空间。根据个人习惯,我使用的是“ES文件管理器”。注意:ES文件管理器需要把侧边栏的“root工具箱”打开才能访问根目录。
  2. 进入根目录"/",依次进入data,data,com.limelight,shared_prefs


  3. 修改com.limelight_preferences.xml,将list_resolution改为手机实际的分辨率。


  4. 此时我们重新打开moonlight,开始串流,发现视频分辨率已经变为2340×1080,画面清晰锐利而且没有黑边。至此,问题完美解决。


你可能感兴趣的:(Moonlight Android端自定义分辨率,解决黑边问题)