Пра праект
BelarusTV — гэта эксперымент у фармаце «віртуальнага тэлебачання».
Мы бярэм адкрытыя YouTube-каналы і плэйлісты, складаем з іх суткавы расклад і паказваем гэта як звычайны ТБ-эфір.
Што важна ведаць
- Адзіны расклад для ўсіх. Час эфіру вызначаецца па
Europe/Minsk, але інтэрфейс паказваецца ў лакальным часе вашай прылады. - Бэйдж свежасці. Каля кожнага відэа — пазнака, наколькі яно новае: Свежае (сёння/учора), Нядаўна (2–6 дзён), Архіў (тыдзень і больш).
- Бясплатна і без рэгістрацыі. Адкрыў старонку — і глядзі.
Тэхнічная частка — як гэта зроблена
Стэк:
- SvelteKit — фронтэнд і SSR
- Cloudflare Pages — хостынг сайта
- Cloudflare R2 — JSON-файлы з раскладам
- GitHub Actions — штодзённы збор раскладу па cron
- YouTube Data API v3 — крыніца метададзеных
⏱ Прайм-тайм — сэрца раскладу
Прайм-тайм — гэта вокны, у якіх мы ставім самы свежы кантэнт:
08:00 – 12:00 ранішні прайм
19:00 – 23:00 вячэрні прайм
Два алгарытмы запаўнення
Pool — для каналаў «Галоўнае», «Спорт», «Палітыка»
- Збіраем свежыя відэа.
- Дабіраем старэйшыя відэа.
- Прайм (08–12 і 19–23) запаўняем спачатку свежымі;
калі не хапае — дабіраем старэйшымі.
- Астатні час — старэйшы кантэнт.
Round-robin — для астатніх 7 каналаў
- Усе відэа крыніц канала зліваем у адзін пул, дэдупліцыруем.
- Разбіваем па «тыднях»: тыдні 1-4 → старэйшае.
- Прайм запаўняем храналагічна ад новых да старых.
Ліміт: максімум 3 відэа і 2 гадзіны ад адной крыніцы ў прайме.
- Пазапрайм — усе відэа, што не трапілі ў прайм, перамешваюцца.