requireLogin(); $user = $auth->getUser(); $tenantId = $user['tenant_id'] ?? 0; $flashMessage = null; $flashType = 'info'; // Stream-Daten laden $stream = [ 'stream_url' => '', 'stream_type' => 'hls', 'is_active' => true, 'last_status' => 'unknown', ]; try { $db = Database::getInstance(); if ($tenantId > 0) { $dbStream = $db->fetchOne( "SELECT * FROM tenant_streams WHERE tenant_id = ? AND is_primary = 1", [$tenantId] ); if ($dbStream) { $stream = $dbStream; } } } catch (\Exception $e) { // DB nicht verfügbar } // Formular verarbeiten if ($_SERVER['REQUEST_METHOD'] === 'POST') { $streamUrl = trim($_POST['stream_url'] ?? ''); $streamType = $_POST['stream_type'] ?? 'hls'; if (empty($streamUrl)) { $flashMessage = 'Bitte geben Sie eine Stream-URL ein.'; $flashType = 'error'; } else { try { $db = Database::getInstance(); if ($tenantId > 0) { // Prüfe ob Stream existiert $existing = $db->fetchOne( "SELECT id FROM tenant_streams WHERE tenant_id = ? AND is_primary = 1", [$tenantId] ); if ($existing) { $db->update('tenant_streams', [ 'stream_url' => $streamUrl, 'stream_type' => $streamType, ], 'id = ?', [$existing['id']]); } else { $db->insert('tenant_streams', [ 'tenant_id' => $tenantId, 'stream_url' => $streamUrl, 'stream_type' => $streamType, 'is_primary' => 1, ]); } $flashMessage = 'Stream-Einstellungen gespeichert!'; $flashType = 'success'; // Reload stream data $stream['stream_url'] = $streamUrl; $stream['stream_type'] = $streamType; } else { $flashMessage = 'Stream-Einstellungen können im Legacy-Modus nicht gespeichert werden.'; $flashType = 'warning'; } } catch (\Exception $e) { $flashMessage = 'Fehler beim Speichern: ' . $e->getMessage(); $flashType = 'error'; } } } $pageTitle = 'Stream Einstellungen'; $currentPage = 'stream'; ob_start(); ?>
Hinweis: Die Vorschau funktioniert nur mit HLS-Streams und wenn Ihr Browser HLS unterstützt.
Keine Stream-URL konfiguriert
Stream-Monitoring zeigt automatische Verfügbarkeitsprüfungen an. Diese Funktion wird demnächst verfügbar sein.