Warning: This is in early development, and many things will change significantly. Currently in early alpha.
Welcome to the OBS Admin Panel, an open-source tool built for streamers and content creators. Want to give control of your OBS to a friend or team member? Now you can! Host a secure web server with an IP whitelist, so only the people you trust can access your OBS admin panel. Using the built-in OBS WebSocket (default TCP port 4455), authorized users can manage scenes, enhancing your streams even further.
Current Version: v0.1.0 (Pre-release)
- Secure Access: Only whitelisted users can access the tool.
- Real-Time Scene Control: Add, remove, edit, and switch scenes remotely.
- Easy to Use: Simple, intuitive interface for effortless control.
- OBS WebSocket Integration: Seamlessly connects to OBS using the WebSocket server with minimal setup.
Ensure you have the following:
- OBS Studio: Download the latest version here.
- Node.js or Docker:
- Node.js: Install Node.js (version 14.0.0 or higher).
- OR
- Docker: Install Docker by downloading the Docker Engine.
Setting Up OBS WebSocket:
- Open OBS Studio.
- Navigate to
Tools
>WebSocket Server Settings
.- Note: Update OBS if not found.
- Enable the WebSocket server and set up a secure password.
Note: For a Docker container, these configurations are set via the docker run
command.
All configuration adjustments are made in the .env
file.
By default, the web server runs on port 4545
. Localhost IP 127.0.0.1
is whitelisted by default. You can add more IPs in a comma-separated format (IP1,IP2,IP3
). The tool will try to reconnect if the connection is lost, with a default retry delay of 15 seconds. The OBS WebSocket address and password are found in OBS settings after enabling the WebSocket feature.
Here's a sample .env
file configuration:
PORT=4545 # Default Port 4545
ALLOWED_IPS= # Whitelist IPs separated by comma | Localhost is allowed by default
OBS_WEBSOCKET_CONNECTION_RETRY_DELAY=15000 # Default 15 Seconds
OBS_WEBSOCKET_ADDRESS=ws://localhost:4455 # OBS WebSocket Address (Port: TCP-4455) -> Example: ws://127.0.0.1:4455
OBS_WEBSOCKET_PASSWORD=your_obs_websocket_password # OBS WebSocket Password
-
Clone the Repository
git clone https://github.com/kfjguy/OBS-Admin-Panel.git
-
Configure
.env
-
Navigate to the Server Directory
cd OBS-Admin-Panel/app/server
-
Install Dependencies
npm install
-
Start the Server
npm start
-
Pull the Docker Image
docker pull kfjguy/obs-admin-panel
-
Run the Container with Configuration
For Bash:
docker run -d -p 4545:4545 -p 4455 \ --name obs-admin-panel \ -e PORT=4545 \ -e ALLOWED_IPS="1.1.1.1,2.2.2.2" \ -e OBS_WEBSOCKET_CONNECTION_RETRY_DELAY=15000 \ -e OBS_WEBSOCKET_ADDRESS="ws://localhost:4455" \ -e OBS_WEBSOCKET_PASSWORD="your_password" \ kfjguy/obs-admin-panel
For PowerShell:
docker run -d -p 4545:4545 -p 4455 ` --name obs-admin-panel ` -e PORT=4545 ` -e ALLOWED_IPS="1.1.1.1,2.2.2.2" ` -e OBS_WEBSOCKET_CONNECTION_RETRY_DELAY=15000 ` -e OBS_WEBSOCKET_ADDRESS="ws://localhost:4455" ` -e OBS_WEBSOCKET_PASSWORD="your_password" ` kfjguy/obs-admin-panel
- Expanded Scene Editing Features:
- Currently, you can move scene elements, but future updates will support adding, removing, enabling/disabling visibility, resizing scene items, and introducing arrow key controls for more precision.
If you'd like to contribute to the OBS-Admin-Panel development, i'd love your help! Contributions of any kind are welcome and appreciated.
This project is licensed under the MIT License. See the LICENSE
file for details.
- Project Repository: https://github.com/kfjguy/OBS-Admin-Panel
- Issues and Bug Reports: https://github.com/kfjguy/OBS-Admin-Panel/issues
- Docker Hub Repository: https://hub.docker.com/repository/docker/kfjguy/obs-admin-panel/general
A big thank you to everyone using or contributing to this project. Your support makes it better!
Ready to make your streaming setup easier? Try out the OBS Admin Panel today!