Choose a Transport
Pick HTTP or OSC for delivery—then use one shared command catalog.
DearScenario Player has one command catalog (play, load, seek, …) and two
transports that deliver those commands. The transport changes delivery,
confirmation, and topology—not what the player can do.
Commands are the catalog. Protocols are filters.
Browse what you can do in the Command Reference. Use this page only to pick how your controller talks to the player.
Transport filter
What is controlling the player?
Commands are the catalog. Protocols are filters. Pick the wire format your controller already speaks, then open the Command Reference for every action.
Decide from your controller
| If you are controlling from… | Choose | Why |
|---|---|---|
| A web app, shell script, Python, Node.js, or automation | HTTP | Request/response, clear errors, easiest to debug. |
| QLab, TouchDesigner, Max/MSP, or similar | OSC | Native cue / realtime patching; playback profile only. |
Confirmation vs observation
| Need | Use |
|---|---|
| Know the cue was accepted or rejected | HTTP |
| Non-critical or continuous values | OSC |
| Watch playback after any transport | Status |
OSC has no success acknowledgement. HTTP confirms validation and queue
admission. If the show cannot continue until media is ready or playing, also
observe that state through GET /api/status.
One envelope, two spellings
HTTP uses JSON:
{ "cmd": "play", "params": {} }| Transport | How that command is carried |
|---|---|
| HTTP | POST /api/command with the JSON body |
| OSC | Address form such as /player/play (playback subset only) |
Same play cue:
HTTP
curl -X POST http://<player-ip>:18290/api/command \
-H "Content-Type: application/json" \
-d '{"cmd":"play","params":{}}'OSC
/player/playFor every other command’s parameters and transport availability, use the Command Reference—do not hunt per-command HTTP paths. There are none.
Ports
| Endpoint | Role |
|---|---|
18290 | HTTP, Web Console, OSC (when enabled, on the UDP socket) |
18292 | Remote-debug preview WebSocket (not a command protocol) |
Next step
- Open the Command Reference and pick a command.
- Switch the transport tab to match your controller.
- Read only the matching Transports guide for connection details.
- Wire Observe if you need live playback state.
For copyable QLab, Crestron, Companion, and Node-RED starters, see Minimal integration examples. These are documentation examples; real-platform validation remains part of release acceptance.
Not in the current public API
The following are future directions, not current transport commitments:
multi-machine frame-locked sync, playlist/scheduler/timeline control, OAuth or
Internet-facing bearer auth, and cross-restart global sequence counters. Build
against the published command catalog (web-console/api_spec.json) and HTTP
route list (web-console/openapi.json) only.

