Skip to main content
Convertly Live lets you broadcast from OBS (or any RTMP/SRT encoder) and play back over HLS or WebRTC. Create a live input in the dashboard or API, copy the ingest URL and stream key into your encoder, and embed the playback URL in your app. If you only need on-demand video (upload a file, get an HLS/DASH ladder), use Video streaming instead — live is for real-time broadcast.
Live broadcasting is available on Business and Enterprise plans. See pricing for plan limits and metering.
1

Create a live input

A live input is the record that issues your broadcast credentials and tracks the stream.
curl -X POST "https://convertly.sh/api/live/inputs" \
  -H "Authorization: Bearer $CONVERTLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Launch event",
    "access": "public",
    "allowedDomains": ["example.com"]
  }'
The response includes the input’s id, a playbackId, and a one-time streamKey. The stream key is shown only on creation and on rotate — store it somewhere safe. Convertly keeps only a hash.
2

Point your encoder at the ingest URL

In OBS (or any RTMP/SRT encoder), use the ingest URL and stream key from the live input response (or the dashboard Live inputs view):
  • Server: the RTMP base URL from ingest.obsServer (for example rtmps://live.convertly.sh/live)
  • Stream key: the value from ingest.obsStreamKey (includes your input slug and one-time token)
Use RTMPS or SRT in production. When the encoder connects, Convertly validates the stream key, checks the input is enabled, and records lifecycle events. A bad or revoked key is rejected before playback starts.
3

Play it back

Fetch the input to get its playback URLs:
curl "https://convertly.sh/api/live/inputs/$INPUT_ID" \
  -H "Authorization: Bearer $CONVERTLY_API_KEY"
Use the returned HLS URL in any HLS player (hls.js, Safari native, video.js) or the WebRTC URL for sub-second latency. Playback honors the input’s allowedDomains: requests from other origins are refused.
4

Rotate or disable the key when you're done

Rotate the stream key any time without recreating the input:
curl -X POST "https://convertly.sh/api/live/inputs/$INPUT_ID/rotate-key" \
  -H "Authorization: Bearer $CONVERTLY_API_KEY"
Rotating invalidates the old key immediately. To stop a stream entirely, PATCH the input to disabled or DELETE it.

Ingest and playback URLs

Every live input response includes ready-to-use ingest and playback URLs. You do not deploy or configure a separate media server — Convertly hosts the live ingest and playback endpoints for your workspace.
  • Copy ingest settings from ingest.obsServer and ingest.obsStreamKey into OBS or your encoder.
  • Embed playback from playback.hlsUrl (HLS players such as hls.js or Safari) or playback.webRtcUrl (low-latency WebRTC).
  • Restrict playback with allowedDomains on the input. Requests from other origins are refused.
  • Rotate or disable stream keys from the API or dashboard when a broadcast ends or a key may be compromised.
For the full API reference, see Video streaming and the Live inputs endpoints.

Plans and metering

Live broadcasting bills into the same video meters as on-demand streaming: encoded minutes and delivery bytes. See the pricing comparison for the per-plan allowances and overage rates.