I keep a small scoring tool for illustrators, and I write about the things I try on my own desk. This week most of that desk was OBS: a public beta of OBS Studio, and one small script I wrote to ask OBS three questions from the outside. Below is the code, the parts I borrowed from other people, and the run I actually got — including the part that did not work.
The beta, and why I will not reprint its change list
OBS Studio 33.0.0-beta5 is a public test build. The list of what changed is written by the people who make OBS, and it is edited between builds. If I retype that list here, it will be stale next week, and I might copy a line wrong along the way. So the original is the thing to read, not my copy of it:
- OBS Studio releases, with their notes: https://github.com/obsproject/obs-studio/releases
- The project’s own site, whose download page points to the same notes: https://obsproject.com/
When you open the notes, search the page for the name of the feature you depend on — the one thing your show breaks without. That is a much shorter read than the whole list, and it is the only part that concerns you.
One thing I can say with certainty, because my code below leans on it: OBS 28 and later ship with a WebSocket server, obs-websocket 5.x. If a beta touches that server’s behaviour, that is the line on the release page worth finding. Whether a beta is worth putting on the machine you go live with is your decision, not mine. I think a beta is a fine place to test and a poor place to lean on.
What the script does
The script asks OBS three things and prints them:
- whether a stream is running right now
- the name of the scene currently on program
- how long the stream has been running
It does not run inside OBS, and it does not read OBS’s files. It sits outside, opens a WebSocket connection to the server OBS itself provides — by default on 127.0.0.1, port 4455 — says hello, and asks two questions by name: GetStreamStatus and GetCurrentProgramScene.
Everything is written with Python’s standard library, so there is nothing to install: no pip install line, no virtual environment to build.
The three labels it prints are in Japanese, because that is where I use it. They are three constants near the top of the file. Change them and the display speaks your language.


コメント