Add remote stream relay feature: relay remote DJ streams to listeners

- Server-side: Added remote URL support in ffmpeg transcoder
- UI: Added relay controls in streaming panel with URL input
- Client: Added start/stop relay functions with socket communication
- Listener: Shows remote relay status in stream indicator
This commit is contained in:
3nd3r
2026-01-03 10:29:10 -06:00
parent 5e06254e1a
commit 81120ac7ea
4 changed files with 222 additions and 21 deletions

View File

@@ -2320,6 +2320,75 @@ input[type=range] {
opacity: 0.7;
}
/* Remote Relay Section */
.remote-relay-section {
padding: 15px;
background: rgba(0, 0, 0, 0.3);
border-radius: 8px;
border: 1px solid rgba(0, 243, 255, 0.3);
}
.remote-relay-section h4 {
margin: 0 0 15px 0;
color: var(--primary-cyan);
font-family: 'Orbitron', sans-serif;
font-size: 1rem;
}
.relay-controls {
display: flex;
flex-direction: column;
gap: 10px;
}
.relay-url-input {
padding: 10px;
background: rgba(0, 0, 0, 0.5);
border: 1px solid var(--primary-cyan);
color: var(--text-main);
border-radius: 5px;
font-family: 'Rajdhani', monospace;
font-size: 0.85rem;
}
.relay-btn {
padding: 12px;
background: linear-gradient(145deg, #1a1a1a, #0a0a0a);
border: 2px solid var(--primary-cyan);
color: var(--primary-cyan);
font-family: 'Orbitron', sans-serif;
font-size: 0.9rem;
font-weight: bold;
cursor: pointer;
border-radius: 5px;
transition: all 0.3s;
box-shadow: 0 0 15px rgba(0, 243, 255, 0.2);
}
.relay-btn:hover {
background: linear-gradient(145deg, #2a2a2a, #1a1a1a);
box-shadow: 0 0 25px rgba(0, 243, 255, 0.4);
transform: translateY(-1px);
}
.relay-btn.stop {
border-color: #ff4444;
color: #ff4444;
box-shadow: 0 0 15px rgba(255, 68, 68, 0.2);
}
.relay-btn.stop:hover {
background: rgba(255, 68, 68, 0.1);
box-shadow: 0 0 25px rgba(255, 68, 68, 0.4);
}
.relay-status {
margin-top: 10px;
font-size: 0.85rem;
color: var(--text-dim);
min-height: 20px;
}
/* ========== LISTENER MODE ========== */
.listener-mode {