You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:OBS-Websocket窗口投影器projectorGeometry参数格式说明或示例

OBS-Websocket projectorGeometry 参数格式说明
  • 参数本质:projectorGeometry是Qt中QRect对象的二进制序列化数据经过Base64编码后的字符串,并非JSON结构编码产物。Qt会将QRect包含的x、y(窗口左上角坐标)、width、height(宽高)四个整数按序列化规则转换为二进制流,再做Base64编码得到该参数值。

  • 编码示例:

    1. 假设要设置窗口位置为(100, 200),宽800、高600,对应QRect实例为QRect(100, 200, 800, 600)
    2. Qt序列化时,会按小端字节序将四个int32值依次写入二进制流(每个int占4字节),对应二进制数据为:
      • 100 → 0x64 0x00 0x00 0x00
      • 200 → 0xC8 0x00 0x00 0x00
      • 800 → 0x20 0x03 0x00 0x00
      • 600 → 0x58 0x02 0x00 0x00
    3. 将上述二进制数据拼接后做Base64编码,得到有效值:ZAAAAAIAAAAoAAAADAAAA==
  • 快速生成方法:
    可以用Qt代码直接生成目标编码,示例代码如下:

    #include <QRect>
    #include <QByteArray>
    #include <QDebug>
    
    int main() {
        QRect rect(100, 200, 800, 600);
        QByteArray data;
        QDataStream stream(&data, QIODevice::WriteOnly);
        stream << rect;
        qDebug() << data.toBase64();
        return 0;
    }
    

    运行后输出的Base64字符串可直接作为projectorGeometry参数传入。

  • 注意事项:

    • 不同平台的Qt序列化规则可能存在微小差异,但核心逻辑都是QRect二进制序列化+Base64编码
    • 请勿尝试将JSON结构编码后转Base64,此方式无法被OBS-Websocket识别

内容的提问来源于stack exchange,提问作者Alain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 12:04:57