-
Notifications
You must be signed in to change notification settings - Fork 0
Quick Start
Get your first EXStreamTV channel running in under 10 minutes.
- Prerequisites
- Starting the Server
- Accessing the Web UI
- Creating Your First Channel
- Adding Content
- Watching Your Channel
- Next Steps
Before starting, ensure you have:
- EXStreamTV installed - See Installation Guide
- FFmpeg available - Required for transcoding
- Media content - Videos to add to your channel
# Navigate to EXStreamTV directory
cd /path/to/EXStreamTV
# Activate virtual environment
source venv/bin/activate # macOS/Linux
# or
.\venv\Scripts\Activate.ps1 # Windows
# Start the server
python -m exstreamtv./start.shLaunch the EXStreamTV app from your Applications folder.
On first launch, the Onboarding Wizard guides you through:
- Dependency verification
- AI provider setup
- Server configuration
- Media source connections
See Onboarding Guide for the complete walkthrough.
After onboarding, click "Start Server" from the menu bar icon.
You should see output like:
INFO: Starting EXStreamTV v2.6.0
INFO: Configuration loaded, server port: 8411
INFO: Database initialized
INFO: Uvicorn running on http://0.0.0.0:8411
Open your browser and go to:
http://localhost:8411
You'll see the EXStreamTV Dashboard with:
- Quick Stats - Channels, playlists, media counts
- System Resources - CPU, memory, disk usage
- Active Streams - Currently playing channels
- Quick Actions - Shortcuts to common tasks
If you configured AI during setup:
- Go to Channels in the sidebar
- Click + New Channel
- Click AI-Assisted tab
- Describe your channel:
- "Classic 80s action movies channel"
- "Kids cartoons with morning schedule"
- "Documentary channel about nature"
- AI suggests content and schedule
- Review and click Create
This creates a complete channel with:
- Curated content from your libraries
- Appropriate scheduling
- Channel branding suggestions
Click Channels in the sidebar or go to:
http://localhost:8411/channels
- Click the + New Channel button
- Fill in the details:
-
Channel Number:
1 -
Channel Name:
My First Channel -
Group:
Entertainment(optional)
-
Channel Number:
- Click Create
In the channel editor, you can configure:
- Logo - Upload a channel logo
- FFmpeg Profile - Select quality preset (Default 1080p, HD 720p, etc.)
- Guide Color - Color for EPG display
- Go to Playlists in the sidebar
- Click + New Playlist
- Name it
First Playlist - Click Add Item and enter:
-
Title:
Sample Video -
URL:
http://example.com/video.mp4or a YouTube URL
-
Title:
- Repeat for more videos
- Click Save
- Go to Libraries in the sidebar
- Click + Add Library
- Choose Local Library
- Enter the path to your media folder:
/path/to/videos - Click Scan to discover media
- Create a playlist from the scanned media
- Go to Libraries → + Add Library
- Choose Plex or Jellyfin
- Enter your server details:
-
Server URL:
http://localhost:32400(Plex) - Token/API Key: Your authentication token
-
Server URL:
- Select libraries to import
- Click Sync
- Go to Channels and select your channel
- Click Edit Channel
- In the Playlist Panel, click + Add Content
- Select your playlist
- Click Save
For more control over when content plays:
- Go to Schedules in the sidebar
- Click + New Schedule
- Add time blocks:
- Morning: 6 AM - 12 PM
- Afternoon: 12 PM - 6 PM
- Evening: 6 PM - 12 AM
- Assign playlists to each block
- Apply the schedule to your channel
- Go to Channels
- Click the Play button on your channel
- The video will play in the browser
Copy the stream URL:
http://localhost:8411/channels/1/stream.m3u8
Open in VLC, mpv, or any HLS-compatible player:
# VLC
vlc http://localhost:8411/channels/1/stream.m3u8
# mpv
mpv http://localhost:8411/channels/1/stream.m3u8EXStreamTV emulates an HDHomeRun device. In Plex, Emby, or Jellyfin:
- Go to Live TV settings
- Click "Add DVR" or "Add Tuner"
- It should auto-discover EXStreamTV
- Or manually enter:
http://localhost:8411
Download the M3U playlist:
http://localhost:8411/iptv/channels.m3u
Import into any IPTV app (IPTV Smarters, TiviMate, etc.)
| Resource | URL |
|---|---|
| Dashboard | http://localhost:8411/dashboard |
| Channels | http://localhost:8411/channels |
| Guide | http://localhost:8411/guide |
| M3U Playlist | http://localhost:8411/iptv/channels.m3u |
| EPG (XML) | http://localhost:8411/iptv/xmltv.xml |
| API Docs | http://localhost:8411/api/docs |
| Shortcut | Action |
|---|---|
Space |
Play/Pause (in player) |
F |
Fullscreen |
M |
Mute |
← / →
|
Seek 10 seconds |
| Shortcut | Action |
|---|---|
Cmd+G |
Open channel switcher |
Cmd+Up |
Previous channel |
Cmd+Down |
Next channel |
0-9 |
Jump to channel number |
Esc |
Close switcher |
Now that you have a working channel:
- Configure AI - Set up AI-assisted channel creation
- Add more content - Connect local libraries or streaming sources
- Enable hardware transcoding - Reduce CPU usage
- Create a schedule - Program your channels like real TV
- Use the macOS app - Native player and keyboard shortcuts
- Customize your setup - Advanced configuration
- Check that FFmpeg is installed:
ffmpeg -version - Verify the source URL is accessible
- Check the logs: Settings → Logs
- Adjust the FFmpeg profile in channel settings
- Enable hardware transcoding for better performance
- Reduce the output bitrate in FFmpeg profile
- Check network bandwidth
- Try a lower resolution preset
- Check the FAQ
- Browse GitHub Issues
- Join our community on Discord
Last Revised: 2026-03-20
Getting Started
Guides
- AI-Setup
- Channel-Creation-Guide
- Local-Media
- Hardware-Transcoding
- macOS-App-Guide
- Navigation-Guide
- Streaming-Stability
- Advanced-Scheduling
Reference
- API-Reference
- System-Design
- Architecture-Diagrams
- Pattern-Refactor-Sources
- ADR-Channel-Manager-Database
- EXStreamTV-UI-Architecture
- Architecture
- Streaming-Internals
- HDHomeRun-Emulation
- Metadata-And-XMLTV
- AI-Agent-And-Containment
- Restart-Safety-Model
- Observability
- Troubleshooting
- Log-Interpretation
- Tunarr-DizqueTV-Integration
- Distribution
- Build-Progress
Operations
Changelog & Migration