ComusThumbz Documentation
Admin Login

Live Video Streaming Setup

 

What This Page Does

This guide helps you set up the live video streaming feature on your ComusThumbz site. Once configured, your creators can broadcast live video directly from their browsers to their fans, with real-time chat, tipping, and private shows. Think of it like setting up your own personal Twitch or OnlyFans live streaming platform.

[Screenshot: live-streaming-overview]


Why You Need This

The live streaming feature allows creators on your site to:

  • Go live directly from their browser (no special software needed)
  • Stream video with very low delay (under 1 second)
  • Chat with viewers in real-time
  • Receive tips during their stream
  • Offer private one-on-one shows
  • Control who can watch (free, subscribers only, pay-per-view, etc.)

 

For viewers, they can:

  • Watch creators broadcast live
  • Send messages in chat
  • Send tips to creators
  • Request private shows

 


Before You Begin

 

Warning:
Live streaming requires a dedicated server or VPS (Virtual Private Server). It will NOT work on shared hosting like GoDaddy or Bluehost's basic plans. You need root access to install software on the server.

 

What You'll Need

  1. A separate server or VPS - This can be the same server where ComusThumbz is installed, or a different one. Minimum 2GB RAM, 2 CPU cores recommended.
  2. A domain or subdomain - Something like streaming.yoursite.com
  3. About 30-60 minutes - For the setup process
  4. Basic comfort with a command line - You'll need to run some commands on your server

Checking if You're Ready

Log into your server via SSH and run these commands:

# Check if Docker is installed
docker --version

Check your server's public IP


curl -s ifconfig.me

If Docker is not installed, don't worry - the setup script can install it for you.


Understanding the Setup

How Live Streaming Works

Creator's Browser -> Streaming Server -> Viewers' Browsers
  1. A creator opens the "Go Live" page on your site
  2. Their webcam and microphone connect to your streaming server
  3. The streaming server sends the video to all viewers watching
  4. Everyone can chat and send tips in real-time

What Gets Installed

The setup process installs LiveKit, which is the streaming server software. It runs in a Docker container (think of it like a self-contained mini-computer) on your server and handles all the video routing.


Installation Steps

Step 1: Choose Your Installation Method

There are two ways to set up the streaming server:

Option A: Automated Setup (Recommended) - A script does everything for you
Option B: Manual Setup - You run each command yourself (for advanced users)

We recommend Option A for most people.


Option A: Automated Setup (Easiest)

1. Upload the Setup Script

  1. Download the setup script from your ComusThumbz installation folder: tools/setuplivekitserver.sh
  2. Upload it to your streaming server (you can put it in your home directory)

2. Make the Script Executable

Log into your server via SSH and run:

chmod +x setuplivekitserver.sh

3. Run the Setup Script

sudo ./setuplivekitserver.sh

The script will ask you a few questions and then:

  • Install Docker if needed
  • Configure your firewall
  • Set up the streaming server
  • Generate security keys

 

4. Save Your Credentials

At the end, the script will show you something like:

API Credentials:
  API Key: APIxxxxxxxxxxxxxxxx
  API Secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

 

Warning:
Copy these credentials and save them somewhere safe! You'll need them in the next section.

 

5. Test the Installation

The script will tell you if everything is working. You should see a message saying "LiveKit is running successfully."


Option B: Manual Setup (Advanced)

If you prefer to do the setup manually or the automated script doesn't work for your server, follow the detailed manual installation steps in the technical guide.

 

Tip:
The manual steps are essentially the same things the automated script does, just broken down into individual commands. Only use this if you're comfortable with server administration.

 


Connecting ComusThumbz to the Streaming Server

Now that your streaming server is running, you need to tell your ComusThumbz installation how to connect to it.

Step 1: Enable the Feature

  1. Log into your Admin Panel
  2. Go to Admin Panel > Settings > Feature Toggles
  3. Find Live Streaming and turn it ON
  4. Click Save Changes

Step 2: Add Your Streaming Server Details

You need to add three pieces of information to your configuration file.

  1. Log into your web server via SFTP or File Manager
  2. Navigate to ct/dat/config.inc.php
  3. Open the file for editing
  4. Add these lines at the end of the file (before the closing ?> if there is one):
// LiveKit WebRTC Streaming Configuration
define('LIVEKITHOST', 'wss://streaming.yoursite.com/livekit/');
define('LIVEKITAPIKEY', 'paste-your-api-key-here');
define('LIVEKITAPISECRET', 'paste-your-api-secret-here');
  1. Replace the values:
  • streaming.yoursite.com - Your streaming server domain
  • paste-your-api-key-here - The API Key from Step 4 of the installation
  • paste-your-api-secret-here - The API Secret from Step 4 of the installation
  1. Save the file

 

Tip:
For LIVEKIT
HOST, use wss:// (secure WebSocket) if you have SSL/HTTPS on your site. If you're just testing on a local network, you can use ws:// followed by your server's IP address and :7880.

 

Step 3: Verify It's Working

  1. Log into your site as a user who has creator access
  2. Go to My Account > Go Live (in your user settings)
  3. You should see the "Go Live" page with webcam options
  4. If you see an error message instead, something isn't configured correctly

Testing Your Setup

Complete Streaming Test

Follow these steps to verify everything is working:

1. Prepare a Creator Account

You need an account with creator privileges to test.

  1. Go to Admin Panel > Users > User Management
  2. Find the user you want to test with
  3. Click Edit
  4. Make sure Is Creator is set to Yes
  5. Save

2. Start a Test Stream

  1. Log in as the creator
  2. Go to My Account > Go Live
  3. Fill in a stream title (like "Test Stream")
  4. Set access to Free (so anyone can watch)
  5. Click Start Streaming
  6. When your browser asks for camera/microphone permission, click Allow
  7. You should see your webcam preview on screen

3. Watch the Stream as a Viewer

  1. Open a different browser (or incognito/private window)
  2. Visit your site and go to Live Streams in the main menu
  3. You should see your test stream listed
  4. Click on it to watch
  5. The video should appear within 1-2 seconds

4. Test the Chat

  1. In the viewer window, type a message in the chat box and press Enter
  2. The message should appear in both the viewer and broadcaster windows
  3. This confirms real-time communication is working

5. End the Stream

  1. Back in the broadcaster window, click End Stream
  2. The stream should disappear from the Live Streams page
  3. The viewer should see a message that the stream has ended

 

Success:
If all five steps worked, congratulations! Your live streaming is fully operational.

 


Where Creators and Viewers Go

For Creators (Broadcasters)

Go Live Page: Settings > Go Live

On this page, creators can:

  • Select their camera and microphone
  • Set a title and description for their stream
  • Choose who can watch (free, password protected, subscribers only, pay-per-view, or tip goal)
  • See their viewer count
  • Read and respond to chat messages
  • See tip notifications
  • Accept or decline private show requests

 

For Viewers

Stream Directory: Live Streams (in main navigation)

This page shows:

  • All active streams as a grid of preview cards
  • Number of viewers watching each stream
  • Creator's profile picture and name

 

Watch Stream Page: Clicking on any stream opens the viewer page

On this page, viewers can:

  • Watch the live video
  • Chat with the creator and other viewers
  • Send tips
  • Request a private show (if they have enough tokens)

 


Common Tasks

Restarting the Streaming Server

If your streams aren't working, sometimes you just need to restart the server:

# Log into your streaming server via SSH
docker restart livekit

Wait 10 seconds, then test again.

Checking if the Streaming Server is Running

# Log into your streaming server via SSH
docker ps | grep livekit

If you see a line with "livekit" in it, the server is running. If you don't see anything, start it:

cd /opt/livekit
docker compose up -d

Viewing Server Logs

If something isn't working and you need to see what's happening:

# Show the last 50 lines of the log
docker logs --tail 50 livekit

Watch the log in real-time (press Ctrl+C to stop)


docker logs -f livekit

Updating the Streaming Server

Every few months, you may want to update to the latest version:

# Pull the latest version
docker pull livekit/livekit-server:latest

Restart with the new version


docker compose down
docker compose up -d

Troubleshooting

Streams Won't Start

What you see: Creator clicks "Start Streaming" but nothing happens or an error appears.

How to fix it:

  1. Check that the feature is enabled in Admin Panel > Settings > Feature Toggles
  2. Verify the creator account has Is Creator set to Yes
  3. Check your config.inc.php file has the three LIVEKIT settings
  4. Verify the streaming server is running: docker ps | grep livekit

Viewers Can't Connect

What you see: The Live Streams page loads but clicking a stream shows an error or black screen.

How to fix it:

  1. Make sure your firewall allows traffic on these ports:
  • TCP: 7880, 7881
  • UDP: 50000-60000
  1. Check that your LIVEKITHOST uses wss:// (not ws://) if your site uses HTTPS
  2. Verify your SSL certificate is valid if using HTTPS

Chat Works But Video is Black

What you see: Viewers can send chat messages but the video never appears.

How to fix it:

This usually means the UDP ports are blocked. On your streaming server:

# Open the UDP port range
sudo ufw allow 50000:60000/udp

Then restart the streaming server and try again.

"You Already Have an Active Stream" Error

What you see: Creator tries to go live but gets an error saying they already have a stream.

How to fix it:

This happens if a previous stream didn't end properly (browser crash, etc.). You can manually end it:

  1. Go to Admin Panel > Live Streams (if you have this page)
  2. Find the stuck stream and click End Stream

Or ask a developer to run this SQL command:

UPDATE tblLiveStreams
SET status = 'ended', endedat = NOW()
WHERE creatorid = [USERID] AND status IN ('waiting', 'live');

Replace [USERID] with the creator's user ID number.

Stream Previews Not Showing

What you see: The Live Streams directory page shows streams but no preview images.

How to fix it:

  1. Check that the uploads/streamsnapshots/ folder exists
  2. Make sure the folder is writable (permission 755 or 777)
  3. Wait a few seconds - previews are captured every 30 seconds during a live stream

Tips for New Users

 

Tip:
  • Start with free streams - Get comfortable with the technology before setting up paid streams
  • Test with friends - Have a few people watch your first stream to verify everything works
  • Check your internet speed - Creators need at least 5 Mbps upload speed for good quality streaming
  • Use a wired connection - WiFi can be unreliable for streaming; ethernet cables work better
  • Close other apps - Streaming uses a lot of computer resources; close unnecessary programs
  • Have good lighting - Viewers can't tip if they can't see you clearly

 


Access Control Options Explained

When creators start a stream, they choose who can watch:

Access Type What It Means When to Use It
Free Anyone can watch, no payment required Building an audience, special events, or casual streams
Password Protected Viewers need a password to watch Private streams for a specific group, like fan club members
Subscribers Only Only users with an active subscription can watch Exclusive content for paying subscribers
Pay-Per-View Viewers pay tokens once to unlock the stream Special events or premium content
Tip Goal Stream unlocks when tip goal is reached Interactive fundraising or community challenges

Creators can change these settings for each stream.


Understanding Private Shows

Private shows are one-on-one streams between a creator and a single viewer. Here's how they work:

  1. A viewer watches a public stream
  2. They click Request Private Show
  3. They set how many minutes they want
  4. The request appears to the creator
  5. If the creator accepts:
  • The public stream ends
  • A new private stream starts
  • Only the requesting viewer can watch
  • Tokens are deducted per minute automatically
  1. When time runs out (or someone ends it), the private show ends

Creators set their per-minute rate in their creator profile settings.


Security and Privacy

What's Protected

  • All video streams are encrypted in transit
  • Tokens (payment for access) are generated by the server, not the browser
  • Viewers can only join rooms they have permission for
  • Chat messages are stored in your database

What to Watch For

  • Require SSL/HTTPS - Always use wss:// in your LIVEKIT_HOST setting for production sites
  • Monitor reported streams - Have a moderation system for inappropriate content
  • Set up rate limiting - Prevent chat spam by limiting how fast users can send messages
  • Review your firewall - Only open the ports mentioned in this guide

Page When to Use It
Feature Toggles Turn live streaming on or off site-wide
Creator Management Approve creators who can go live
User Management Set who has creator privileges
Token Settings Configure token pricing for pay-per-view and private shows

Getting Help

If you're stuck:

  1. Check the logs - Run docker logs livekit to see what the streaming server is reporting
  2. Test the connection - Make sure you can reach your streaming server from a browser
  3. Verify your config - Double-check the three LIVEKIT settings in config.inc.php
  4. Check the forum - Other users may have solved the same issue
  5. Contact support - Provide the output of docker ps and docker logs --tail 50 livekit

What's Next?

Once your live streaming is set up:

  1. Promote the feature - Let your creators know they can now go live
  2. Create a guide for creators - Write simple instructions for your specific audience
  3. Set token prices - Decide pricing for pay-per-view and private shows
  4. Monitor usage - Watch server resources to see if you need to upgrade
  5. Gather feedback - Ask creators and viewers what they like or what needs improvement

 

Success:
Live streaming can significantly increase engagement and revenue on your site. Take time to promote it to your creators and viewers!