Files
comv3/player
2026-06-03 02:45:54 -04:00
..
2026-06-03 01:28:23 -04:00
2026-06-03 01:28:23 -04:00
2026-06-03 01:28:23 -04:00
2026-06-03 01:28:23 -04:00
2026-06-03 01:28:23 -04:00
2026-06-03 02:45:54 -04:00
2026-06-03 01:28:23 -04:00
-
2026-06-03 02:45:38 -04:00

TyClifford.com — Media Player

A self-hosted multimedia player website built with PHP + SQLite + Video.js. Styled to match the existing gate.php / index.php dark theme exactly.


Requirements

  • PHP 8.0+ with pdo_sqlite, fileinfo extensions
  • Write permissions on the data/ and media/ directories

Installation

  1. Upload all files to your web server (e.g. /live/ or wherever /index.php lives).

  2. Set permissions so PHP can write to these directories:

    mkdir -p data media/videos media/thumbs
    chmod 755 data media media/videos media/thumbs
    
  3. Visit index.php — the SQLite database is created automatically on first load.

  4. Log into admin at admin/login.php

    • Default password: admin
    • ⚠️ Change it immediately in Admin → Settings → Change Password

File Structure

/                        ← web root (deploy here)
├── index.php            ← Main player + catalogue (home page)
├── catalogue.php        ← Full video catalogue browse page
├── includes/
│   ├── db.php           ← SQLite bootstrap + helper functions
│   └── layout.php       ← Shared HTML head, topbar, footer, pagination
├── admin/
│   ├── index.php        ← Video list with search + pagination
│   ├── add.php          ← Add new video with multi-format sources
│   ├── edit.php         ← Edit video metadata + manage sources
│   ├── settings.php     ← Site settings, per-page count, password
│   ├── login.php        ← Admin login
│   ├── logout.php       ← Session destroy + redirect
│   └── auth.php         ← Session auth helpers
├── media/               ← All media files (created automatically)
│   ├── videos/          ← Uploaded video files
│   └── thumbs/          ← Uploaded thumbnail images
└── data/
    └── media.db         ← SQLite database (auto-created)

Usage

Adding Videos (Admin)

  1. Go to admin/add.php
  2. Fill in title, description, duration, sort order
  3. Upload a thumbnail (JPG/PNG/WebP)
  4. Upload one or more video files — each can be a different format or quality:
    • MP4 (H.264) — widest compatibility
    • WebM (VP9) — smaller size, modern browsers
    • OGV — Firefox fallback (legacy)
  5. Set quality labels (1080p, 720p, 480p, etc.)
  6. Save — Video.js will auto-select the best format the browser supports

Catalogue Per-Page

Configurable in Admin → Settings → Videos per page (150). The home page catalogue and the full catalogue page both respect this setting.

Publishing

Videos can be toggled between Published and Draft from the admin list. Only published videos appear on the public-facing pages.

Sorting

Use the Sort Order field — lower numbers appear first. Default is 0.


Player Features

  • Video.js 8.x — responsive, accessible HTML5 player
  • Custom skin matching the site's dark purple/green theme
  • Playback rate controls: 0.5×, 1×, 1.25×, 1.5×, 2×
  • Multiple source fallback — browser picks best format automatically
  • Thumbnail posters
  • Keyboard accessible

Security Notes

  • Change the default admin password (admin) immediately after setup
  • Consider adding .htaccess HTTP auth or IP restriction to /admin/
  • The data/ directory should not be web-accessible; add to .htaccess:
    <Directory data>
      Require all denied
    </Directory>
    
  • For production, consider adding CSRF tokens to admin forms

Customisation

  • Branding: Edit site title/subtitle in Admin → Settings
  • Theme colours: All CSS variables are in includes/layout.php :root {}
  • Social links: Edit the About/Links cards in index.php