pixop-tap-input
pixop-tap-input
Capture N seconds of the pre-Pixop MPEG-TS UDP tap to a .ts file using TSDuck in Docker. Used for offline inspection in tools such as tsp, Wireshark, or vendor analyzers—not for routine monitoring.
Same default tap as pixop-probe-input: TAP_OUT_ADDR / TAP_OUT_PORT from /etc/pixop-live/network.env, else 239.0.0.1:5500.
Usage
pixop-tap-input [-a ADDR] [-p PORT] [-s SECS] [-o OUTDIR]
pixop-tap-input -h|--help| Option | Default | Description |
|---|---|---|
-a, --addr | env / 239.0.0.1 | UDP source address |
-p, --port | env / 5500 | UDP port |
-s, --secs | 10 | Capture duration |
-o, --outdir | /var/lib/pixop-live/taps | Directory for output file |
Output filename pattern: tap-in-{PORT}-{UTC timestamp}.ts under OUTDIR (for example tap-in-5500-20260401T120000Z.ts).
What changes / what never changes
| Changes | Never changes |
|---|---|
Creates one new file under OUTDIR | Pipeline configuration, running services |
Does not rotate or delete older taps automatically.
Preconditions
| Requirement | Detail |
|---|---|
| OS | Appliance guest (AL2023) |
| Privilege | sudo re-exec when not root |
TSDUCK_IMAGE | Local digest in /etc/pixop-live/tsduck.env |
| Disk space | Enough free space for secs × bitrate (TS is not compressed) |
| Traffic | Live TS during the capture window |
Typical workflows
Ten-second default capture:
pixop-tap-inputShorter sample to a support scratch area:
sudo pixop-tap-input -s 5 -o /var/tmp/support-captureCustom tap matching site network.env:
grep TAP_OUT /etc/pixop-live/network.env
pixop-tap-input -s 20After capture, analyze locally on the appliance (example):
OUT=/var/lib/pixop-live/taps
F=$(ls -t "$OUT"/tap-in-5500-*.ts | head -1)
docker run --rm -v "$OUT:$OUT" --pull=never --log-driver=none \
"$(grep ^TSDUCK_IMAGE= /etc/pixop-live/tsduck.env | cut -d= -f2-)" \
tsp -I file "$F" -P analyze --normalized -O drop(Replace image reference with your digest-pinned TSDUCK_IMAGE; do not pull on production appliances.)
Privacy and security
- Full transport-stream content is written to disk—video, audio, and private metadata if present in the PID map.
- Files live under
/var/lib/pixop-live/tapsby default (root-created via sudo). Restrict permissions; delete captures when investigation ends. - Never attach raw
.tsto public tickets without customer approval and contractual clearance. - TS files are not part of standard support bundles; use customer-approved transfer channels only.
- For structure-only checks with no file retention, prefer pixop-probe-input.
Storage and cleanup
ls -lh /var/lib/pixop-live/taps/
sudo rm -f /var/lib/pixop-live/taps/tap-in-5500-*.tsMonitor disk on busy systems; long -s values at high bitrate grow quickly.
Output interpretation
Progress line:
Tapping 10s from UDP 239.0.0.1:5500 -> /var/lib/pixop-live/taps/tap-in-5500-20260401T120000Z.tsSuccess is a non-zero .ts file when traffic was present. Zero-byte or tiny files usually mean no UDP during the window.
Common errors
| Message | Cause |
|---|---|
TSDUCK_IMAGE must be a local immutable digest | Invalid tsduck.env |
TSDuck image not present locally | Missing image |
mkdir / write failures | Permissions or full filesystem |
Unknown arg | Bad CLI (exit 2) |
Warnings
- Avoid long captures on production during peak hours.
- Concurrent taps and probes add duplicate subscribers on the same UDP group; usually safe on localhost multicast but know your network design.
Related
- pixop-probe-input — analyze without writing TS
- pixop-flow — quick bitrate sanity check
- pixop-stack — live stack status (not TS capture)
- Monitoring and troubleshooting
Updated about 12 hours ago
