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
OptionDefaultDescription
-a, --addrenv / 239.0.0.1UDP source address
-p, --portenv / 5500UDP port
-s, --secs10Capture duration
-o, --outdir/var/lib/pixop-live/tapsDirectory 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

ChangesNever changes
Creates one new file under OUTDIRPipeline configuration, running services

Does not rotate or delete older taps automatically.

Preconditions

RequirementDetail
OSAppliance guest (AL2023)
Privilegesudo re-exec when not root
TSDUCK_IMAGELocal digest in /etc/pixop-live/tsduck.env
Disk spaceEnough free space for secs × bitrate (TS is not compressed)
TrafficLive TS during the capture window

Typical workflows

Ten-second default capture:

pixop-tap-input

Shorter sample to a support scratch area:

sudo pixop-tap-input -s 5 -o /var/tmp/support-capture

Custom tap matching site network.env:

grep TAP_OUT /etc/pixop-live/network.env
pixop-tap-input -s 20

After 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/taps by default (root-created via sudo). Restrict permissions; delete captures when investigation ends.
  • Never attach raw .ts to 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-*.ts

Monitor 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.ts

Success is a non-zero .ts file when traffic was present. Zero-byte or tiny files usually mean no UDP during the window.

Common errors

MessageCause
TSDUCK_IMAGE must be a local immutable digestInvalid tsduck.env
TSDuck image not present locallyMissing image
mkdir / write failuresPermissions or full filesystem
Unknown argBad 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


Did this page help you?