MTX Nodes 0
Path Mappings 0
Sessions 0
Token Generator
Media Token key_set: media
A camera token carries two claims. Neither is validated here —
a mistake surfaces at the camera, not on this page.
acl — what the token may do.
The claim name must match what RMS reads (authJWTClaimKey,
acl here). A wrong name gives a valid token that WHIP rejects
with a bare authentication error.di — device info for recording.
Every field is abbreviated:| sn | serial; becomes the device id |
| bn | bucket the segments are uploaded to |
| re | record mode — off, always, or
rod (record only between the camera's Recording
start/stop commands) |
| ettl | seconds after the last MotionEvent before an
on-demand recording stops by itself. Omit to use the path's
eventTimeTTL (30s) |
| cy | the bucket's retention in days. Required to record — it selects the dated index the segment is filed under, and RMS refuses rather than guess |
| rv | MID of the video track to record, named as the camera
announces it in its WHIP offer. Omit to use the path's
webrtcRecordVideoMID |
| ra | same for audio. Omit to use
webrtcRecordAudioMID |
rv and ra also decide,
by exclusion, which tracks are on-demand substreams. Send them only when a
fleet mixes firmware versions — the MIDs come from the device, while one
path serves every camera. Otherwise leave them out.Three ways this fails silently
Wrong field name is not an error. RMS
decodes an unknown name to a zero value, so
"device_info"
instead of "di", or "record" instead of
"re", mints a working token that records nothing.A float breaks the whole
token.
"cy": 3.0 and "ettl": 30.0 are
floats, not integers, and RMS rejects the entire token — the camera
cannot publish at all, and the error says nothing about the claim. Watch
for this in producers without an integer type.The old boolean
re is rejected. "re": true with a
separate "rod" was the previous format. It no longer parses,
and again the camera cannot publish rather than merely losing recording.Naming a substream in
rv is undetectable. A substream and a main stream look
identical in the offer, so RMS cannot tell you picked the wrong one — it
records the substream and leaves the main stream idle. Check the
recording MIDs log line after issuing the token.mv and
ma are gone. They were the earlier names for
rv and ra. A token still carrying them loses the
setting in silence and falls back to the path config.