Recordings & private streams
VOD storage, signed URLs, paywalled playback.
Auto-record to VOD
Every stream can record automatically. Toggle in the stream input settings.
- Recording starts when the stream goes live.
- Finalizes within a minute of the stream ending.
- Appears in Recordings with the original stream's metadata.
- Stored in your account; downloadable as MP4.
VOD storage
- Recordings count against your VOD storage quota (perk-dependent).
- Free deletion any time.
- Auto-deletion after 30 days on the base tier; longer on
cloud_streaming_creator.
Sharing a VOD
Each recording has:
- Public URL — anyone with the link can watch (toggle off for private).
- Embed code —
<iframe>snippet for your site. - Signed URL — time-limited link for private playback.
Signed URLs (private streams)
For paywalled / authenticated playback:
- In your backend, generate a signed URL when the user is authorized.
- Sign with your account's streaming secret (in /tools/cloud-streaming → API).
- URL is valid for the time you specified.
Example signing logic (Node.js):
import crypto from "crypto";
function signUrl(videoId, expiresInSec) {
const exp = Math.floor(Date.now() / 1000) + expiresInSec;
const payload = `${videoId}:${exp}`;
const sig = crypto
.createHmac("sha256", process.env.SUZKO_STREAMING_SECRET)
.update(payload)
.digest("hex");
return `https://stream.suzko.net/${videoId}?exp=${exp}&sig=${sig}`;
}
Live private streams
Same mechanism. The signed URL is the playback URL while the stream is live (not just the VOD). Useful for paywalled live events — sign per-viewer, share only after they've authenticated.
Downloading
Recording → Download gives you the raw MP4. Useful for editing
- uploading to your own video CMS later.
Embeds
<iframe
src="https://stream.suzko.net/embed/<video-id>"
width="800"
height="450"
allow="autoplay; encrypted-media; picture-in-picture"
allowfullscreen
></iframe>
For responsive embeds, wrap in a 16:9 aspect-ratio container.