feat: implement Turbo-Start stream acceleration

- Add direct MPEG-TS support and optimized HLS tuning
- Implement low-latency sync and instant bitrate selection
- Achieve TiviMate-like zapping speed by reducing initial buffers
This commit is contained in:
Michael committed 2026-03-10 18:41:46 +01:00
1 parent 736ab0f51c
commit 0ca6f96710
5 files changed
+67 -18

No files matched your search

+13 -2
View File
@@ -89,13 +89,24 @@ class XtreamService {
_currentPlaylist = playlist;
}
/// Generate stream URL for live TV
/// Generate stream URL for live TV (HLS)
String getLiveStreamUrl(String streamId) {
if (_currentPlaylist == null) throw Exception('No playlist configured');
// Use HLS (.m3u8) with a subpath to ensure relative segments resolve correctly
return '$_backendBaseUrl/api/live/$streamId/playlist.m3u8';
}
/// Generate stream URL for live TV (Direct MPEG-TS)
/// Faster zapping on compatible players (mpegts.js)
String getLiveStreamUrlTs(String streamId) {
if (_currentPlaylist == null) throw Exception('No playlist configured');
// Direct link to the .ts stream through our proxy
final dns = _currentPlaylist!.dns;
final user = _currentPlaylist!.username;
final pass = _currentPlaylist!.password;
final url = '$dns/live/$user/$pass/$streamId.ts';
return '$_backendBaseUrl/api/xtream/${Uri.encodeComponent(url)}';
}
/// Generate stream URL for VOD (movies)
String getVodStreamUrl(String streamId, String containerExtension) {
if (_currentPlaylist == null) throw Exception('No playlist configured');