mrcatmann.ru
Catcast :: mrcatmann.ru

Catcast

[catcast.tv]

Стриминговая платформа, созданная мной.

Что умеет:

  • прямые эфиры
  • радио (Icecast)
  • вещание по расписанию
  • загрузка и хранение видео/аудио
  • общение со зрителями (чаты, новости, комментарии)
  • и многое другое.

История проекта

С чего бы начать...
В общем, существовал когда-то проект yatv.ru - первая российская площадка для онлайн-трансляций. Это сейчас есть и твитч, и ютуб, и гудгейм, а тогда такие площадки были в новинку.
И вот на этом сайте сформировалась группа друзей, делавшее своё "интернет-телевидение" с передачами и прямыми эфирами - в противовес умирающему официальному (понятия "стриминг" тогда ещё практически не существовало). Правда получалось так себе, возможно потому, что большинству "телевизионщиков" было по 14-16 лет..)
В 2014 году ЯTV закрыли из-за нерентабельности - никто в РФ не хотел размещать рекламу в контенте, создаваемом простыми пользователями (буквально через год-полтора начался бум стримеров и блогеров, и ситуация изменилась на 180 градусов). Все постоянные обитателеи сайта разбегаются кто куда, попутно теряя аудиторию. Идут разговоры о создании собственной платформы, которые, впрочем, ничем не окончились.

Весной 2016-го я от скуки достаю из веб-архива сохранившуюся верстку ЯТВ и натягиваю (кхм) ее на самописный движок, подключаю опенсорсный nginx-модуль для rtmp-трансляций, и...как ни странно, идея заходит - в первые же дни на сайте появляется более 100 каналов от бывших ЯТВшников :D
Изначально я ожидал, что это будет узконаправленный проект для небольшой группы давних друзей, но при этом уже в первые дни на сайте появились пользователи, которых я не знал лично. Более того, мне написал один из бывших разработчиков ЯТВ, а через несколько лет я попал к нему в команду на новом проекте...но это уже совсем другая история)


Версия 3.0 (catcast.tv)

Дата релиза: июль 2019

Стек: Laravel, Nuxt

Нынешняя итерация сайта, сделанная по современным стандартам. Для этой версии был написан собственный набор компонентов интерфейса Vue (поля ввода, элементы выбора, кнопки и т.д.). Бэкенд же был переписан на Laravel.


  • Теперь помимо ТВ можно создавать и радио! (для этих целей проштудированы и успешно прикручены Icecast и Liquidsoap).
  • Можно проводить эфиры прямо из браузера, с наложением эффектов и оверлеев. Canvas + WebAudio + MediaRecorder + WS + FFmpeg = magic :)
  • Система пользовательских ролей переписана для более гибкой настройки доступа к каждому разделу.
  • Уведомления теперь приходят на почту, в ВК или Телеграм.


Версия 2.0 (myowntv.org)

Дата релиза: ноябрь 2016

Стек: простенький MVC-движок на PHP, jQuery

Вечно выезжать на чужом дизайне всё-таки не хотелось, да и на сайт начали приходить новые пользователи - сработало сарафанное радио.
К тому времени я уже немного освоил азы веб-разработки и сваял простенький MVC-движок, а на фронте прикрутил побольше интерактивности и PJAX. Впоследствии часть страниц была даже переписана на VueJS.


К функционалу добавились:

  • Автопилот - линейное вещание по плейлистам ("как на телеке")
  • Просмотр и загрузка видео
  • Красивая админка для каналов
  • Реалтайм-обновление данных по WS


Версия 1.0 (moeitv.ru)

Дата релиза: апрель 2016

Первая версия сайта, написанная на PHP-лапшекоде, в котором SQL-запросы могли соседствовать с CSS и т.д.

Дизайн же был невозбранно стырен у yatv.ru (о причинах - выше).

Как ни странно, эта штука работала и даже умудрялась выдерживать какие-никакие нагрузки, когда на сайт вдруг повалили незнакомые мне юзеры.


Функционал

  • Прямые трансляции
  • Чат
  • Запись эфиров
  • Кастомизация страниц каналов