|
| 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" |
0 commit comments