August 4, 2026

Bunny Stream is a CDN with video on it

Shashank Ramineni
Shashank Ramineni
VP - Sales & Marketing

Bunny Stream is a CDN with video on it

Bunny Stream is one cent per gigabyte in North America, the H.264 transcoding is free, and the web player costs nothing. If what you need is bytes moved to viewers cheaply and reliably, it is hard to beat and you should buy it.

What is worth being clear about before you commit is which category of product you are buying. Bunny is a content delivery network (CDN) company that added video features. FastPix is a video platform with a CDN inside it. Both sentences describe something real, and the distance between them is not marketing. It is a list of things one of them expects you to build.

This article is that list. Every figure below is from Bunny's own pricing and documentation, or from ours.

The decision, on one page

Read the middle column. That is the article.

LineBunny StreamWhat you addFastPix
Delivery$0.01/GB in North America. 119 points of presence on a single networkNothing, until a region degradesPer delivered minute worldwide. Multi-CDN mesh across 300+ points of presence with automatic per-region failover, ~50ms to first byte for 95% of viewers
EncodingFree to 1080p in H.264 only. Premium Encoding at $0.025/min for SD, $0.050 for HD, $0.150 for 4K, and it is the gate on HEVC and AV1The Premium Encoding line, the moment you want 4K or a modern codecFree Standard tier through 4K. Per-title encoding, just-in-time transcoding, H.264 / HEVC / AV1 out, CMAF, HDR10, Dolby Vision, HLG
Storage$0.01/GB/month, plus $0.01/GB for every replicated region. Replication zones cannot be removed once setA replication decision you cannot undo without re-uploadingIncluded, with asset lifecycle management
Playback securitySHA256 token authentication that you generate server-side yourselfA token service, in the path of every play, foreverSigned URLs with a five-minute default expiry, JWT tokens, domain locking
DRMMediaCage at $99/month base plus $0.005 per license, billed per device per keyThe $99 before the first license, and a second charge on multi-key titles$99/month plus $0.003 per license, billed per stream. Widevine, FairPlay, PlayReady, AES-128
Web playerFree customizable player. The basics, done wellPrecaching, offline, casting, picture-in-picture, scrub thumbnails, resume position, caption formatsOpen-source player plus a React component, with all of the above in the box and WCAG 2.1 AA compliance
Native playersiOS and Android SDK, June 2025. Playback behaviour beyond basic playback is not documentedTwo to three months of player work, then maintenance on every platform, foreveriOS on AVPlayer, Android on AndroidX Media3, Flutter, React Native, Samsung Tizen, LG webOS. Open source
Playback quality dataNot availableAn event pipeline, or a second vendorStartup time, buffer ratio, stability, render quality and playback success, per session
Engagement dataAggregate view counts from the CDN dashboardThe same pipeline againViews, unique viewers, playing time, retention curves by cohort, ten dimensions you define
Data you ownDashboard onlyAn export you build and maintainRaw events streamed to Snowflake, BigQuery, Redshift, Databricks or ClickHouse. Alerts to PagerDuty, Slack, Opsgenie
Content AITranscription at $0.10 per language per minute. Nothing beyond a transcriptChapters, search, moderation, entities, summaries, clipsTranscription and captions $0.048/min across 30+ languages with speaker diarization. Search, summary and named entities $0.0035/min. Moderation and scene detection $0.10/min
WorkflowREST API with JavaScript and Python SDKs, basic notificationsYour own polling, queueing and stateWebhooks on upload, encode, first play and error. Sync engine into Postgres. Supabase integration. SDKs in Node, Python, Go, Java, PHP, Ruby, C#
IngestUpload and FTPYour migration scriptResumable chunked upload, direct from mobile SDKs, pull from S3, GCS, Azure Blob, HTTPS, FTP, SFTP and Aspera, plus an open-source bulk migration tool
LiveNot availableA second vendorRTMP and SRT ingest, low-latency HLS, simulcast, automatic live-to-VOD, DVR
Linear channelsNot availableA second vendorCloud Playout at $99 per channel
Try before decidingPay as you go, $1/month minimum. No credits programmeA card, on day oneFree tier: 10 videos, 100K streaming minutes, 100K data plays, AI samples. $25 credit with no card. $600 in startup credits

Bunny wins the row it is built to win. The middle column is the rest of the product.

Four terms in that table, in plain words

Points of presence. The cities where a copy of your video sits, waiting. More of them means the copy is closer to the viewer, and closeness is start-up time. The number matters less than the tail: the subscriber in Boise on a mediocre network is the one who gives up, and they are the one a nearer cache saves. A single network with 119 of them also has no second path when one region has a bad day, which is the argument for a multi-CDN mesh rather than a bigger single CDN.

Rendition. One version of your video at one quality. A single upload becomes five or six of them so the player can switch as the connection changes.

Per-title encoding. Reading each video before encoding it and spending bits where that specific video needs them, instead of applying the same fixed ladder to a talking head and a car chase.

Signed URL. A playback link that carries proof it was issued by you and stops working after a set time, so a link pasted into a group chat does not become a free subscription.

PULL QUOTE: Nothing in the middle column appears on Bunny's pricing page. All of it has a price.

What Bunny Stream is built to do

Take the top row seriously before reading the rest, because a comparison that only lists gaps is no use to anyone making a decision.

Bunny runs 119 points of presence on the standard network. Transcoding to 1080p in H.264 is free, with no per-minute encoding charge at all, which is rare and real. Storage is a cent per gigabyte per month. The web player is free, customizable with your own CSS, and if you would rather use your own player they hand you the HLS files. In June 2025 they shipped a native iOS and Android software development kit (SDK) with FairPlay and Widevine digital rights management (DRM), resumable uploads over the TUS protocol, and camera capture. The API is clean and the documentation is good.

For a marketing site, a documentation portal, a course library or a web-first media property, Bunny Stream is the right answer and most of this article does not apply to you.

The rest is written for the case where video is the product.

Is encoding really free on Bunny Stream?

Free encoding on Bunny means H.264, up to 1080p. That covers a great many products. What it does not cover is the direction encoding has been moving for five years.

HEVC, AV1 and anything above 1080p sit behind Premium Encoding, at $0.025 per minute for standard definition, $0.050 for high definition and $0.150 for 4K. A library adding 4,000 minutes a month that wants 4K turns a free line into $600 a month before a single byte is delivered. That is not expensive. It is simply no longer free, and the headline does not say so.

FastPix Video on Demand includes encoding through 4K on the free Standard tier, and the mechanism underneath matters more than the ceiling.

Per-title encoding reads each asset and picks the rungs and bitrates that serve it, which is roughly 35 percent better compression at the same quality. Just-in-time transcoding lets playback begin before the full encode has finished and keeps long-tail assets from occupying storage in every rendition in advance, which on a catalog where most titles are watched rarely is the difference between paying for a library and paying for a viewership. And the codec list is H.264, HEVC and AV1 out, in CMAF and MP4, with HDR10, Dolby Vision and HLG, at no encoding charge.

The ladders differ too. Six rungs against five, 60 frames per second (fps) end to end rather than source frame rate, and three separate audio tracks tied to the video quality so a viewer on a weak connection saves bandwidth twice. The extra rung is at the bottom, not the top: our 240p carries around 20 percent more bitrate than Bunny's, and that is the rung a subscriber on a bad train connection is actually watching. Better picture at the worst moment of a session is a retention argument, not a specification.

Does Bunny Stream support DRM and signed URLs?

Both, with conditions, and this is the section most comparisons skip even though it is the one that touches revenue directly.

Token authentication on embeds works, and expiry is mandatory once you enable it. What the documentation also makes clear is that you implement it. You generate a SHA256 hash of your security key, the video identifier and a UNIX expiry timestamp, server-side, for every playback request, and you keep that service correct forever. It is not difficult code. It is code you own, in the path of every play, that fails closed with a 403 when it drifts. FastPix ships signed URLs with a five-minute default expiry, JSON Web Token authentication and domain locking as configuration rather than as a service you run.

DRM is where the numbers separate. MediaCage carries a $99 monthly base fee before a single license is issued, then $0.005 per license, billed per device per key, so a title protected with more than one key can be charged more than once for the same viewer. FastPix carries the same $99 base, $0.003 per license, billed per stream. At a million licenses a month that is $3,000 against $5,000, before the multi-key effect.

The base fee matters for a different reason than the rate. Ninety-nine dollars a month is trivial for a funded company and decisive for an early one, and the effect is predictable: a team at the start of a paywalled product looks at $99 for content nobody is stealing yet, skips it, and ships unencrypted. The catalog that gets ripped is never the one you protected.

Per-stream error tracking closes the loop. Token failures, license failures and playback errors arrive as events with alerts rather than as a support ticket three days later saying the video will not play.

Does Bunny Stream have Flutter, React Native and TV SDKs?

No. The native SDK covers iOS and Android, shipped June 2025. That was real work and it closed a real gap.

The more useful question is what a player SDK actually contains, because having one is not the same as having the behaviours a video product needs. Bunny's documented SDK covers API access, TUS uploads, camera capture, DRM and player customisation. Precaching, preloading, offline download, Chromecast, AirPlay, picture-in-picture, resume position and scrub thumbnails are not documented. Every one of those is a thing your users will notice missing, and every one of them is yours to write.

That is the two to three months nobody puts in a comparison table. Then it is maintenance, on every platform, permanently, because players break when operating systems ship.

FastPix Player covers web and React, iOS on AVPlayer, Android on AndroidX Media3, Flutter, React Native, and smart television through Samsung Tizen and LG webOS. It is open source on GitHub, so you can read it and fork it rather than file a ticket. Precaching, preloading, offline download, picture-in-picture, playback-rate control, sprite-sheet scrub thumbnails, resume position, Chromecast and AirPlay are in the box. Captions handle WebVTT, SRT, CEA-608, CEA-708, TTML and burn-in across ten or more languages, and the player is WCAG 2.1 AA compliant with keyboard navigation and screen-reader labels, which in the United States stops being a nice-to-have the first time an enterprise buyer sends a procurement questionnaire or an accessibility complaint arrives.

Two details for anyone weighing a build instead.

Google's standalone ExoPlayer repository is deprecated, with development moved to AndroidX Media3. Android playback built directly on ExoPlayer 2 carries a migration nobody has scheduled and everybody owes. Our Android player is on Media3 already, so that migration is ours: your dependency version changes and your engineers keep working on the product.

And Flutter deserves its own line, because teams reach for it specifically so one codebase covers both phones. That only pays off if the video layer covers Flutter too. If it does not, you end up writing platform-specific code inside a cross-platform app, which is the exact outcome Flutter was chosen to avoid.

What developer tooling does Bunny Stream give you?

A REST API, JavaScript and Python SDKs, and basic event notifications. Everything downstream is yours: knowing when an encode finished, keeping your database in step with the platform, retrying what failed, and making sure a job that ran twice does not create two rows.

Feature grids under-count this every time, because none of it is a feature. It is the plumbing between the video platform and your application, and it is where a builder's calendar disappears.

Webhooks with real events. Upload received, encode complete, first play, error. Your content management system updates because something happened, not because a cron job asked.

A sync engine. An open-source service that mirrors your video and live-stream state into your own Postgres database, webhook-driven and idempotent. Your application queries a table it owns instead of a vendor API it does not, and a replayed webhook does not corrupt anything.

A Supabase integration. Edge functions, migrations, a pgmq queue and cron, so a team already on Supabase wires video in without designing a pipeline first.

Ingest that survives the real world. Chunked resumable uploads with drag-and-drop components for React, Astro and React Native, direct upload from the mobile SDKs, and pull ingest from S3, Google Cloud Storage, Azure Blob, HTTPS, FTP, SFTP and Aspera.

Seven server SDKs. Node and TypeScript, Python, Go, Java, PHP, Ruby and C#, type-safe, rather than two languages and a REST client for everyone else.

Working reference applications. A React short-form player demo, an Android reel app, and native upload apps for iOS and Android, all open source. For a team deciding this week, cloning something that already works is worth more than any feature list, including this one.

An open-source migration tool. A Next.js application that bulk-imports an existing library by URL, which exists because moving a catalog is the actual reason teams stay somewhere they have outgrown.

PULL QUOTE: None of it appears in a feature grid. All of it appears in a sprint plan.

Does Bunny Stream have playback analytics?

It reports bandwidth and request counts from the CDN dashboard. Those numbers are accurate, and they describe what your infrastructure did rather than what a person saw.

There are two different questions hiding under the word analytics, and Bunny answers neither.

Is it working? Startup time, buffer ratio, stability, render quality, playback success rate, segmented by device, operating system, geography, connection type and autonomous system number, which is how you find out whether playback is worse on one carrier than another and fix it at the delivery layer.

Are they watching? Views, unique viewers, playing time, and retention curves you can segment by cohort, plus ten custom dimensions you define yourself, so a curve can be sliced by plan tier, episode, creator or campaign.

The gap between those two shows up as a specific meeting. Retention is down this month. Nobody in the room can say whether that is the content, the pricing, or the fact that startup time on Android over a mobile network went from one second to four after a release. Aggregate view counts cannot separate them, so the team argues about content strategy, which is the expensive way to debug a player.

FastPix Video Data reports 56 dimensions per session, free to 100,000 plays a month, $299 a month for the first million and $0.50 per thousand after that. Alerts route to PagerDuty, Slack or Opsgenie when a score drops below a threshold or a specific cohort degrades, which is what turns analytics into operations. And raw events stream to Snowflake, BigQuery, Redshift, Databricks or ClickHouse, so the data lives in your systems rather than only in someone's dashboard.

What that actually buys is easier to see built than described. We have published the working versions: combining video data with ClickHouse to understand why viewers drop off, building an audience retention graph for your own videos, a creator engagement and churn dashboard, an episode-funnel and paywall dashboard, a member-retention dashboard for a fitness platform, and finding your most replayed moments. Each one is a query, not a project.

If you are on Bunny today, you do not have to move to find out whether this gap is real for you. The Video Data SDKs instrument seventeen player surfaces, including the ones you are most likely already running: Video.js, Shaka Player, HLS.js, DASH.js, plain HTML5 video, AVPlayer on iOS, AndroidX Media3, React Native, Better Player on Flutter, and Tizen, webOS and Roku on television. Leave delivery exactly where it is, add the monitoring SDK to the player you already ship, and have per-session data this week. Under 100,000 plays a month it costs nothing.

We are pointing that out on a page arguing you should switch, which is either bad salesmanship or the fastest way to settle the question. Either way the answer beats an opinion.

Does Bunny Stream have AI features?

Transcription, at $0.10 per language per minute. It is a real feature with a real price and for subtitles alone it does the job.

It is also the entire surface. Everything past a transcript is yours to assemble: a language model, a clipping pipeline, storage for the derived metadata, and the glue between them.

In-Video AI is priced per minute and billed inline with encoding rather than as a separate invoice. Transcription and captions run $0.048 per minute across 30 or more languages with speaker diarization and VTT, SRT, TTML and burn-in output. Search, summary and named entity recognition run $0.0035 per minute, which on a catalog adding 4,000 minutes a month is fourteen dollars. Moderation and scene detection, covering NSFW and profanity classification with tunable thresholds and webhook flags, run $0.10 per minute.

Worth sitting with the first line for a moment: Bunny bills $0.10 per language per minute, so a two-language catalog is $0.20 a minute. FastPix bills $0.048 a minute for a job that covers 30-plus languages. On the one AI feature both platforms have, the difference on a bilingual library is roughly four times.

Clipping Agent sits on top of the scene analysis, cutting the strongest thirty seconds of an asset into a vertical with captions burned in, because most people watch social video on mute and social is where products like yours get discovered.

The reason any of this matters to a builder rather than to a content team: metadata is what makes a library queryable. Chapters, entities and transcripts are what a search box searches and what a recommendation feed ranks. A platform that only stores files leaves you to generate all of it, and generating it is the work that never gets prioritised.

Does Bunny Stream support live streaming?

No. Bunny Stream is video on demand, so live means a second vendor, a second integration, a second player path and a second set of numbers.

FastPix Live Streaming ingests RTMP and SRT. SRT matters more than it used to, because creators increasingly go live from a phone on a street rather than from a desk with a hardware encoder, and SRT holds up on a mobile network where RTMP does not. Low-latency HLS brings glass-to-glass latency under about five seconds, simulcast pushes the same stream to other platforms while it runs, DVR lets a late arrival rewind, and live-to-video-on-demand is automatic: same playback, same data, same AI applied to the recording, nothing to move and nothing to re-encode.

The strategic part is what happens after the stream ends. Every live session produces the same 56 dimensions as a recorded one, so live audience, watch-through and the moments that held people land in the same place as everything else. That is what a recommendation feed runs on. Ranking a creator's next live session against their catalog from one data set is a different product from treating live as a separate system with separate reporting.

Cloud Playout is there at $99 per channel when a library should also be a channel.

Where Bunny Stream is the right answer

If your delivery is heavy and your product is light, Bunny wins and the middle column of that table is empty for you. Web-only playback, aggregate view counts that answer the questions your team actually asks, no live on the roadmap, nobody asking for search or clips, video as a feature of your product rather than the product itself. Buy Bunny. It is a good product, priced plainly, by people who know what they are doing, and free H.264 encoding at 1080p is worth more than most vendors admit.

Storage is cheaper on Bunny too, and if you hold a very large library that is watched lightly, that difference outweighs a fair amount of what is written above.

None of this makes bad content good, either. No player saves a video nobody wants to watch, and no dashboard programs taste. What the infrastructure removes is everything standing between good content and the audience that would have loved it.

The decision rule

Do not choose on the headline rate, and do not choose on a feature grid. Choose on the middle column.

Write down what your product needs in the next twelve months. Platforms you owe your users. Whether anything goes live. Whether anyone will ask which content retains people, and whether they will accept a view count as the answer. Whether the library needs to be searchable. Whether the streams need to be encrypted. Then mark each one bought or built.

If the built list is empty, Bunny Stream is cheaper and simpler and you should stop reading comparisons. If the built list has four things on it, you are not choosing between two prices. You are choosing between buying a video product and assembling one, and assembly is quoted in quarters.

You can also just run both. Ten videos, 100,000 streaming minutes, 100,000 data plays and AI samples are free, the $25 credit needs no card, and if you would rather not touch delivery at all, put the data SDK on the player you already ship and look at what it tells you.

Upload it. Play it. Measure it. Clip it. Modern video is what we do.

Frequently Asked Questions (FAQs)

Does Bunny Stream have playback analytics?

Bunny Stream provides aggregate bandwidth and request statistics through its CDN dashboard. It does not offer per-session playback metrics such as startup time, buffering ratio, playback success, render quality, retention curves, or unique viewer analytics. FastPix Video Data provides detailed session-level analytics with 56 dimensions, support for custom dimensions, raw event streaming, and a free tier covering up to 100,000 plays per month.

Does Bunny Stream support live streaming?

No. Bunny Stream is designed for video-on-demand workflows and does not include live streaming. FastPix Live Streaming supports RTMP and SRT ingest, low-latency HLS, DVR, simulcasting, and automatic recording of live streams into video-on-demand assets using the same playback, analytics, and AI capabilities.

Does Bunny Stream have a Flutter or React Native SDK?

No. Bunny Stream provides native SDKs for iOS and Android, but it does not currently offer documented SDKs for Flutter, React Native, or smart TV platforms. FastPix Player supports web, React, iOS, Android, Flutter, React Native, Samsung Tizen, LG webOS, and additional platforms through open-source SDKs.

Is encoding really free on Bunny Stream?

Bunny Stream includes free H.264 transcoding up to 1080p. Higher resolutions and codecs such as HEVC and AV1 require the Premium Encoding tier, which is billed separately. FastPix includes encoding through 4K on its Standard tier, along with support for H.264, HEVC, AV1, per-title encoding, and just-in-time transcoding.

How much does DRM cost on Bunny Stream?

Bunny Stream's MediaCage DRM service starts with a $99 monthly base fee plus $0.005 per license issued, billed per device and key. FastPix also starts at $99 per month but charges $0.003 per stream license while supporting Widevine, FairPlay, PlayReady, and AES-128 encryption.

How much does transcription cost on Bunny Stream?

Bunny Stream charges $0.10 per minute for each transcription language, meaning multilingual content increases costs linearly. FastPix In-Video AI offers transcription and captions across more than 30 languages at $0.048 per minute, with optional AI features such as summaries, named entity recognition, search, and content moderation available separately.

Can I use FastPix analytics without leaving Bunny Stream?

Yes. FastPix Video Data SDKs support a wide range of player technologies, including Video.js, Shaka Player, HLS.js, DASH.js, HTML5 video, AVPlayer, AndroidX Media3, React Native, Flutter, Samsung Tizen, LG webOS, and Roku. You can continue using Bunny Stream for delivery while adding FastPix monitoring to collect detailed per-session analytics without migrating your video library.

What is the difference between a video CDN and a video API?

A video CDN focuses on delivering video content efficiently to viewers. A video API extends beyond delivery by providing encoding, playback across multiple platforms, security features such as DRM, session-level analytics, AI-powered video capabilities, live streaming, webhooks, and application integrations. If your primary need is content delivery, a CDN may be sufficient. If you are building a complete video product, a video API provides a much broader set of capabilities.

Share

Stay Ahead of Video
Streaming Trends

Start shipping video today.