How adilevy1011/streaming works
ADLV Media Streamer serves a browser media library and player through a FastAPI API, with Supabase providing authentication, media storage, and playback metadata. The main workflow is sign in, browse the media catalog, stream a selected video, and save or resume playback progress; playback also supports subtitles, timeline previews, and credit-aware completion. Separate maintenance scripts generate preview sheets and detect credit timestamps. Some backend routes and database details are documented but not present in the sampled source, so uncertain connections are omitted.
Main entry points: main.py FastAPI app · detect_credits.py Credit detector · app.js Media library · watch.js Video player
Components 18
Browser experience
- Media library
frontend/app.js - Video player
frontend/watch.js - API client
frontend/api.js - Library page
frontend/index.html - Player page
frontend/watch.html
Backend API
- FastAPI app
backend/main.py
Supabase services
- Supabase Auth
- Supabase REST
- Supabase Storage
- Media catalog
supabase/migrations/20260923200000_create_media_catalog.sql - Playback progress
supabase/migrations/20260920000000_create_video_progress.sql - Preview manifests
supabase/migrations/20260921000000_create_video_previews.sql - Credit timestamps
supabase/migrations/20260923160957_create_video_credits_table.sql - User profiles
supabase/migrations/20260922130000_create_profiles.sql
Media processing
- Preview generator
scripts/generate_previews.py - Credit detector
scripts/detect_credits.py - MobileNet model
models/credit_mobilenet.pt
Other components
- Viewer
Connections 23
- Viewer → Library page: opens library
- Viewer → Player page: opens player
- Library page → Media library: loads
- Player page → Video player: loads
- Media library → API client: requests data
- Video player → API client: requests playback data
- API client → FastAPI app: calls API
- Media library → FastAPI app: streams catalog
- Video player → FastAPI app: fetches media
- FastAPI app → Supabase Auth: authenticates
- FastAPI app → Supabase REST: queries metadata
- FastAPI app → Supabase Storage: streams objects
- Supabase REST → Media catalog: reads catalog
- Supabase REST → Playback progress: reads/writes progress
- Supabase REST → Preview manifests: reads manifests
- Supabase REST → Credit timestamps: reads timestamps
- Supabase REST → User profiles: reads/writes profile
- Preview generator → Supabase Storage: reads videos, uploads sheets
- Preview generator → Preview manifests: writes manifests
- Credit detector → Preview manifests: reads manifests
- Credit detector → Supabase Storage: reads media objects
- Credit detector → Credit timestamps: writes timestamps
- Credit detector → MobileNet model: loads verifier