Commit Graph

7 Commits

Author SHA1 Message Date
Ty Clifford 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.
2026-06-25 14:13:45 -04:00
Ty Clifford 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.
2026-06-25 13:34:20 -04:00
Ty Clifford 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).
2026-06-24 13:40:03 -04:00
Ty Clifford 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

Added an “Auto-grab thumbnail” checkbox to 
[admin/add.php](/Users/tyemeclifford/Documents/GH/mediaplayer/admin/add.php) 
and 
[admin/edit.php](/Users/tyemeclifford/Documents/GH/mediaplayer/admin/edit.php).
Reused the new shared downloader in 
[admin/youtube_import.php](/Users/tyemeclifford/Documents/GH/mediaplayer/admin/youtube_import.php).
Documented the behavior in 
[README.md](/Users/tyemeclifford/Documents/GH/mediaplayer/README.md).
2026-06-24 13:32:14 -04:00
Ty Clifford 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>

Added Admin → Settings “Public URL Style” toggle in 
[admin/settings.php](/Users/tyemeclifford/Documents/GH/mediaplayer/admin/settings.php), 
defaulting to pretty URLs.
Updated public/player/catalogue/embed/admin preview links to use the 
configured URL style.
Added redirects from legacy ?v= and ?q= URLs to pretty routes when 
rewriting is enabled.
Documented deployment and fallback behavior in 
[README.md](/Users/tyemeclifford/Documents/GH/mediaplayer/README.md).
2026-06-24 13:16:55 -04:00
Ty Clifford 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.
2026-06-24 12:55:55 -04:00
Ty Clifford 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.
2026-06-24 12:49:22 -04:00