VOD Rebroadcast (VOD2Live)
Schedule an existing VOD as a live channel with vod_rebroadcast on POST/PUT /v2/channel.
Rebroadcast an existing VOD as a scheduled live channel. There is no separate HTTP path: send a vod_rebroadcast object on the channel APIs.
- Create: Create Stream
POST /v2/channel - Update / reschedule: Update Stream
PUT /v2/channel/{id} - Read: Lookup Stream and List Streams
Host:https://developer.dacast.com. Headers:X-Api-KeyandX-Format: default. JSON bodies needContent-Type: application/json.
Request object
vod_rebroadcast is an object (not an array):
| Field | Meaning |
|---|---|
id | VOD id on the account. Use the short uuid from GET /v2/vod (for example 33ce2526-0e2f-44f4-8693-fa8c66ec78f6). Do not send root_user_id-vod-.... |
start | Unix timestamp in seconds when playback should start. Must be at least 10 minutes from the API call. Do not send milliseconds. |
Do not send timezone. start is absolute Unix time. You may send start as a number or a string; the API returns it as a string.
Create
curl -X POST "https://developer.dacast.com/v2/channel" \
-H "X-Api-Key: insertYourApiKeyHere" \
-H "X-Format: default" \
-H "Content-Type: application/json" \
-d "{\"title\":\"My VOD to Live\",\"vod_rebroadcast\":{\"id\":\"VOD_ID\",\"start\":START_UNIX}}"Replace START_UNIX with floor(now) + 600 or later. A successful create returns 201 and echoes vod_rebroadcast.
This is not an encoder ingest channel. config.publishing_point_primary and config.stream_name are null. There is no RTMP/SRT/WHIP push.
Example 201 (abridged):
{
"id": "aaea469f-c9cb-42d6-b4f1-e060b9cec786",
"title": "My VOD to Live",
"config": {
"publishing_point_primary": null,
"stream_name": null
},
"hls": "https://playlist.dacast.com/live/8f2facdc-1a29-5903-bffb-8414b3ee5da5-live-aaea469f-c9cb-42d6-b4f1-e060b9cec786/master.m3u8",
"vod_rebroadcast": {
"id": "33ce2526-0e2f-44f4-8693-fa8c66ec78f6",
"start": "1787059311"
}
}Update
PUT /v2/channel/{id} with the same object reschedules the channel or points it at another VOD you own. A successful update returns 200. Send only the fields you want to change.
curl -X PUT "https://developer.dacast.com/v2/channel/{id}" \
-H "X-Api-Key: insertYourApiKeyHere" \
-H "X-Format: default" \
-H "Content-Type: application/json" \
-d "{\"vod_rebroadcast\":{\"id\":\"VOD_ID\",\"start\":START_UNIX}}"Lookup and list
The create 201 includes vod_rebroadcast. GET /v2/channel/{id} returns the channel immediately, but vod_rebroadcast can still be {} for a short time. The channel list can lag the same way (up to about a minute). Retry until id and start are set.
Encoder ingest channels keep vod_rebroadcast: {}.
Validation
Create and update both return 422 (not a generic "Unknown error") when:
startis fewer than 10 minutes from nowstartis in milliseconds instead of secondsidis not a VOD on this account
Example when start is too soon:
{
"error": "invalid input for vod2Live scheduling",
"detail": "start time must be at least 10 minutes in the future"
}Updated 3 days ago
