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.
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: }
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.
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