Pearl REST API start and stop streaming
Streaming on a Pearl device is handled by publishers. A publisher is the streaming component of a channel โ one channel can have several publishers, each pushing to a different destination, and each has an auto-assigned publisher ID (pid).
Applies to: Pearl-2, Pearl Mini, Pearl Nexus, Pearl Nano.
| Method and path | What it does |
|---|---|
POST /channels/{cid}/publishers/control/start |
Starts every publisher on the channel |
POST /channels/{cid}/publishers/control/stop |
Stops every publisher on the channel |
POST /channels/{cid}/publishers/{pid}/control/start |
Starts one publisher |
POST /channels/{cid}/publishers/{pid}/control/stop |
Stops one publisher |
GET /channels/{cid}/publishers/status |
Status of every publisher on the channel |
GET /channels/{cid}/publishers/{pid}/status |
Status of one publisher |
Start and stop are asynchronous. The method does not wait for the publisher to start or stop. A {"status": "ok"} response means the command was accepted, not that the stream is live โ poll the status endpoint to confirm.
Publisher states are starting, listening, started, stopped, and error. Status also returns:
is_configuredโ whether the publisher is properly configuredstartedโ whether it is currently runningdurationโ seconds since it startedsinceโ the start time as a Unix timestamp in secondsdescriptionโ the error text when the state iserrorreconnectionsโ how many times it reconnected during the streamwarningsโ an array of warning messagesstatisticsโ transport statistics, populated for SRT
SRT statistics. An SRT publisher reports a total block covering the whole session (duration, pkt_sent, pkt_loss, pkt_retrans, pkt_drop, latency, byte_sent, byte_retrans, byte_drop) and a current block covering a recent window (send_rate, loss_ratio, retrans_ratio, drop_ratio, latency, rtt, estimated_bandwidth, send_buffer, stream_id, ip). Use pkt_loss, pkt_retrans, and rtt to diagnose an unstable SRT link.