6a1c545f35
- Descriptions now render Markdown or sanitized HTML via [includes/db.php](/Users/tyemeclifford/Documents/GH/mediaplayer/includes/db.php). Public player descriptions render formatted HTML on the homepage. Catalogue cards, embed meta tags, and social metadata use safe plain-text excerpts. Add/edit admin pages now use a rich description editor that preserves pasted HTML styling, with a textarea fallback for no-JS. External/YouTube-imported descriptions are sanitized before storage. README now documents Markdown/HTML description support.
main
Ty Clifford
2026-07-01 15:41:01 -04:00
e9369e242c
-
Ty Clifford
2026-06-30 13:53:17 -04:00
47de94a3df
- .m4a uploads are now accepted in add/edit, and M4A handling now keeps the original source while adding a generated black-frame H.264 MP4 companion source when ffmpeg can run. The core conversion helper is in [includes/db.php (line 1161)](/Users/tyemeclifford/Documents/GH/mediaplayer/includes/db.php:1161). The upload flows insert the converted MP4 first for playback and retain the original M4A as a separate source in [admin/add.php (line 129)](/Users/tyemeclifford/Documents/GH/mediaplayer/admin/add.php:129) and [admin/edit.php (line 172)](/Users/tyemeclifford/Documents/GH/mediaplayer/admin/edit.php:172). I also updated the admin upload hints, [README.md (line 77)](/Users/tyemeclifford/Documents/GH/mediaplayer/README.md:77), and [changelog.md (line 14)](/Users/tyemeclifford/Documents/GH/mediaplayer/changelog.md:14).
Ty Clifford
2026-06-25 17:47:54 -04:00
57d3c81dad
- Removed the audio additions and reverted the app back to the prior video-focused behavior. Audio upload support, waveform generation, Video.js audio rendering branches, audio quality labels, and “Add Media” wording were removed from: [includes/db.php](/Users/tyemeclifford/Documents/GH/mediaplayer/includes/db.php), [admin/add.php](/Users/tyemeclifford/Documents/GH/mediaplayer/admin/add.php), [admin/edit.php](/Users/tyemeclifford/Documents/GH/mediaplayer/admin/edit.php), [index.php](/Users/tyemeclifford/Documents/GH/mediaplayer/index.php), [embed.php](/Users/tyemeclifford/Documents/GH/mediaplayer/embed.php), README, and changelog.
Ty Clifford
2026-06-25 14:13:45 -04:00
7deae1a399
- Implemented audio support with Video.js. What changed: Added uploaded/direct audio playback paths in [index.php](/Users/tyemeclifford/Documents/GH/mediaplayer/index.php) and [embed.php](/Users/tyemeclifford/Documents/GH/mediaplayer/embed.php). Added common audio upload support: MP3, M4A, AAC, WAV, FLAC, OGG, OGA, OPUS. Added waveform poster generation for uploaded audio via ffmpeg, stored like normal thumbnails under media/thumbs/. Updated add/edit forms to accept media files, not just video files. Added audio-friendly labels like Audio, 320kbps, 256kbps, 128kbps. Updated docs and changelog.
Ty Clifford
2026-06-25 13:34:20 -04:00
8a39bc02fa
- Added Upkeeping → Correct catalogue order. It now recalculates video sort_order from created_at newest-first, so videos with corrected/original publish dates appear first in the homepage and public catalogue. I also updated catalogue/admin/latest-video ordering to use publish date as a tie-breaker after stored sort order.
Ty Clifford
2026-06-25 11:58:57 -04:00
7375613e63
- Added ?land=live support for the homepage in [index.php](/Users/tyemeclifford/Documents/GH/mediaplayer/index.php). When live is enabled, visiting the homepage with ?land=live now renders the Live tab active first, hides the normal video player initially, preserves the live mode through homepage pagination, and updates the URL when switching between Videos and Live. Also updated [README.md](/Users/tyemeclifford/Documents/GH/mediaplayer/README.md) and [changelog.md](/Users/tyemeclifford/Documents/GH/mediaplayer/changelog.md).
Ty Clifford
2026-06-25 09:32:51 -04:00
d6359ceffa
- changelog
Ty Clifford
2026-06-25 09:23:05 -04:00
6e1b918e48
- Reversed Imgur support. Removed the Imgur-specific provider handling from [includes/db.php](/Users/tyemeclifford/Documents/GH/mediaplayer/includes/db.php), removed the admin upkeep Imgur counter/copy from [admin/index.php](/Users/tyemeclifford/Documents/GH/mediaplayer/admin/index.php), updated the upload hint in [admin/add.php](/Users/tyemeclifford/Documents/GH/mediaplayer/admin/add.php), cleaned the README mentions, and deleted provider_embed.php.
Ty Clifford
2026-06-25 08:42:02 -04:00
4425716d6f
- Fixed the Imgur embed path. Imgur now uses a local wrapper page, [provider_embed.php](/Users/tyemeclifford/Documents/GH/mediaplayer/provider_embed.php), that renders Imgur’s official blockquote + https://s.imgur.com/min/embed.js snippet instead of trying to iframe Imgur directly. That should avoid the “refuses to connect” issue for albums, galleries, images, GIFs, GIFV, and videos. Also updated: [includes/db.php](/Users/tyemeclifford/Documents/GH/mediaplayer/includes/db.php): Imgur embed URLs now point to the wrapper, and Imgur view-count scraping has dedicated fallback patterns. [admin/index.php](/Users/tyemeclifford/Documents/GH/mediaplayer/admin/index.php): Upkeeping → Correct Views now explicitly counts Imgur-backed items in the candidate summary. [README.md](/Users/tyemeclifford/Documents/GH/mediaplayer/README.md): documented the Imgur wrapper behavior.
Ty Clifford
2026-06-25 08:36:40 -04:00
173fe3917e
- Added shared Open Graph/Twitter/canonical metadata rendering in [includes/layout.php](/Users/tyemeclifford/Documents/GH/mediaplayer/includes/layout.php). The main video page now uses the active video’s:title description canonical /v/<slug> URL thumbnail as og:image / twitter:image image dimensions when available
Ty Clifford
2026-06-25 08:29:13 -04:00
a3aa51c4e2
- Live homepage: Added default Live settings in [includes/db.php](/Users/tyemeclifford/Documents/GH/mediaplayer/includes/db.php) using https://stream.place/embed/tyclifford.com. Added Admin → Settings → Live Section controls in [admin/settings.php](/Users/tyemeclifford/Documents/GH/mediaplayer/admin/settings.php): enable/disable, live title, and embed URL/iframe input. Added a homepage Videos / Live toggle in [index.php](/Users/tyemeclifford/Documents/GH/mediaplayer/index.php). Videos remains the default view, so the homepage behaves normally until Live is selected. Imgur: Added Imgur URL normalization, embed support, oEmbed/thumbnail hooks, and external view count scraping support in [includes/db.php](/Users/tyemeclifford/Documents/GH/mediaplayer/includes/db.php). Supports imgur.com, albums/galleries, and direct i.imgur.com photos/GIFs/videos by routing them through Imgur embeds. Imgur external views now flow into external_view_count, so per-item and overall site totals include readable Imgur provider counts. Updated the add-video hint and README docs.
Ty Clifford
2026-06-25 07:38:19 -04:00
08caf98fa5
- embed
Ty Clifford
2026-06-25 06:30:01 -04:00
2d52255b93
- What changed: Added external_view_count so provider totals from YouTube/Vimeo/etc are added to the site’s total without double-counting local plays. Updated public totals and per-video public view displays to use site views + external views. Changed Upkeeping action to Correct external view counts with a Correct Views button. Expanded provider scraping beyond YouTube with generic page/JSON-LD/oEmbed patterns for readable Vimeo, Dailymotion, and similar pages. Improved Add Video:Title no longer has to be manually entered first. External URL rows now have Fetch Info. Metadata can fill title, description, duration, source label, and external view count. Save also retries metadata extraction server-side.
Ty Clifford
2026-06-25 04:40:59 -04:00
86d1fedcb3
- Implemented: Added view_count database migration/defaults and shared helpers in [includes/db.php](/Users/tyemeclifford/Documents/GH/mediaplayer/includes/db.php). Public player and embed.php now increment views. Homepage and catalogue can display per-video views, total views, and public stats based on admin settings. Added Admin → Settings toggles for public view/stat display. Added Admin → Upkeeping action to restore external view counts from readable provider pages, with YouTube scraping support first. Added manual per-video view-count editing in [admin/edit.php](/Users/tyemeclifford/Documents/GH/mediaplayer/admin/edit.php) for older local uploads or corrections. Updated [README.md](/Users/tyemeclifford/Documents/GH/mediaplayer/README.md) with the new behavior.
Ty Clifford
2026-06-25 04:16:34 -04:00
dc71d26c2a
-Implemented YouTube timestamp correction and added the admin Upkeeping section. What changed: Added shared YouTube publish-date scraping helpers in [includes/db.php](/Users/tyemeclifford/Documents/GH/mediaplayer/includes/db.php). New YouTube imports now set videos.created_at to the original YouTube publish date when available. Manual Add/Edit saves now also try to correct timestamps for YouTube-backed videos. Added Admin Dashboard → Upkeeping → Correct YouTube timestamps in [admin/index.php](/Users/tyemeclifford/Documents/GH/mediaplayer/admin/index.php), with batch size control for backfilling existing records. Renamed the admin table column from Added to Date, since it may now reflect original publish date. Documented the behavior in [README.md](/Users/tyemeclifford/Documents/GH/mediaplayer/README.md).
Ty Clifford
2026-06-24 13:40:03 -04:00
99492287e7
- Improved the upload/edit flow to auto-grab thumbnails. What changed: Added shared thumbnail helpers in [includes/db.php](/Users/tyemeclifford/Documents/GH/mediaplayer/includes/db.php):YouTube direct thumbnails Dailymotion direct thumbnails oEmbed thumbnails for Vimeo, Wistia, TikTok, SoundCloud, Spotify, etc. optional first-frame thumbnail generation for local uploads when ffmpeg is installed
Ty Clifford
2026-06-24 13:32:14 -04:00
7ad9c672ca
- Fixed the thumbnail loading issue on paginated pretty URLs. The bug was relative media paths like media/thumbs/... resolving under routes such as /v/<slug>?page=2 or /search/<query>?page=2. I added public_media_url() in [includes/db.php](/Users/tyemeclifford/Documents/GH/mediaplayer/includes/db.php) and updated public thumbnails, posters, and local player sources in [index.php](/Users/tyemeclifford/Documents/GH/mediaplayer/index.php), [catalogue.php](/Users/tyemeclifford/Documents/GH/mediaplayer/catalogue.php), and [embed.php](/Users/tyemeclifford/Documents/GH/mediaplayer/embed.php) to use root/base-aware URLs.
Ty Clifford
2026-06-24 13:25:44 -04:00
1abe5218ca
- Implemented configurable public URL rewriting. What changed: Added pretty URL helpers/default setting in [includes/db.php](/Users/tyemeclifford/Documents/GH/mediaplayer/includes/db.php). Added root rewrite rules in [.htaccess](/Users/tyemeclifford/Documents/GH/mediaplayer/.htaccess):/v/<slug> /all /search/<query>
Ty Clifford
2026-06-24 13:16:55 -04:00
0f262cab3f
- Improved the YouTube importer in [admin/youtube_import.php (line 154)](/Users/tyemeclifford/Documents/GH/mediaplayer/admin/youtube_import.php:154). It now handles more YouTube layouts: Classic videoRenderer, gridVideoRenderer, and compactVideoRenderer Shorts-style reelItemRenderer Newer lockupViewModel channel grid objects Raw HTML fallback by extracting watch?v=, /shorts/, /embed/, and "videoId" matches A second scrape attempt using YouTube’s older grid query: view=0&sort=dd&flow=grid So instead of stopping at “no videos found” when YouTube changes the JSON shape, it now tries multiple extraction strategies and can still import proper YouTube embed URLs with fallback thumbnails.
Ty Clifford
2026-06-24 12:55:55 -04:00
42725c0c03
- Implemented a YouTube channel importer. Added [admin/youtube_import.php (line 1)](/Users/tyemeclifford/Documents/GH/mediaplayer/admin/youtube_import.php:1), which: Accepts a channel URL, @handle, or UC... channel ID. Scrapes the channel /videos page. Extracts videos from ytInitialData. Shows a preview with checkboxes. Imports selected videos into videos and video_sources. Stores each video as a canonical YouTube watch URL with mime_type = text/html, so the existing YouTube embed playback path handles it correctly. Downloads scraped thumbnails into media/thumbs/ when possible. Skips duplicates by matching existing remote YouTube URLs. Also wired it into the admin navigation in [admin/index.php (line 172)](/Users/tyemeclifford/Documents/GH/mediaplayer/admin/index.php:172), [admin/add.php (line 199)](/Users/tyemeclifford/Documents/GH/mediaplayer/admin/add.php:199), [admin/edit.php (line 267)](/Users/tyemeclifford/Documents/GH/mediaplayer/admin/edit.php:267), and [admin/settings.php (line 109)](/Users/tyemeclifford/Documents/GH/mediaplayer/admin/settings.php:109). Updated [README.md (line 81)](/Users/tyemeclifford/Documents/GH/mediaplayer/README.md:81) with usage notes.
Ty Clifford
2026-06-24 12:49:22 -04:00
75d5d39cda
- Implemented. The main database-backed player now understands provider URLs from lone-embed.php style handling. What changed: [includes/db.php (line 227)](/Users/tyemeclifford/Documents/GH/mediaplayer/includes/db.php:227) now classifies YouTube, Vimeo, Dailymotion, Twitch, Facebook, TikTok, Instagram, X/Twitter, SoundCloud, Spotify, Google Drive, Wistia, Streamable, Loom, plus direct Dropbox/GitHub media rewrites. [index.php (line 235)](/Users/tyemeclifford/Documents/GH/mediaplayer/index.php:235) renders provider URLs as iframe embeds, while uploaded/direct files still use Video.js. [embed.php (line 198)](/Users/tyemeclifford/Documents/GH/mediaplayer/embed.php:198) now supports those provider embeds too. [admin/add.php (line 260)](/Users/tyemeclifford/Documents/GH/mediaplayer/admin/add.php:260) and [admin/edit.php (line 383)](/Users/tyemeclifford/Documents/GH/mediaplayer/admin/edit.php:383) now describe external URLs as embed-capable and store recognized provider URLs as text/html. [README.md (line 63)](/Users/tyemeclifford/Documents/GH/mediaplayer/README.md:63) documents provider embed support.
Ty Clifford
2026-06-24 12:15:03 -04:00
b24f0dc416
- Done. The media platform now tracks sources as either local uploads or remote URLs. Changed: [includes/db.php (line 43)](/Users/tyemeclifford/Documents/GH/mediaplayer/includes/db.php:43) adds source_type and source_url, with an automatic migration for existing SQLite databases. [admin/add.php (line 260)](/Users/tyemeclifford/Documents/GH/mediaplayer/admin/add.php:260) and [admin/edit.php (line 383)](/Users/tyemeclifford/Documents/GH/mediaplayer/admin/edit.php:383) now let each source be an upload or an external URL. [index.php (line 226)](/Users/tyemeclifford/Documents/GH/mediaplayer/index.php:226) and [embed.php (line 193)](/Users/tyemeclifford/Documents/GH/mediaplayer/embed.php:193) resolve playback URLs based on where the source lives. [catalogue.php (line 79)](/Users/tyemeclifford/Documents/GH/mediaplayer/catalogue.php:79) now has public search for published videos only. [README.md (line 63)](/Users/tyemeclifford/Documents/GH/mediaplayer/README.md:63) documents local vs remote sources and public search.
Ty Clifford
2026-06-24 11:58:29 -04:00
7c33de810f
-
Ty Clifford
2026-06-17 23:47:40 -04:00
1c51cc0b30
- Lone Embed
Ty Clifford
2026-06-17 23:44:39 -04:00
6486483d88
-
Ty Clifford
2026-06-16 16:31:08 -04:00