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 Community Bulletin TV:
Location / URL
/var/www/html/amigaz/prevue
https://www.amigaz.org/prevue/player/
https://www.amigaz.org/prevue/editor/
Related Pages
guide.json
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:
https://weather.amigaz.org/p/prevue
&kiosk=true
)
Nginx snippet (weather.amigaz.org)
# Short link for Prevue (WS4K+ permalink redirect)
location = /p/prevue {
return 302 "https://weather.amigaz.org/?(LONG_PERMALINK_HERE)&kiosk=true";
}
Use
302
while tweaking, then optionally switch to
301
later.
/var/www/html/amigaz/prevue/videos/bumpers/
The player pulls the video list from:
/prevue/api/list_videos.php
Supported extensions currently include:
(Recommendation: MP4 H.264 + AAC for maximum browser compatibility.)
Main config:
/var/www/html/amigaz/prevue/data/guide.json
It contains:
Example settings:
"weatherCutIn": {
"enabled": true,
"url": "https://weather.amigaz.org/p/prevue",
"durationSeconds": 15,
"mode": "betweenVideos",
"everyNClips": 5
}
This allows more space between weather (example: show weather every 5 clips).
Key lesson learned: do NOT use
^~
on the
/prevue/
location if you want regex PHP blocks to work.
Working pattern:
# PHP for /prevue/api/*.php
location ~ ^/prevue/api/.*\.php$ {
client_max_body_size 250m;
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
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:
413 Request Entity Too Large
, increase:
client_max_body_size
upload_max_filesize
and
post_max_size
in
/etc/php/8.3/fpm/php.ini
templateSchedule
)
/var/www/html/amigaz/prevue/ ├─ 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/ └─ bumpers/