mirror of
https://github.com/R0m1k3/xtremflow.git
synced 2026-10-11 17:30:00 +02:00
feat: Implement core backend server with API, Xtream proxy, and streaming capabilities, and introduce IPTV player screen.
This commit is contained in:
1 parent
2517ac777a
commit
2c581bc8e5
2 files changed
+6
-7
No files matched your search
+3
-4
@@ -433,9 +433,8 @@ Handler _createStreamHandler() {
|
||||
|
||||
'-i', iptvUrl,
|
||||
|
||||
// Output format: fragmented MP4 (fMP4) for streaming
|
||||
'-f', 'mp4',
|
||||
'-movflags', 'frag_keyframe+empty_moov+default_base_moof',
|
||||
// Output format: MPEG-TS for streaming (compatible with mpegts.js)
|
||||
'-f', 'mpegts',
|
||||
|
||||
// Video: Copy is BEST for performance (0% CPU)
|
||||
// Browsers support H.264 well.
|
||||
@@ -495,7 +494,7 @@ Handler _createStreamHandler() {
|
||||
return Response.ok(
|
||||
controller.stream,
|
||||
headers: {
|
||||
'Content-Type': 'video/mp4',
|
||||
'Content-Type': 'video/MP2T',
|
||||
'Access-Control-Allow-Origin': '*',
|
||||
'Cache-Control': 'no-cache, no-store',
|
||||
'Connection': 'keep-alive',
|
||||
|
||||
@@ -136,9 +136,9 @@ class _PlayerScreenState extends ConsumerState<PlayerScreen> {
|
||||
};
|
||||
final modeParam = settings.modeString; // direct, transcode, or auto
|
||||
|
||||
// Construct the stream URL directly using fMP4 format
|
||||
// We add &ext=.mp4 to force the web player to use Direct Play instead of HLS/MPEGTS
|
||||
final streamEndpoint = '$baseUrl/api/stream/${widget.streamId}?url=$encodedUrl&quality=$qualityParam&buffer=$bufferParam&timeout=$timeoutParam&mode=$modeParam&ext=.mp4';
|
||||
// Construct the stream URL directly using MPEG-TS format
|
||||
// We add &ext=.ts to force the web player to use mpegts.js which is perfect for low-latency live streams
|
||||
final streamEndpoint = '$baseUrl/api/stream/${widget.streamId}?url=$encodedUrl&quality=$qualityParam&buffer=$bufferParam&timeout=$timeoutParam&mode=$modeParam&ext=.ts';
|
||||
|
||||
debugPrint('PlayerScreen: Starting Direct Stream: $streamEndpoint');
|
||||
|
||||
|
||||
Reference in new issue
Block a user