obsproject / obs-websocket

Remote-control of OBS Studio through WebSocket
GNU General Public License v2.0
3.86k stars 707 forks source link

Bug: Document Description Error #1176

Closed Parfaitomcat closed 8 months ago

Parfaitomcat commented 11 months ago

Operating System Info

Windows 11

Other OS

No response

OBS Studio Version

29.0.x

OBS Studio Version (Other)

No response

obs-websocket Version

5.1.0

OBS Studio Log URL

None

OBS Studio Crash Log URL

None

Expected Behavior

In order to create an ObsWebsocket client, I read the ObsWebsocket protocol and created a program according to the specifications. At this time, we discovered that OBS WebSocket was not sending data according to the protocol in several places. obs-websocket 5.x.x Protocol

Current Behavior

The two errors I found are shown below. 1 In the Response Fields of GetStreamStatus, the Type of outputCongestion is described as Number, but if OBS fails to connect to the stream server, this value is null.

  1. When requesting ToggleRecord, the protocol sheet states that there is no Respose, but in reality, the response is outputActive, just like the toggle stream.

Steps to Reproduce

I am looking at the OBS-WebSocket logs when I find unexpected errors in my program The log for above 1 is as below 10:21:39.024: "requestData": null, 10:21:39.024: "requestId": "bef203bd-4a40-4a9b-bac8-a5b1af1ea86e", 10:21:39.024: "requestType": "GetStreamStatus" 10:21:39.024: }, 10:21:39.024: "op": 6 10:21:39.024: } 10:21:39.024: [obs-websocket] [debug] [WebSocketServer::onMessage] Outgoing message: 10:21:39.024: { 10:21:39.024: "d": { 10:21:39.024: "requestId": "bef203bd-4a40-4a9b-bac8-a5b1af1ea86e", 10:21:39.024: "requestStatus": { 10:21:39.024: "code": 100, 10:21:39.024: "result": true 10:21:39.024: }, 10:21:39.024: "requestType": "GetStreamStatus", 10:21:39.024: "responseData": { 10:21:39.024: "outputActive": false, 10:21:39.024: "outputBytes": 0, 10:21:39.024: "outputCongestion": null, 10:21:39.024: "outputDuration": 0, 10:21:39.024: "outputReconnecting": false, 10:21:39.024: "outputSkippedFrames": 0, 10:21:39.024: "outputTimecode": "00:00:00.000", 10:21:39.024: "outputTotalFrames": 0 10:21:39.024: } 10:21:39.024: }, 10:21:39.024: "op": 7 10:21:39.024: }

The log for above 2 is It is as below. 04:21:22.429: { 04:21:22.429: "d": { 04:21:22.429: "requestData": null, 04:21:22.429: "requestId": "0a6c01c9-a79e-423b-ab89-1075e4be5cf1", 04:21:22.429: "requestType": "ToggleRecord" 04:21:22.429: }, 04:21:22.429: "op": 6 04:21:22.429: } 04:21:22.429: [obs-websocket] [debug] [WebSocketServer::onMessage] Outgoing message: 04:21:22.429: { 04:21:22.429: "d": { 04:21:22.429: "requestId": "0a6c01c9-a79e-423b-ab89-1075e4be5cf1", 04:21:22.429: "requestStatus": { 04:21:22.429: "code": 100, 04:21:22.429: "result": true 04:21:22.429: }, 04:21:22.429: "requestType": "ToggleRecord", 04:21:22.429: "responseData": { 04:21:22.429: "outputActive": false 04:21:22.429: } 04:21:22.429: }, 04:21:22.429: "op": 7 04:21:22.429: }

Confirmed that there were inconsistencies in logs and documentation.

Anything else we should know?

No response

tt2468 commented 8 months ago

Fixed in https://github.com/obsproject/obs-websocket/compare/0189c3a3f512...bbdc5bc82391