Quick Video Recording with OBS Automation
Russian translation available here.
I enjoy automating repetitive tasks, and today I’ll show how I optimized screencasting.
In short, I made a Python script that greatly simplifies the process of naming screencasts and recording them.

Demonstration of the script
Problem
OBS is a powerful tool for streaming and recording, but I’ve always disliked the complexity of managing recordings. You need to find the latest recording, rename it, check it, etc. — and this can be cumbersome, especially when you need to record frequently.
My script is designed to solve this problem.
Solution
The script is a Python application that uses the obsws-python library to connect with the OBS WebSocket plugin.
This makes it possible to programmatically start and stop recordings, set file names, and much more.
Key Features
- Start and stop recordings with a single command: The script can run in two modes:
recordandstop. You can bind these commands to hotkeys in your OS. - Automatic file name generation: When you start recording, the application prompts you for a file name using a small
TkInterform, then sets the recording name and begins the screencast. - Simple configuration: All script settings are stored in the
config.inifile.
How It Works
The script is fairly simple (about 100 lines of code). Here’s a brief overview. I deliberately used a single file to include all components (recording, forms, etc.). The code quality is medium/above average. I tested it only on Linux (Debian 13) and didn’t bother much with unit tests or other extras — adjustments may be required for your needs.
Getting Started
First, you need to install OBS and the obs-websocket plugin, clone the repository with the script, install dependencies, and set up global hotkeys in your OS.
For details, I recommend checking the documentation: https://github.com/iturdikulov/obs_auto#quickstart.
Conclusion
This script, through automation, saves me time and makes the process of recording screencasts enjoyable. It can potentially be improved further, with new features added, and so on.