FFmpeg Stream
Last updated
OmniScope supports real-time monitoring of video delivered via FFmpeg over UDP or named pipe, using the NUT container format.
The FFmpeg Stream source (previously two separate sources — UDP/NUT and Pipe/NUT) is a unified input that auto-detects the connection type from the URL you provide:
udp://…
UDP socket; NUT container forced (FFmpeg cannot probe UDP)
\\.\pipe\… (Windows)
Named pipe via NUT bridge
Other paths / URLs
Auto-detect container format
SRT Stream remains a separate, dedicated source type optimized for low-latency secure streaming. Use FFmpeg Stream for UDP and pipe-based workflows.
Open OmniScope and go to Input > Connect to…
Select FFmpeg Stream
Enter a udp:// URL, for example:
udp://0.0.0.0:5000Click Connect
When a UDP URL is detected, advanced UDP options are shown (packet size, FIFO size, etc.).
Named-pipe transport requires a small Python relay script — the NUT bridge — that sits between your FFmpeg sender and OmniScope.
Python 3.x with pywin32: pip install pywin32
FFmpeg in PATH
The bridge creates two pipes and waits for connections:
\\.\pipe\ffmpeg_in — FFmpeg writes here
\\.\pipe\ffmpeg_out — OmniScope reads here
Go to Input > Connect to… and select FFmpeg Stream
Enter the pipe path: \\.\pipe\ffmpeg_out (pre-filled by default)
Click Connect
The NUT bridge supports connecting and reconnecting at any time:
OmniScope can join after the sender is already streaming — the bridge replays the NUT header to synchronize
The sender can restart without disconnecting OmniScope
OmniScope can disconnect and reconnect; the bridge handles this gracefully
To stop: terminate the Python script (Ctrl+C) — the pipes are removed automatically.
NUT is ideal for pipe and UDP transport because:
Low overhead — minimal container framing
Simple header — can be captured and replayed for mid-stream joins
Codec-agnostic — supports any codec FFmpeg knows
No index required — unlike MP4/MKV, no seek table needed
Byte-stream friendly — designed for streaming scenarios where seeking is not possible
If you previously used the separate UDP/NUT or Pipe/NUT source types, your saved configurations are automatically migrated to FFmpeg Stream on first load. No manual changes are needed.
SRT Stream — Low-latency secure streaming
NDI® — Network Device Interface source
Multiple Input Sources — Use several sources simultaneously
Last updated
python nut_bridge.py# Remux without re-encoding (fastest, preserves quality):
ffmpeg -i input.mov -c copy -f nut \\.\pipe\ffmpeg_in
# From a capture device:
ffmpeg -f dshow -i video="My Webcam" -c:v libx264 -f nut \\.\pipe\ffmpeg_in
# From an RTMP stream:
ffmpeg -i rtmp://server/live/stream -c copy -f nut \\.\pipe\ffmpeg_in