mirror of
https://github.com/R0m1k3/xtremflow.git
synced 2026-10-11 17:30:00 +02:00
feat: implement IPTV player screen with FFmpeg transcoding for live streams, playback position tracking, and dedicated settings
This commit is contained in:
1 parent
d2c92215e9
commit
5be7c0c3ff
3 files changed
+63
-28
No files matched your search
@@ -166,6 +166,15 @@ class IptvSettings {
|
||||
}
|
||||
}
|
||||
|
||||
/// Get transcoding mode string for FFmpeg URL parameter
|
||||
String get modeString {
|
||||
switch (transcodingMode) {
|
||||
case TranscodingMode.disabled: return 'direct'; // Passthrough, 0% CPU
|
||||
case TranscodingMode.forced: return 'transcode';
|
||||
case TranscodingMode.auto: return 'auto';
|
||||
}
|
||||
}
|
||||
|
||||
// ===== Filter Methods =====
|
||||
|
||||
static List<String> _parseKeywords(String filter) {
|
||||
|
||||
@@ -134,8 +134,9 @@ class _PlayerScreenState extends ConsumerState<PlayerScreen> {
|
||||
ConnectionTimeout.medium => 'medium',
|
||||
ConnectionTimeout.long => 'long',
|
||||
};
|
||||
final modeParam = settings.modeString; // direct, transcode, or auto
|
||||
|
||||
final streamEndpoint = '$baseUrl/api/stream/${widget.streamId}?url=$encodedUrl&quality=$qualityParam&buffer=$bufferParam&timeout=$timeoutParam';
|
||||
final streamEndpoint = '$baseUrl/api/stream/${widget.streamId}?url=$encodedUrl&quality=$qualityParam&buffer=$bufferParam&timeout=$timeoutParam&mode=$modeParam';
|
||||
|
||||
debugPrint('PlayerScreen: Starting FFmpeg stream: $streamEndpoint');
|
||||
|
||||
|
||||
Reference in new issue
Block a user