Skip to content

What is self-hosting? Self-hosted video explained

Self-hosting means running a site or file on servers you control. See what self-hosted video involves, what it costs, and how it compares with video platforms.

Self-hosting means you run a website, an app, or a file on servers or storage you control, instead of a service someone else runs. For video, it means the video file sits on your own web server or in your own cloud storage account, such as Amazon S3, and your pages play it from there. The alternative is a video hosting platform, which stores the file, converts it for every device, and delivers it for you. Self-hosting gives you control over the file, the player's branding, and where the data lives. In exchange, you take on encoding, streaming, bandwidth costs, and uptime. Hosting the file and making the video interactive are separate jobs: in the short demo below, pick a requirement, such as delivering the source video or asking questions in it, and see which system handles it.

Choose a requirement and the diagram highlights the system that owns it: the video host stores and delivers the file, and Mindstamp adds the interactions and the viewer report. The diagram is simplified. Mindstamp can play video from a supported host, from storage you control, or from a file you upload to Mindstamp. Open the demo in a new tab.

What self-hosting means for video

On a hosting platform, you upload the file and the platform handles the rest. When you self-host, each of those steps is yours. Self-hosted video usually takes one of three forms:

  • A file on your own web server, played with the HTML video element. This is the simplest setup. Every viewer downloads the same file at one quality, which suits a short clip better than a long talk.
  • Files in a cloud storage account, often behind a content delivery network (CDN), played by a player you choose. You store an MP4 file or an HLS stream in a service such as Amazon S3 and point the player at its address.
  • Video platform software installed on your own servers. PeerTube, made by the French nonprofit Framasoft, is free, open-source software that you install on a web server to run your own video site. Kaltura sells a hosted video platform and also publishes install packages for a self-hosted Community Edition.

Outside video, the term covers any service you run yourself. The Wikipedia entry on self-hosting lists examples such as Nextcloud for file storage and Mastodon for social networking.

Self-hosting vs a video hosting platform

Hosting platforms such as YouTube, Vimeo, Wistia, and Kaltura store the file, convert it into several qualities, and deliver it from their own networks. Demo Duck's beginner's guide to video hosting compares several of them. The table shows what moves to your side when you host the file yourself.

Self-hosted video compared with a video hosting platform
QuestionSelf-hostingHosting platform
Where the file livesYour server or your storage accountThe platform's storage
Formats for each deviceYou export each format, or run an encoding toolThe platform converts the upload
Quality on slow connectionsOne quality for an MP4; adaptive only if you build an HLS streamAdaptive streaming included
BandwidthYour provider bills you for the data viewers downloadIncluded in the platform's plan, within its limits
Player brandingYour choice of player and lookDepends on the platform and your plan
Viewing dataOnly the analytics you addThe platform's reports
Data locationWherever you store itWherever the platform stores it, under its terms
UptimeYou monitor it and fix outagesThe platform runs it

For how the choice plays out on a web page, see our comparison of uploading vs embedding a video.

What you take on when you self-host video

Formats and encoding

Browsers do not all play the same formats. MDN's video element reference suggests listing several source files and letting the browser use the first one it understands. Mindstamp's help center recommends an MP4 with H.264 video and AAC audio for the smallest file with good quality (compression help). Keep an untouched master copy, and export the delivery files from it.

Adaptive streaming

An MP4 file sends every viewer the same quality, so a viewer on a weak phone connection waits while a large file buffers. Adaptive streaming splits the video into short segments at several quality levels and lets the player switch between them during playback. Apple's HTTP Live Streaming (HLS) works from ordinary web servers and CDNs and adapts to the viewer's connection. Safari plays HLS in the video element. Other browsers need a JavaScript player such as hls.js, which relies on the browser's Media Source Extensions. An HLS stream is a playlist file (.m3u8) plus many segment files, so you also need an encoder that produces them (HLS and MP4 compared).

Bandwidth

Bandwidth is the cost that grows with your audience. YouTube recommends 5 Mbps for a 720p upload at standard frame rates (YouTube Help), which works for a rough estimate. At 5 Mbps, a five-minute video is about 188 MB: 5 megabits per second for 300 seconds is 1,500 megabits. If 10,000 people watch it to the end, your storage or CDN sends about 1.9 TB.

Most people stop before the end. Across 8.07 million views of 18,315 Mindstamp videos (2018 to October 2026), the average view played 46.5% of the video, which would bring that estimate down to about 0.9 TB. Those are Mindstamp customers' training, marketing, and sales videos, so measure your own audience once you have data. Then price the result: AWS, for example, includes 100 GB a month of data transfer to the internet across its services before per-gigabyte charges start (Amazon S3 pricing).

Access and cross-origin rules

New Amazon S3 buckets do not allow public access by default (AWS documentation), so you have to decide who can fetch each file. A public file is easy to play anywhere, and anyone who finds its address can also download or share it. If a player on another domain loads your HLS segments, your server must also allow cross-origin requests. Cross-Origin Resource Sharing (CORS) is the set of HTTP headers that tells browsers which other sites may load your files, and S3 lets you set it for each bucket.

Uptime, captions, and analytics

If the server goes down or a file moves, every page that plays the video breaks until you fix it. Captions need a WebVTT file and a player that shows it. Plays and watch time exist only if you add analytics to the player. A hosting platform includes these, so count the hours to build and maintain them when you compare costs.

Self-branded video hosting: your logo, or none

If you are looking into self-hosting because you want the player to carry your brand instead of the platform's, you have other options. Hosting the file yourself gives you full control of the player, but some platforms and tools also let you remove their branding without running servers.

Player branding by hosting option, from each vendor's documentation (checked October 2026)
OptionWhat the player shows
Self-hosted file with your own playerNo platform branding. The look depends on the player you choose.
YouTubeThe modestbranding parameter has had no effect since August 15, 2023. YouTube decides the branding from the player size and other signals.
VimeoFree and Basic accounts cannot hide the Vimeo logo. Paid plans can hide it and upload a custom logo for the player (Vimeo Help).
WistiaThe Free plan includes Wistia branding. The Business plan and higher remove it (Wistia pricing).
MindstampYour logo, colors, and fonts on every plan. On Core and higher plans, Hide Mindstamp branding switches links and embeds to the neutral interact.video address (branding help). On Pro and higher, links can use a subdomain of your own site, such as video.example.com (custom domain setup).

How to use a self-hosted video with Mindstamp

Mindstamp is an interactive video platform. It adds questions, hotspots, and branches on top of a video and records what each viewer does. It does not need to own the file, and it takes video from three kinds of source:

  • An upload. Mindstamp stores the file and streams it with adaptive quality.
  • A platform you already use. Mindstamp plays video from Vimeo, Wistia, JW Player, and Kaltura. Mindstamp no longer offers Panopto import. For Vimeo it needs the direct HLS or 1080p MP4 file link, and Vimeo offers direct links only on its Standard, Advanced, and Enterprise plans and some legacy plans (Vimeo Help). YouTube links work for testing only.
  • Your own storage. Paste the address of an MP4 or HLS file that you host, and Mindstamp plays it from there.

To add a self-hosted file:

  1. Put the video on your storage and make it public over HTTPS, with no login and no expiring token.
  2. Copy the direct file address. It must end in .mp4 or .m3u8, and it must point to the file, not to a web page.
  3. In Mindstamp, select New video, then Link, and paste the address.
  4. Wait for Link works, then select Create Video.
  5. Add your interactions, publish, and open the share link in a private window, on a phone, and on another network to check that viewers can play it.

Your server still delivers the video, so its speed and bandwidth stay your responsibility. For an HLS link, the server must allow cross-origin requests from the Mindstamp player. If Mindstamp cannot reach the link, it marks the video Unreachable and shows Video link unreachable in the editor; after you fix the file, select Re-check link, or select Replace video to use a new address. Your interactions stay either way. Transcripts and Download source work for MP4 links but not for HLS links. Mindstamp's self-hosting help article lists each link message and what it means.

A password or access list in Mindstamp controls who can watch the interactive video. It does not hide the file address on your storage, so anyone who finds that address can play the raw file without the interactions. Weigh that before you self-host sensitive footage.

When self-hosting is the right choice

Self-host when one of these is true and someone on your team will own the setup:

  • A policy says video files must stay in company storage.
  • You already run storage and a CDN for other media, with someone who maintains them.
  • You need full control over the player and the viewing data, and you have engineering time to build adaptive streaming, captions, and analytics.

Use a hosting platform, or upload to your interactive video tool, when no one will watch the bandwidth bill or the uptime, or when many viewers watch on phones and you have no HLS pipeline.

Common questions

Is self-hosting video free?

No. You pay for storage, for the data viewers download every time they watch, and for the time it takes to encode files, monitor the server, and fix problems. Run the bandwidth estimate above with your own video length and audience before you decide.

Is self-hosted video better for SEO?

Neither choice wins by itself. Google can find video in a video element or an iframe, and it needs to fetch the actual video file for previews and key moments. Its video features also need a watch page, a page whose main purpose is the video (Google's video SEO best practices, updated December 2025). Self-hosting gives you full control of the file and the page, but you still have to meet those conditions.

Can I self-host video on WordPress?

Yes. The WordPress Video block uploads a file to your media library or inserts one from a URL, and plays it with the browser's video element. Set Preload to None or Metadata. Auto downloads the whole file when the page loads, even if no one presses play, and your server pays for that data.

Does self-hosting keep my video private?

Not by itself. Anyone who has the address of a public file can open it. Use your storage's access controls to limit who can fetch the file. A password on the player limits who can watch through that player, but it does not protect a file whose address is public.

What is the difference between self-hosting and embedding?

Self-hosting is about where the file lives. Embedding is about how a player appears on a web page. You can embed a self-hosted video, and you can embed a video from a platform. Our guide to embedding interactive videos in blog posts and webpages covers the page side, with steps for each major site builder.

Before you commit, write down who will own the server, the bandwidth bill, and the encoding. If no one will, start with a hosting platform or an upload, and move the file to your own storage later. In Mindstamp, Replace source video keeps the interactions, share link, and embed code when you switch sources (replace a video file).