The rehelios blog
Playbooks, comparisons, and engineering notes on shipping video — from the team building the infrastructure.
More posts
The cheapest video hosting in 2026, calculated at three catalog sizes
“Cheapest video hosting” has no single answer, but it does have a calculable one. Here's the same arithmetic run at three catalog sizes, the assumptions that drive it stated out loud, and the two specific points where per-minute billing actually beats per-GB.
Read postBest video hosting for developers in 2026: ranked by what you'll actually hit in week two
Developer-facing video platforms all demo well. The differences show up in week two — when you need resumable uploads, signed playback, webhooks that fire reliably, and a bill that doesn't scale with a unit you can't control. Here's the honest split, by what each one is genuinely best at.
Read postBest video hosting for online courses in 2026: what 500 GB actually costs on each
Most “best video hosting for online courses” lists rank platforms without ever pricing them against a real course library. This one picks a concrete catalog — 50 hours, 500 GB, 200 students — runs the arithmetic on each billing model, and says plainly which platform wins for which kind of course.
Read postBest video hosting for your website in 2026: start with why you're leaving YouTube
Nobody searches for website video hosting because they love comparing CDNs. They search because YouTube put a competitor's video after theirs, or the page got slow, or the content needs to be gated. Each of those reasons points at a different platform — here's the mapping.
Read postHow to add video to a Next.js app
How to wire video upload, adaptive HLS/DASH playback, and signed private playback into a Next.js App Router project without routing bytes through your own server.
Read postThe best video hosting API in 2026 depends on how you're billed
“Best video hosting API” has no single answer — the right one depends on how you're billed, whether you need live, and whether an AI agent has to drive it. Here's an honest map of the main options in 2026, what each is genuinely good at, and how to pick.
Read post“Free video hosting API” — what free actually means
Search “free video hosting API” and you'll find free tiers, free encoding, and free open-source — three different things, each with a different catch. The free tier ends when you get traction, free encoding isn't free hosting, and self-hosting trades a bill for engineering time. Here's how to actually keep video cheap.
Read postGenerate HLS from an mp4 with ffmpeg
A single ffmpeg -f hls command makes a working manifest but not an adaptive stream — here's the real multi-rendition command, why keyframe alignment matters, and when to stop maintaining the pipeline yourself.
Read postHLS won't play on iOS Safari? a checklist
iPhones are the one place you should not reach for hls.js — Safari on iOS plays HLS natively and blocks the Media Source path hls.js needs. Most 'HLS won't play on iPhone' bugs come down to a handful of causes: using the wrong player, a missing playsinline attribute, the wrong MIME type, or an autoplay that isn't muted. Here's the checklist.
Read posthls.js CORS error: why it happens and how to fix it
The hls.js CORS error almost never means your player is broken — it means the server delivering your .m3u8 and its segments isn't sending the right cross-origin headers. hls.js loads video through fetch/XHR (unlike a native <video> tag), so every file it touches is subject to CORS. Here's the mechanism and the exact fix.
Read postMCP video servers, compared: who lets an agent actually ship video
Search “MCP server for video” and you mostly find tools that edit or generate clips. Far fewer let an AI agent host and deliver a finished video — take a file or a model-output URL and hand back a permanent, streamable embed. Here's the map of who does what, and where an agent hits a wall.
Read postResumable video uploads with the tus protocol
A walkthrough of how tus turns large video uploads into resumable, chunked transfers that survive dropped connections and skip your API server entirely.
Read postWebhook vs polling for video processing status
Polling a video status endpoint wastes requests and adds latency; a webhook tells you the instant encoding finishes. Here's how to do it right — HMAC verification, fast 2xx acks, idempotent handlers, and a polling fallback.
Read postBuild a token-protected course video player: a code walkthrough
Most guides on protecting course video stop at 'the link expires' with no mechanism behind it. This is the actual code: import lectures into a per-course collection, check enrollment on the server, mint a short-lived signed playback token, and hand it to the player — plus an honest look at what that protection does and doesn't stop.
Read postVideo hosting API pricing, compared by billing model
Listicles compare vendor pricing pages number by number, but Cloudflare Stream, Mux, Bunny, and rehelios don't even bill on the same axis. Here's how the two dominant billing models — per-minute and per-GB — actually work, and which one wins for which kind of catalog.
Read postFull autonomy vs. human-gated: choosing an agent-native video API
Agent-native video APIs split into two philosophies: human-gated, where an agent has to ask before anything destructive happens, and full autonomy, where it can upload, import, and manage video end to end unattended. Neither is wrong — they're built for different jobs.
Read postAdd video to your SaaS: a build-vs-buy decision guide
Product demos, onboarding video, user-uploaded clips — every SaaS eventually needs to store and serve video. Here's the decision guide: the five factors that actually matter, a fair comparison across the main options, and the concrete flow for shipping it with rehelios.
Read postVimeo alternative for developers: embed video by API
Vimeo is built for the vimeo.com destination and its hosted player — not to disappear as the invisible video backend of your app. Here's what changes when a developer moves from Vimeo's embed/API path to actual video infrastructure.
Read postThe real cost of self-hosting video: FFmpeg + S3 + CDN vs. buying
Self-hosting video looks free because the tools are free. The real bill shows up in transcode compute, CDN egress at scale, and the weeks spent building signed URLs, retries, and monitoring around FFmpeg. Here's how to model it against a managed per-GB provider before you commit.
Read postHow to give an AI agent the ability to upload and host video
Search for how to give an AI agent file-handling abilities and every result is a document-RAG framework. Nothing purpose-built handles video. Here's how to add real upload-and-hosting ability with the rehelios MCP server, CLI, or API — one tool call in, a playable URL out.
Read postWhere to host Sora and Veo video before the URL expires
Every AI video model hands you a temporary URL, not a home for your output. OpenAI's Sora download links expire in roughly an hour, Google's Veo output on Vertex AI is auto-deleted after about two days, and fal.ai's retention on fal.media URLs isn't documented at all — so if nothing copies the clip somewhere durable first, it's gone. Here's the mechanism, and the one-call fix for an agent that just generated a video.
Read postCloudflare Stream pricing: per-minute, not per-GB
"Cloudflare Stream cost per GB" is a search people run constantly — and it's a category error. Stream bills per minute. Here's why that distinction exists, how to translate minutes into a rough GB budget, and when it works for or against you.
Read postMux encoding pricing by quality tier: free on basic, metered above it
Mux's encoding meter has a detail most comparisons miss: it's free on the basic quality tier at any volume, and only starts charging once you need plus or premium. Here's what each tier actually gives you, and why the charge compounds for catalogs that only grow.
Read postHow signed playback tokens actually work for HLS and DASH
Most video-protection tutorials stop at signing one manifest URL — but HLS and DASH are made of many segment files, and an unsigned segment is a wide-open door. This post covers the two approaches that actually protect a full playback session, and why Safari makes token renewal non-negotiable.
Read postImport a video library from S3 without re-uploading
If your original files already live in an S3 (or R2) bucket, you don't need to download and re-upload gigabytes to get adaptive HLS and a CDN. Here's how server-side import-by-URL works, what it costs, and the migration pattern that keeps it reversible.
Read postHow LearnBase made course video feel instant across LATAM with rehelios
LearnBase serves AI-built academies to creators across LATAM, Spain, and Brazil. Their course video lived on Bunny Stream, but its origin storage sat in Brazil — so first-play of each module segment hit periodic 1–2s cold-start spikes for Argentine learners. Here's how they migrated to rehelios from their existing S3 origin, with zero re-uploads and no player rewrite.
Read post