Xbox Game Bar录制的视频在Apple设备上播放不正常的解决方法

TL;DR

⚠️ Warning: 修改注册表前记录备份原始值,如果出问题还能恢复!修改注册表务必谨慎!修改注册表务必谨慎!修改注册表务必谨慎!重要的话说三遍!

如果出现Windows Xbox Game Bar录制的视频在Apple设备上播放出现绿边或花屏的情况,可以尝试。

  1. Win + R输入regedit,打开注册表编辑器;
  2. 左边目录依次定位到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\GameDVR,打开后看右边;
  3. VideoEncodingResolutionMode双击打开,将值改为0
  4. CustomVideoEncodingHeight改为1080(十进制);
  5. CustomVideoEncodingWidth改为1920(十进制);
  6. 保存重启计算机,搞定。

奇怪的故障

Windows上Xbox Game Bar的录制功能很方便,但一直有个苦恼的问题困扰我,录制的视频在Apple设备(iOS, iPadOS, macOS)上播放不正常,表现为有一个位于下方和右侧的绿边以及视频闪烁花屏,但是预览图是正常的视频画面和绿框,大致长下面这样。

在Apple设备上播放时的绿框和花屏

预览图是正常的画面外加绿框

用Apple设备去看这个视频的信息,可以看到视频的长宽是2560x1440.

Apple设备看到的视频信息

在我百思不解的时候,注视着这个预览图让我突然有了一个想法,感觉这个视频在“绿幕”上占的比例很特殊,我打开了Final Cut Pro X,新建了一个1920x1080的画面,然后把这个视频按100%的比例放在画面上,按左上角对齐的话发现正好完美地切掉绿边!

这意味着什么,意味着这个视频真实的分辨率其实是1920x1080,而不是2560x1440,应该是文件的metadata里有什么信息在Windows和Apple设备上的处理方法不一样,导致了后者的误解,用一个2560x1440的画面在播放它,缺少的部分用绿色填充成了绿框。

寻找原因

有了这个猜想后,我就开始寻找原因了。用Windows上的Potplayer打开这个视频的信息,发现了和Apple设备上矛盾的地方。

Windows上Potplayer显示的视频信息

这里有WidthOriginal width两个不同的值,分别是2560和1920,这就和我们前面的实验结果吻合了——Apple设备按照2560x1440的分辨率去播放了一个1920x1080的视频,空余的地方出现了错误,用绿色填充成了绿框,但在Windows上就忽略了Width信息,只用Original width信息,也就是用1920x1080的画面去播放这个视频,没有出现这个故障。

找到了问题的原因,但解决的过程又出现了更棘手的麻烦——这个视频是Xbox Game Bar里录制的,Windows的设置界面里没有提供任何和分辨率有关的选项。

Windows上Xbox Game Bar的设置界面

此事的转机出现在突然有一天,我的Xbox Game Bar里的录制按钮变成了灰色,没有任何提示信息,设置界面也是一切正常,但就是几个和录制相关的按钮全部无法点击(让我们一起说,谢谢微软,在bug中给我们了一个操作系统用🙄️),在试图找到解决方案的时候,我看到了这条帖子。

Is Windows 11 Xbox Game Bar Not Working? Try to Fix It! [MiniTool Tips]

按照其中修改注册表的方式修好了这个按钮变灰的问题,但与此同时它提到的这个GameDVR注册表路径里其他的一些选项引起了我的注意。

解决方案

⚠️ Warning: 修改注册表前记录备份原始值,如果出问题还能恢复!修改注册表务必非常小心,出错可能会导致非常严重的后果,谨慎且三思而后行!

我进行了一通的尝试,过程就不赘述了,我发现这个问题可以通过修改注册表里几个值解决。

按Win+R键,输入regedit打开注册表编辑器,在左边依次寻找

1
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\GameDVR

GameDVR注册表选项

打开GameDVR目录下,右边出现一些键值,我们需要修改的是如下三项,如果没有可以在右侧空白处右键单击,选择新建 > DWORD(32位)值手动添加:

  1. 对于VideoEncodingResolutionMode这个选项,双击打开它,将值改为0,确定。此时再去用Xbox Game Bar录个视频,再用Potplayer打开文件信息,发现不再有WidthOriginal width两个不同的值了,但此时的视频可能会比较模糊。
  2. CustomVideoEncodingHeight改为想要的视频高度,点击“十进制”然后输入1080(建议)。
  3. 同理,将CustomVideoEncodingWidth改为想要的视频宽度,点击“十进制”然后输入1920(建议)。

将VideoEncodingResolutionMode设为0

将CustomVideoEncodingHeight设为1080,另一项类似

修改好以上几个值后,重启电脑,录制的视频传到Apple设备上就可以正常播放啦,问题解决!🎉

Postscript

前文提到修复录制按钮变灰的问题的方法,也值得被记录下来。

注册表编辑器中前往HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\GameDVR,将AppCaptureEnabled设置为1.

如果看不到AppCaptureEnabled,在右侧右键单击,选择新建 > DWORD(32位)值,名字写为AppCaptureEnabled,将值设置为1.

与此同时,这个目录下的其他键也根据命名也能猜个大概功能,可以手动设置视频的码率等(这些选项在GUI菜单中未提供),大家自行研究吧,但再次提醒,调整注册表务必谨慎小心!

Xbox Game Bar录制的视频在Apple设备上播放不正常的解决方法

https://blog.flynnoct.com/xbox-game-bar-recording-video-on-apple-device-playback-not-working-solution/

Author

Flynn

Posted on

2022-08-06

Updated on

2022-08-06

Licensed under

Comments