Self-hosted · PHP 8.2+ · no Composer step

A video platform
you actually own.

VideoHub is a complete video-sharing site you install on your own server - uploads, transcoding, adaptive streaming, channels and moderation.

No platform cut of your revenue, no rules written by somebody else, and no third-party service sitting between your audience and your videos. You hold the database and the disk.

  • HLS adaptive streaming
  • Arabic & RTL built in
  • Full admin panel
  • JSON REST API

What’s Included

Everything a video site needs, in one package

Not a starter kit to build on. The features people expect from a video platform are already here.

Resumable uploads

Chunked uploads that survive a dropped connection, with the size limit set by you rather than by a platform.

FFmpeg transcoding

Every upload is re-encoded into a ladder of quality presets, with thumbnails and seek sprites generated alongside.

Adaptive HLS

Streams follow the viewer’s bandwidth instead of stalling, and they can pin a quality by hand when they want to.

Shorts feed

A vertical, swipeable feed for short-form video, sitting alongside the standard player rather than replacing it.

Channels & subscriptions

Banners, avatars, subscriber counts and a personalised feed, so an audience has somewhere to gather.

Community & messaging

Threaded comments with pinning and sorting, community posts, direct messages, and in-app plus email notifications.

Captions

Upload VTT or SRT per video, or let Whisper generate a first pass automatically and edit it from there.

API & embeds

A JSON REST API with per-user developer tokens, and an embeddable player for putting videos on other sites.

Upload To Playback

One file in, every quality out

The part of a video site that is genuinely hard to build is the part that runs after the upload finishes. VideoHub does it for you.

1 Chunked uploadResumes after a dropped connection
2 FFmpeg transcodeQuality ladder, thumbnails, seek sprites
3 HLS packagingSegmented, with an optional HLS-only mode
4 Adaptive playbackFollows the viewer’s bandwidth

Storage goes to local disk or any S3-compatible bucket, switchable from the admin settings.

Running It

Built to be moderated, not just launched

A public video site is only as good as the tools you have when somebody abuses it.

Moderation queue

Viewers report videos, reports land in one place, and you act on them without going through the database.

Roles & permissions

Role-based access with conservative defaults, so a moderator account cannot quietly become an administrator.

Visibility controls

Public, unlisted or private, scheduled publishing, age restriction, and per-video comment and download toggles.

Logs & backups

Activity logging and backup tooling in the panel, so an incident leaves a trail and a bad day has a way back.

Two-factor auth

TOTP with recovery codes, configurable password policy, login-attempt lockout and CAPTCHA support.

Social sign-in

Google and GitHub sign-in with email verification, plus sign-out across every device from one screen.

Privacy for viewers

Private likes, subscriptions and playlists, hidden subscriber counts, and a pause switch for watch and search history.

Pages & taxonomy

A small CMS for your terms, privacy and about pages, and category management that does not need a developer.

Look & Language

It should look like your site, not ours

Theme, logo, favicon and social image are settings rather than a code fork, and the interface speaks more than one language out of the box.

  • Dark and light mode
  • Complete Arabic translation
  • True RTL throughout
  • PWA with service worker
  • Sitemaps and robots.txt
  • Open Graph and Twitter cards

Right-to-left is handled as a first-class direction, not a mirrored afterthought - the same standard we hold this site to.

Requirements

What it needs to run

Modest, and checked for you on the installer’s first screen before you commit to anything.

VideoHub server requirements
ComponentRequiredNotes
PHP8.2 or newerExtensions: pdo_mysql, mbstring, openssl, json, ctype
DatabaseMySQL 5.7+ or MariaDB 10.4+An empty database and a user with full privileges on it
Web serverApache or NginxApache needs mod_rewrite and AllowOverride All; Nginx needs PHP-FPM
FFmpegRecommendedWithout it, uploads are served in their original format only
StorageLocal disk or S3-compatibleThe storage/ folder must be writable
Also recommendedgd, curl, fileinfoImage processing, social sign-in and S3, upload type detection
ComposerNot neededNo build step and no external service required to start

Comfortable on a VPS; a dedicated server is worth it once transcoding is running constantly.

FAQ

Before you install it

The questions worth answering before you run a video platform of your own.

What do I need on the server to run VideoHub?

PHP 8.2 or newer with the pdo_mysql, mbstring, openssl, json, ctype extensions, plus MySQL 5.7+ or MariaDB 10.4+. Apache needs mod_rewrite with AllowOverride All; Nginx needs a PHP-FPM configuration. The installer checks every requirement, and whether storage/ is writable, on its first screen - so you see any problem before you commit.

Do I need Composer or any external service?

No. VideoHub runs on plain PHP with no Composer step and nothing to sign up for before your first upload. That is deliberate: it means the package you download is the software you run, and a shared host with no shell access can still install it.

Is FFmpeg required?

Strongly recommended rather than strictly required. With FFmpeg you get the quality ladder, HLS packaging, thumbnails and seek sprites. Without it VideoHub still runs, but every upload is served in its original format only - no adaptive streaming, and whatever the uploader sent is what every viewer downloads.

Where are the video files stored?

On local disk or on any S3-compatible object storage, set from the admin settings. Local disk is the simplest way to start; object storage makes sense once the library outgrows the server, or when you want the files served from closer to your audience.

Can I stop people downloading the video files?

There is an HLS-only mode that serves segmented streams instead of one downloadable file, and downloads can be toggled per video. It raises the effort required a long way past right-click-and-save. It is not DRM, though: no browser-based player can make a stream impossible to capture, so treat it as a deterrent rather than a guarantee.

Does VideoHub support Arabic and right-to-left layouts?

Yes. A complete Arabic translation ships alongside the English catalogue, with genuine right-to-left support through the interface rather than a mirrored stylesheet added at the end. There is also a dark and light mode, and a theme you can customise without editing templates.

How are captions handled?

Upload VTT or SRT files per video, or let Whisper generate a first pass automatically. Auto-generated captions are a starting point rather than a finished transcript - they are worth editing before you rely on them for accessibility.

Can I connect VideoHub to my own application?

Yes. A JSON REST API with per-user developer tokens covers the same data the web interface uses, so you can script uploads, read metadata, manage users or build a front end of your own against it. Individual videos also carry an embeddable player for other sites.

How do I install it?

Through a web installer. It checks the requirements, takes your database credentials, imports the schema and creates the first administrator account. No command line, no build process, no asset compilation.

Get VideoHub

Own the platform, not just the channel.

One install, on hardware you control, with the database and the disk in your hands.

  • Runs on plain PHP 8.2+
  • Web installer, no shell needed
  • Built and supported by Fast Hive

Need somewhere to run it? Our VPS and dedicated servers already meet every requirement above.