Using PID mapping for SRT destinations
PID mapping sets which PID each track uses when Castr pushes your stream to an SRT destination. It changes only what goes to that destination; your source and other destinations aren't affected. Use Standard unless the receiver has given you a PID plan.
Choose a mode
Mode | Use it when |
Standard (default) | The receiver finds tracks on its own, as most platforms and CDNs do. |
Keep source PIDs | Your source reaches Castr as MPEG-TS (SRT or UDP/RTP) and already uses the PIDs the receiver expects. |
Custom | The receiver needs PIDs that differ from both your encoder's and the defaults. |
Set it up
Get the receiver's PID plan: the video PID, one PID per audio track, the SCTE-35 PID if they use ad markers, and any PMT PID they require.
Add a destination and choose SRT. Enter the Host and Port. Add a Stream ID and Passphrase only if the receiver requires them; the passphrase must be 10–79 characters and identical on both ends. Latency is 120 ms by default; raise it for long-distance or lossy links.
Under PID mapping, choose a mode:
Standard: nothing to set. Castr assigns PIDs counting up from 255 in track order. With one video and two audio tracks, audio gets 255 and 256 and video gets 257.
Keep source PIDs: each track keeps the PID it arrived on, and a track without one gets a Standard PID. To send SCTE-35 ad markers on a fixed PID, enter it in Pin SCTE-35 PID.
Custom: enter a Video PID and an Audio PID. Fill Video 2 PID and Audio 2 PID, or click + Add track, for more tracks; × removes a row. Click + SCTE-35 to send ad markers on a specific PID. Empty rows keep the Standard PID, and rows for tracks your stream doesn't have are ignored.
If the receiver needs a specific PMT PID, open Advanced and change PMT PID (4096 by default).
Check the Push target preview, then click Add destination.
In Custom, enter PIDs in decimal or hex (for example 211 or 0xD3), between 32 and 8190. Give each track its own PID, different from the PMT PID. Tracks are numbered in the order they arrive (lowest source PID first for MPEG-TS sources), so Video is your first video track and Video 2 your second.
Changing the PID map on an existing destination restarts that push only. The receiver sees a reconnect of a few seconds, then the new PIDs; your source and other destinations keep running.
Troubleshooting
No video or no audio at the receiver: it's looking on a different PID. Compare its plan with yours and set Custom to match.
Two video or two audio tracks are swapped: swap the Video and Video 2 (or Audio and Audio 2) values.
Keep source PIDs selected, but the PIDs still changed: your source doesn't reach Castr as MPEG-TS. RTMP, RTSP and WebRTC have no PIDs, so they always use Standard. Use Custom to set the values the receiver expects.
The receiver still shows the old PIDs after a change: reopen the stream on the receiver. It may still be showing the PMT from before the push reconnected.
SCTE-35 markers don't arrive: check that your source contains them (see below), then pin the SCTE-35 PID to the one the receiver listens on.
Add destination is greyed out in Custom: enter at least one PID between 32 and 8190, or switch to Standard.
To see which tracks and PIDs your source has, record a few seconds of it as a .ts file and run:
ffprobe -v error -show_entries stream=id,codec_type,codec_name -of compact sample.ts
Each line shows one track with its PID in hex (id=0x100 is 256). SCTE-35 markers appear as a data track.

