Skip to content

Commit ad8a2e1

Browse files
authored
Merge pull request #3 from Grimothy/master
Update documentation
2 parents 906375d + 50c028e commit ad8a2e1

17 files changed

+440
-76
lines changed

README.md

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -32,19 +32,33 @@ Generates static content into the `build` directory for deployment.
3232

3333
```
3434
docs/
35-
├── intro.md # Documentation homepage
36-
├── getting-started/
37-
│ ├── installation.md # Installation guide
38-
│ ├── configuration.md # Configuration guide
39-
│ ├── adding-playlists.md # Adding playlists
40-
│ └── epg-setup.md # EPG setup
35+
├── intro.md # Documentation homepage
36+
├── installation.md # Installation guide
37+
├── quick_start.md # Quick start guide
38+
├── configuration.md # Configuration guide
39+
├── client_configuration.md # Client configuration
4140
├── deployment/
42-
│ ├── docker-compose.md # Docker Compose options
43-
│ ├── m3u-proxy-integration.md # M3U Proxy setup
44-
│ └── caddy-vs-nginx.md # Reverse proxy comparison
41+
│ ├── docker-compose.md # Docker Compose options
42+
│ ├── m3u-proxy-integration.md # M3U Proxy setup
43+
│ └── caddy-vs-nginx.md # Reverse proxy comparison
44+
├── integrations/
45+
│ ├── emby_integration.md # Emby integration guide
46+
│ ├── emby_integration_settings.md # Emby settings reference
47+
│ └── roadmap_integrations.md # Integration roadmap
48+
├── resources/
49+
│ ├── playlists.md # Playlists overview
50+
│ ├── custom-playlist.md # Custom playlist guide
51+
│ ├── merged-playlist.md # Merged playlist setup
52+
│ ├── playlist-alias.md # Playlist aliasing
53+
│ ├── playlist-auth.md # Playlist authentication
54+
│ ├── playlist-pooled_providers.md # Pooled providers
55+
│ └── epg-setup.md # EPG setup guide
4556
└── advanced/
46-
├── auto-merge-channels.md # Auto-merge feature
47-
└── epg-optimization.md # EPG caching & performance
57+
├── auto-merge-channels.md # Auto-merge feature
58+
├── environment-variables.md # Environment variables
59+
├── epg-optimization.md # EPG caching & performance
60+
├── settings-reference.md # Settings reference
61+
└── strm-files.md # STRM files guide
4862
```
4963

5064
## 🌐 Deployment

docs/advanced/auto-merge-channels.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
sidebar_position: 1
2+
sidebar_position: 2
33
description: Automatically merge duplicate channels with failover support
44
tags:
55
- Advanced

docs/advanced/epg-optimization.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
sidebar_position: 2
2+
sidebar_position: 5
33
description: EPG caching and performance optimization
44
tags:
55
- Advanced
Lines changed: 277 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,277 @@
1+
---
2+
sidebar_position: 1
3+
description: Understanding and using pooled provider playlists
4+
tags:
5+
- Resources
6+
- Playlists
7+
- Advanced
8+
- Experimental
9+
title: Pooled Provider Profiles
10+
---
11+
12+
# Pooled Provider Profiles
13+
14+
:::info
15+
As of 1/5/2025 -- provider profiles are only available in the **experimental branch**
16+
:::
17+
18+
## Overview
19+
20+
Provider Profiles allow you to pool multiple Xtream API accounts into a single playlist, effectively raising your concurrency ceiling. This enables more simultaneous streams by combining the connection limits of individual accounts into one larger, unified pool of available functionality.
21+
22+
:::note
23+
Provider Profiles is designed for **pooling multiple accounts from the same IPTV provider**. You can use different servers from that provider, but mixing completely different providers may cause issues!
24+
:::
25+
26+
---
27+
## 📝 Requirements
28+
Before enabling Provider Profiles, ensure:
29+
30+
-**Proxy mode is enabled** - Required for accurate connection tracking **This will get enabled when you toggle a playlist to use provider profiles**
31+
-**M3U_PROXY_URL and M3U_PROXY_TOKEN are configured** - Provider Profiles requires the m3u-proxy service
32+
-**Playlist is Xtream API type** - Profiles only work with Xtream playlists, not plain M3U files
33+
-**Multiple accounts from the same provider** - You need additional IPTV accounts to pool
34+
35+
**Why Proxy is Required:**
36+
- Tracks active connections in real-time via Redis
37+
- Enables stream pooling (multiple viewers sharing one connection)
38+
- Manages automatic profile selection based on capacity
39+
- Handles credential transformation for different accounts
40+
41+
## 💡 How It Works
42+
43+
### The Basics
44+
45+
Provider Profiles pools multiple IPTV accounts into a single playlist:
46+
47+
1. **Primary Profile** - Automatically created from your playlist's Xtream credentials
48+
2. **Additional Profiles** - Extra accounts you add manually
49+
3. **Automatic Selection** - System picks an account with available capacity
50+
4. **Priority Order** - Profiles tried in order (priority 0 first, then 1, 2, etc.)
51+
52+
### What Each Profile Includes
53+
54+
- **Username & Password** - Xtream account credentials
55+
- **Provider URL** (optional) - Different server from same provider (leave blank to use playlist URL)
56+
- **Max Streams** - Connection limit (auto-detected or manually set)
57+
- **Priority** - Selection order (lower = tried first)
58+
- **Enabled/Disabled** - Toggle to activate/deactivate
59+
60+
### Stream Pooling (Bonus Feature!)
61+
62+
When multiple people watch the **same channel** with transcoding enabled, they can share a single provider connection:
63+
64+
**Scenario:** 5 family members watching the same football game **with different devices**
65+
66+
**Result:**
67+
- ✅ Only 1 provider connection used
68+
- ✅ All 5 viewers share the same transcoded stream
69+
- ✅ Maximum efficiency achieved!
70+
71+
Instead of 5 separate connections consuming bandwidth and provider resources, everyone shares a single optimized stream. This leaves more connections available for watching different channels.
72+
73+
---
74+
75+
## 🛠️ Setting Up Provider Profiles
76+
77+
78+
### Step 1: Enable Provider Profiles
79+
80+
1. Edit your playlist
81+
2. Scroll to "Provider Profiles" section
82+
3. Toggle "Enable Provider Profiles" to **ON**
83+
4. Click **Save**
84+
85+
:::warning
86+
If proxy mode isn't already enabled on your playlist, it will automatically be enabled when you turn on Provider Profiles. This is required for accurate connection tracking.
87+
:::
88+
89+
Your primary account is automatically created as the first profile.
90+
91+
### Step 2: Add Additional Accounts
92+
93+
Click **Add Profile** and fill in:
94+
95+
**Profile Name** (optional)
96+
Friendly name like "Backup Account" or "US Server"
97+
98+
**Provider URL** (optional)
99+
- Leave blank = uses same URL as playlist
100+
- Enter URL = uses different server from same provider
101+
102+
**Username** (required)
103+
Your IPTV account username
104+
105+
**Password** (required)
106+
Your IPTV account password
107+
108+
**Max Streams** (optional)
109+
Leave blank to auto-detect, or set a manual limit
110+
111+
**Priority** (default: auto-assigned)
112+
Lower numbers tried first (0, 1, 2...)
113+
114+
**Enabled** (default: ON)
115+
Toggle to activate this profile
116+
117+
### Step 3: Test the Profile
118+
119+
**Always test before saving!**
120+
121+
1. Click **Test** button next to the profile
122+
2. System verifies credentials and detects max connections
123+
3. Review the results
124+
4. Click **Save** when ready
125+
126+
### Step 4: Verify Pool Status
127+
After adding profiles, check the "Pool Status" display:
128+
129+
**Example**
130+
131+
Total: 3/10 active | 7 available
132+
133+
✓ ⭐ Primary Account: 2/5 streams
134+
135+
✓ Account 2: 1/5 streams
136+
137+
✗ Account 3: 0/5 streams (Disabled)
138+
139+
---
140+
141+
# Using Multiple Server URLs
142+
143+
### When to Use Different URLs
144+
145+
### Use Cases
146+
147+
**Important**: Provider Profiles is designed for **the same provider with multiple accounts**. The `url` field allows different servers/endpoints from that same provider, not different providers entirely.
148+
149+
---
150+
## 💼 Managing Your Profiles
151+
152+
### Testing Profiles
153+
154+
Always test a profile after adding it:
155+
156+
1. Click the **Test** button next to the profile
157+
2. The system will:
158+
- Verify the username and password
159+
- Check connectivity to the provider URL
160+
- Auto-detect the maximum connections allowed
161+
3. Review the test results
162+
4. The Max Streams field will update automatically if successful
163+
164+
### Enabling/Disabling Profiles
165+
166+
You can temporarily disable profiles without deleting them:
167+
168+
- **Disabled profiles** are skipped during selection
169+
- Useful for troubleshooting or rotating accounts
170+
- Toggle the "Enabled" switch on/off
171+
172+
### Setting Priorities
173+
174+
Control which profiles are used first:
175+
176+
- **Priority 0** = Try this profile first (usually your primary account)
177+
- **Priority 1** = Try this profile second (backup)
178+
- **Priority 2** = Try this profile third (second backup)
179+
180+
Lower priority numbers = higher priority for selection.
181+
182+
### Adjusting Connection Limits
183+
184+
You can manually override the connection limit:
185+
186+
**Why override?**
187+
- Reserve connections for specific devices
188+
- Prevent one playlist from using all connections
189+
- Account for connections used by other apps
190+
191+
**How to set:**
192+
1. Enter a number in the "Max Streams" field
193+
2. System will use the lower of:
194+
- Your manual limit
195+
- Provider's actual limit
196+
197+
## 🔍 Troubleshooting
198+
199+
### Profile Test Failed
200+
201+
**Possible Causes:**
202+
- Incorrect username or password
203+
- Wrong provider URL
204+
- Provider server is down
205+
- Network connectivity issue
206+
207+
**How to Fix:**
208+
1. Double-check the username and password
209+
2. Verify the provider URL is correct (check for typos)
210+
3. Try accessing the provider's website to confirm it's online
211+
4. Test with a different URL if your provider has backup servers
212+
213+
---
214+
215+
### No Profiles Have Capacity
216+
217+
**Symptoms:**
218+
Unable to start new streams even though profiles are enabled
219+
220+
**Possible Causes:**
221+
- All profiles are at their connection limit
222+
- All profiles are disabled
223+
- Provider information needs refreshing
224+
225+
**How to Fix:**
226+
1. Check the Pool Status to see current usage
227+
2. Wait for active streams to end
228+
3. Click **Test** on the primary profile to refresh connection limits
229+
4. Enable any disabled profiles
230+
5. Add a new profile if needed
231+
232+
---
233+
234+
### Streams Not Sharing Connections
235+
236+
**Symptoms:**
237+
Multiple people watching the same channel but using separate connections
238+
239+
**This is normal if:**
240+
- Transcoding is disabled
241+
- People started watching at very different times
242+
- Different transcoding quality settings are selected
243+
244+
**To enable connection sharing:**
245+
1. Make sure transcoding is enabled on the playlist
246+
2. All viewers should use the same transcoding profile
247+
3. Connection pooling happens automatically for the same channel + quality
248+
249+
---
250+
251+
## 💬 Frequently Asked Questions
252+
253+
### Q: Can I use accounts from completely different IPTV providers?
254+
255+
**AWhile technically possible by setting different URLs, it's **not recommended**. Provider Profiles is designed for the same provider with multiple accounts. Different providers may have:
256+
- Incompatible URL structures
257+
- Different API implementations
258+
- Varying authentication methods
259+
- Different channel naming/IDs
260+
261+
For different providers, create separate playlists instead.
262+
263+
### Q: Why can't I just set any URL I want?
264+
265+
**A:** The URL transformation system uses pattern matching to replace credentials and server URLs. It expects a consistent Xtream API URL format:
266+
```
267+
http://provider.com/live/username/password/stream123.ts
268+
```
269+
270+
If Provider B uses a different structure, the transformation will fail:
271+
```
272+
http://different.com/stream/username/password/123.ts ← Won't match pattern
273+
```
274+
Proxy Not Enabled Error
275+
276+
**Symptoms:**
277+
"Provider Profiles require proxy to be enabled"

docs/advanced/settings-reference.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
sidebar_position: 6
2+
sidebar_position: 4
33
description: Complete Settings page reference for M3U Editor
44
tags:
55
- Settings

docs/advanced/strm-files.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
sidebar_position: 8
2+
sidebar_position: 3
33
description: Complete guide to .strm file generation for media server integration
44
tags:
55
- Series

docs/client_configuration.md

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -103,9 +103,4 @@ Popular Android IPTV client supporting both Xtream API and M3U.
103103
5. (Optional) Add EPG URL: `http://YOUR_M3U_EDITOR_IP:36400/{playlist-uuid}/epg.xml`
104104
6. Click **Save**
105105

106-
***
107-
108-
:::danger Disclaimer
109-
M3U-Editor is an independent, open‑source playlist manager — not an IPTV provider. We don’t host channels or partner with streaming services; please only use content you’re authorized to access.
110-
:::
111106

docs/integrations/emby_integration.md

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ tags:
77
- Integrations
88
- Emby
99
- Jellyfin
10+
- Experimental
1011

1112
---
1213

@@ -48,11 +49,3 @@ You will need to make sure you have your url for your Emby Server. This can be i
4849
:::tip
4950
Your media server should not be displayed under the Media Servers integrations
5051
:::
51-
52-
![Media Server Integration List](/img/doc_imgs/media_server_integration_server_list.png)
53-
54-
---
55-
56-
:::danger Disclaimer
57-
M3U Editor is an independent, open-source playlist manager — **not an IPTV provider**. We don't host channels or partner with streaming services. Please only use content you're authorized to access.
58-
:::

0 commit comments

Comments
 (0)