内容提要
绿联UG307-95348采集卡(MS2130S芯片)存在清晰度与颜色问题。清晰度上,macOS下OBS须选60 FPS,30 FPS经MJPEG压缩更模糊。颜色上,画面偏亮(200变219),由芯片luma processing导致。作者用hidapi将寄存器0xfc8e从0x00改为0x11修复,并逆向8051固件打补丁持久化,代码已开源。
延伸解读
清晰度问题的根源与选择建议
文章指出,在 macOS 的 OBS 中,选择 60 FPS 的 4K 格式反而比 30 FPS 更清晰,因为 60 FPS 版本经过了 MJPEG 压缩,实际传输的是压缩数据,而 30 FPS 版本可能因带宽限制导致画质损耗。读者在设置采集卡时,应优先选择带 60 FPS 的格式,并关闭 Use Preset 选项,以避免模糊。
颜色偏差的机制与临时修复
采集卡默认开启 luma processing,导致 limited range 下 200 被映射为 219,颜色偏亮。作者通过 hidapi 将寄存器 0xfc8e 从 0x00 改为 0x11 禁用该处理,使颜色恢复正常(200 变为 199)。此方法需在每次采集开始后运行工具,适合快速验证,但非持久方案。
固件补丁实现持久修复
为免每次手动操作,作者逆向 8051 固件,将两处 MOV R3,#00h 改为 MOV R3,#01h,使复位流程中 0xfc8e 的 bit0 和 bit4 被置位,从而永久禁用 luma processing。补丁涉及文件偏移 0x1429e 和 0x142b4,并更新校验和。操作有变砖风险,需提前备份固件。
修复的局限性与注意事项
实测表明,修改 0xfc8e 仅对 3840x2160 60 FPS 模式有效,对 30 FPS 模式无效,后者仍模糊且颜色错误。因此,用户应确保使用 60 FPS 格式。此外,固件补丁需谨慎操作,建议参考开源项目并备份原固件,以降低风险。
Q&A
绿联 UG307-95348 采集卡在 macOS 上怎么设置 OBS 才能避免画面模糊?
在 OBS 中关闭 Use Preset 选项,选择 3840x2160 (16:9) - 30, 60 FPS - CS 709 - NV12 (420v) 格式,不要选 30 FPS 的版本。因为 60 FPS 版本经过 MJPEG 压缩,实际分辨率更高,画质更清晰;而 30 FPS 版本未经压缩,受 USB 带宽限制,内部处理有损耗,画面更糊。
为什么绿联 UG307-95348 采集卡采集的画面颜色偏亮?
因为采集卡芯片 MS2130S 自带的 luma processing 功能导致亮度提升。例如原本 RGB 200 会显示为 219,244 显示为 255。原因是采集卡输出 limited range(16-235)的 204,转换到 full range 后变成 219。关闭 luma processing 即可修复。
如何通过软件工具临时修复绿联 UG307-95348 采集卡的颜色问题?
可以使用基于 hidapi 的工具 ugreen_fix_toggle,在 OBS 开始录制后运行,将寄存器 0xfc8e 的值从 0x00 改为 0x11,即可关闭 luma processing,实时修复颜色。再次运行可切换回 0x00 重现问题。
如何永久修复绿联 UG307-95348 采集卡的颜色问题?
可以通过给固件打补丁实现持久化修复。使用 steve-m/ms213x_flash 导出固件,然后用 steve-m/ms2130_patcher 参考,将固件中两处 MOV R3,#00h 改为 MOV R3,#01h,使寄存器 0xfc8e 最终写入 0x11 而非 0x00,从而禁用 luma processing。补丁后需更新校验和。注意有变砖风险,操作前备份固件。
修复绿联 UG307-95348 采集卡颜色问题后,颜色偏差能完全消除吗?
不能完全消除,但已非常接近。修复后原本 200 变成 199,244 变成 243,仍有微小偏差,但可以认为问题已解决。
绿联 UG307-95348 采集卡的颜色修复方法对所有分辨率模式都有效吗?
不是。实测发现,将寄存器 0xfc8e 改为 0x11 只对 3840x2160 (16:9) - 30, 60 FPS - CS 709 - NV12 (420v) 模式生效,画面清晰且颜色正确;对 3840x2160 (16:9) - 30 FPS - CS 709 - NV12 (420v) 模式无效,画面模糊且颜色不对。具体原因尚未深入分析。