setName(e.target.value)} />
{[
{ id: 'SRT', label: 'SRT', desc: 'Secure Reliable Transport — pull caller', icon: 'signal' },
{ id: 'RTMP', label: 'RTMP', desc: 'Real-Time Messaging Protocol', icon: 'globe' },
{ id: 'SDI', label: 'SDI', desc: 'Blackmagic DeckLink hardware', icon: 'video' },
].map(t => (
))}
{sourceType === 'SRT' && (
setSrtUrl(e.target.value)} style={{ flex: 1 }} />
Recorder connects out to this URL (caller mode).
{probeResult &&
}
)}
{sourceType === 'RTMP' && (
setRtmpUrl(e.target.value)} style={{ flex: 1 }} />
Recorder pulls this RTMP stream.
{probeResult &&
}
)}
{sourceType === 'SDI' && (
{sdiDevices === null && (
Detecting DeckLink devices…
)}
{sdiDevices !== null && sdiDevices.length > 0 && (
{sdiDevices.map((dev, di) => (
{(dev.model || dev.device || 'DeckLink').toUpperCase()} · {dev.hostname}
{Array.from({ length: dev.port_count || 4 }, (_, i) => i).map(idx => (
))}
))}
)}
{sdiDevices !== null && sdiDevices.length === 0 && (
No DeckLink devices auto-detected. Configure manually:
)}
)}
Master recording
{['video', 'audio', 'container'].map(t => (
))}
{recTab === 'video' && (
)}
{recTab === 'audio' && (
)}
{recTab === 'container' && (
)}
{proxyOn && (
Proxy
{['H.264', '2 Mbps', 'MP4', '1920×1080', 'AAC 128 kbps'].map(tag => (
{tag}
))}
Fixed proxy profile — not configurable.
)}
Destination
{submitErr && (
{submitErr}
)}