CHANGELOG ========= 2026-03-08 — Session 2: Live stream fixes and test page improvements - Fixed live stream service pointing to old /tv path → now /media - Fixed elapsed-time bug in start_live_stream.sh (minutes only → seconds) - update_now_playing.sh: now writes current video title/duration/endsAt + next video - update_now_playing.sh: blockEnd computed from actual media durations - schedule.json: added 2026-03-08 override using PKG-MORNING/PKG-EVENING - admin/test.html: moved from roku/test.html - admin/test.html: live UTC clock, now-playing with end time & duration, next video - admin/test.html: fixed VOD manifest error (MP4 bypasses hls.js) - admin/test.html: hls.js startPosition=-1 to jump to live edge - getKey.php: moved to vod/ (root copy deleted) 2026-03-08 — Session: Merge media + tv projects, secure API key - Moved YouTube API key out of getKey.php into yt_key.txt (gitignored) - getKey.php now reads key from yt_key.txt via file_get_contents() - Added .gitignore: yt_key.txt, *.ts, videos/, arabicHymns/ - Copied from /var/www/html/tv into new folder structure: tv/scripts/ -> vod/scripts/ tv/hls/ -> vod/hls/ tv/roku/ -> rokuApp/ tv/docs/ -> docs/ tv/videos/ -> videos/ (gitignored) - New folder structure documented below NEW FOLDER STRUCT - Merge two project media and tv /var/www/html ..media ...admin <== web UI to monitor and manage test manage library manage schedule upload Cookies file for YT download ...videos ...docs ...vod <- move all parent files to here ....scripts <- from parent ...live <= move from /var/www/html/tv ....scripts ....hls ...rokuApp <= move from /var/www/html/tv/roku Roku feeds: ABCC Channel path: media/roku/feeds/primary-feed.json ABCC Taraneem path: media/roku/feeds/taraneem-feed.json video files videos/sunday videos/youth videos/taraneem videos/special videos/bibleStudy New Design: channel.json file sequence,rokuTitle,video_folder,pl_url Playlists can be either a youtube playlist or WP query ```url https://abcc.org/wp-json/wp/v2/posts/?categories=19&orderby=date&per_page=20&_fields=id,date,link,title,meta ``` the entry file playLists.json tells us the names of Roku options Main Routines: addPlayList.sh pl adds the play list videos to current folder addVideo.sh vid downloads video and add it to list.txt at current folder checkYoutube.sh Checks youTube channel for new videos a. Check new Videos 1. if sunday youth - >youth 2. if sunday night - >Ignore 3. if sunday -> sunday b. Check playlist Roku_Special set videos to special b. Check playlist Roku_BibleStudy set videos to bibleStudy php genFeed.php Generates roku/feeds/primary-feed.json