projects:prevue:start
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| projects:prevue:start [2026/02/20 21:44] – removed - external edit (Unknown date) 127.0.0.1 | projects:prevue:start [2026/02/20 21:45] (current) – [Prevue Guide Channel] freedomotter | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Prevue Guide Channel ====== | ||
| + | A “Prevue Guide Channel” style companion site for **AmigaZ Cablevision** — meant to run as a fun background TV feed. | ||
| + | It follows the same pattern as [[projects: | ||
| + | * **Player page**: displays the guide + a video box that plays bumpers/ | ||
| + | * **Editor page**: uploads videos and edits the JSON config | ||
| + | * **JSON driven**: channels + programming template + player behavior | ||
| + | |||
| + | **Location / URL** | ||
| + | * Folder: < | ||
| + | * Player: < | ||
| + | * Editor: < | ||
| + | |||
| + | **Related Pages** | ||
| + | * [[projects: | ||
| + | * [[projects: | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Features ===== | ||
| + | |||
| + | ==== Player ==== | ||
| + | * Top-left: video playback slot | ||
| + | * Between clips: optional **WeatherStar 4K+ cut-in** (iframe) | ||
| + | * Top-right: “Now Playing” info + controls (mute/ | ||
| + | * Bottom: channel grid (currently placeholder blocks; will be made real from schedule template) | ||
| + | |||
| + | ==== Editor ==== | ||
| + | * Loads and saves < | ||
| + | * Uploads bumper/ | ||
| + | * Lists available videos found on disk | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Weather Integration (WS4K+) ===== | ||
| + | Weather cut-ins use the WS4K+ permalink approach. | ||
| + | |||
| + | Because the WS4K+ URL can be very long, we created a **short redirect** on the weather site: | ||
| + | |||
| + | * Short link: < | ||
| + | * Redirects to the long WS4K+ permalink (includes < | ||
| + | |||
| + | **Nginx snippet (weather.amigaz.org)** | ||
| + | < | ||
| + | # Short link for Prevue (WS4K+ permalink redirect) | ||
| + | location = /p/prevue { | ||
| + | return 302 " | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Use < | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Video Playback / Rotation ===== | ||
| + | * Videos can be uploaded via the editor OR dropped in manually. | ||
| + | * Manual drop folder: | ||
| + | < | ||
| + | |||
| + | The player pulls the video list from: | ||
| + | * < | ||
| + | |||
| + | Supported extensions currently include: | ||
| + | * mp4, webm, ogg, mov, m4v | ||
| + | |||
| + | (Recommendation: | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== JSON Config ===== | ||
| + | Main config: | ||
| + | * < | ||
| + | |||
| + | It contains: | ||
| + | * Settings: timezone, grid window, grid step | ||
| + | * Player behavior: fallback message, weather cut-in settings | ||
| + | * Channels list | ||
| + | * Template schedule blocks (recurring programming) | ||
| + | |||
| + | Example settings: | ||
| + | < | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | This allows **more space between weather** (example: show weather every 5 clips). | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Nginx Notes (www.amigaz.org) ===== | ||
| + | Key lesson learned: do NOT use < | ||
| + | |||
| + | Working pattern: | ||
| + | < | ||
| + | # PHP for / | ||
| + | location ~ ^/ | ||
| + | client_max_body_size 250m; | ||
| + | |||
| + | include snippets/ | ||
| + | fastcgi_pass unix:/ | ||
| + | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; | ||
| + | } | ||
| + | |||
| + | # Prevue static | ||
| + | location /prevue/ { | ||
| + | client_max_body_size 250m; | ||
| + | index index.html; | ||
| + | try_files $uri $uri/ =404; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Upload sizing: | ||
| + | * If you see < | ||
| + | * nginx: < | ||
| + | * PHP: < | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== TODO / Next Steps ===== | ||
| + | * Make the programming grid real (render actual blocks from < | ||
| + | * Add editor UI for programming blocks (instead of editing raw JSON) | ||
| + | * Add multi-folder rotation (trailers/ | ||
| + | * Optionally add XMLTV import later as an adapter | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Files / Structure ===== | ||
| + | < | ||
| + | / | ||
| + | ├─ player/ | ||
| + | │ ├─ index.html | ||
| + | │ ├─ player.js | ||
| + | │ └─ player.css | ||
| + | ├─ editor/ | ||
| + | │ ├─ index.html | ||
| + | │ ├─ editor.js | ||
| + | │ └─ editor.css | ||
| + | ├─ api/ | ||
| + | │ ├─ guide_get.php | ||
| + | │ ├─ guide_save.php | ||
| + | │ ├─ list_videos.php | ||
| + | │ └─ upload_video.php | ||
| + | ├─ data/ | ||
| + | │ └─ guide.json | ||
| + | └─ videos/ | ||
| + | | ||
| + | </ | ||
