Skip to content

OBS Admin Panel - A secure, web-based tool for OBS Studio that allows remote scene management. Easily grant trusted users control over your OBS scenes through an IP-whitelisted admin panel. Perfect for streamers and content creators.

License

Notifications You must be signed in to change notification settings

kfjguy/OBS-Admin-Panel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

GitHub Stars GitHub Forks GitHub License GitHub Last Commit

OBS Admin Panel

Warning: This is in early development, and many things will change significantly. Currently in early alpha.

Introduction

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)

Table of Contents

Features

  • 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.

Getting Started

Prerequisites

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:

  1. Open OBS Studio.
  2. Navigate to Tools > WebSocket Server Settings.
    • Note: Update OBS if not found.
  3. Enable the WebSocket server and set up a secure password.

Configuration

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

Installation

Linux & Windows

  1. Clone the Repository

    git clone https://github.com/kfjguy/OBS-Admin-Panel.git
  2. Configure .env

  3. Navigate to the Server Directory

    cd OBS-Admin-Panel/app/server
  4. Install Dependencies

    npm install
  5. Start the Server

    npm start

Docker

  1. Pull the Docker Image

    docker pull kfjguy/obs-admin-panel
  2. 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

Roadmap

  • 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.

Contributing ❤️

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.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Links


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!


OBS-Icon

OBS-Admin-Panel-Icon

About

OBS Admin Panel - A secure, web-based tool for OBS Studio that allows remote scene management. Easily grant trusted users control over your OBS scenes through an IP-whitelisted admin panel. Perfect for streamers and content creators.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published