Live StreamingLive sessions
Live Streaming

Creating, Streaming & Recording Live Sessions

End‑to‑end workflow for creating a live stream, broadcasting via RTMP, watching HLS playback, and recording the session for later VOD retrieval.

Overview

This guide shows how to create a live stream using the Videograph API, broadcast using an RTMP encoder, view the HLS output, and optionally record the session. When recording is enabled, the stream is captured and remains available for about 12 hours from the start time before it is processed into a VOD‑like asset accessible through the standard contents API.

If you are new to live streaming on Videograph, see Live Streaming Overview. For essential playback concepts, see Content Model & Playback Basics.

Prerequisites

Recording must be enabled when creating the live stream. Recorded sessions are retained for about 12 hours from the start of the broadcast before they are processed into a retrievable asset.

End‑to‑end workflow

Create a live stream

Use the POST /video/services/api/v1/livestreams endpoint to create a live stream. Set the record boolean to control whether the session should be captured for later retrieval.

curl --request POST \
     --url https://api.videograph.ai/video/services/api/v1/livestreams \
     -u "ACCESS_KEY:SECRET_KEY" \
     --header "content-type: application/json" \
     --data '{
       "title": "Live stream",
       "region": "us-east-1",
       "record": true
     }'

Setting "record": false creates a non‑recorded live stream.

The dashboard shows separate views for streams created with recording enabled and disabled.

Interpret and store the response

The response returns all information required to broadcast and play the stream:

  • playbackUrl
  • rtmpUrl
  • streamKey
  • streamUUID
  • status (initially Idle)

Store these values so your encoder and playback clients can be configured correctly.

Select the correct RTMP ingest base URL

Videograph uses two ingest bases:

  • For recorded streams (record set to true):
    rtmp://rc-ingest.in.videograph.ai/rec

  • For non‑recorded streams (record set to false):
    rtmp://ingest.in.videograph.ai/live

Append the returned streamKey when configuring your encoder.

Configure and start your encoder

In OBS or another RTMP encoder:

  • Set the server field to the ingest base URL.
  • Set the stream key field to the returned streamKey.
  • Start streaming to send video to Videograph.

Once the stream is received, it becomes playable using the returned HLS playbackUrl.

The screenshot below shows an example OBS configuration with the RTMP server URL and stream key.

Watch the live stream via HLS

Use the playbackUrl in any HLS‑capable player. See Playing Videos (Web & App Integration) for common integration patterns.

The HLS playback URL is also visible directly in the Videograph dashboard.

Retrieve the processed VOD asset (if recording enabled)

If "record": true, the stream is recorded and remains accessible for about 12 hours from the start time. After that window, the session is processed into a standard content item retrievable via the contents API.

When you know the resulting content identifier, request the asset and its playback URL:

curl --request GET \
     --url https://api.videograph.ai/video/services/api/v1/contents/CONTENT_ID \
     -u "ACCESS_KEY:SECRET_KEY"

For editing metadata or managing tags later, see Managing Video Content.

You can also manage the live stream and recorded sessions from the dashboard's Live Stream or Live Recording menus, including clips, metadata, and lifecycle actions.

How recorded sessions become VOD assets

Recorded live streams are captured for about 12 hours from the moment the broadcast begins. After the session and retention window complete, Videograph processes the recording into a content item accessible through the standard VOD API. You can then work with the asset the same way you would any uploaded video, including updating metadata or integrating the playback URL in your applications.

Was this page helpful?
Built with Documentation.AI

Last updated 3 weeks ago