CosTube.

Открытая образовательная видеоплатформа: 42 категории, HLS-транскодинг, автосубтитры, AI-классификация, аналитика для авторов

In Development2026IT-проект

Ключевые тезисы.

01Образовательный YouTube-аналог: 42 категории в 7 корневых разделах, специально для математики/физики/астрономии/информатики/инженерии/бизнеса/подкастов
02Полный pipeline обработки видео: upload → HLS-транскодинг FFmpeg (4 качества) → автосубтитры Whisper → AI-классификация Claude → автоглавы → автомодерация
03AI-классификация контента через Claude API: определяет образовательность, предлагает категорию, выявляет red flags — отсекает развлекательный контент автоматически
04Образовательная аналитика для авторов: heartbeat-трекинг каждые 5 сек, retention curves, heatmap просмотров, drop-off points, completion rate, дашборд на Recharts
05Социальный слой: Q&A с upvotes и привязкой к таймкодам, коллекции с публичными подборками, рейтинги от 1 до 5 звёзд, лайки/закладки/подписки, уведомления
06Автомодерация: новые авторы проходят ручную проверку, доверенные авторы и видео с AI-confidence > 85% публикуются автоматически — модератор не узкое место
07Современный стек: React 19 + Vite 8 + Tailwind 4 + shadcn/ui (фронт), Express 5 + TypeScript ESM + PostgreSQL 16 + Redis 7 + BullMQ + FFmpeg (бэк)

42.

категории контента

14.

миграций БД

4.

качества HLS (360–1080p)

Статус

In Development

Год

2026

Категория

Web App

Стек

React 19Vite 8Tailwind CSS 4shadcn/uihls.jsRechartsExpress 5TypeScript ESMPostgreSQL 16Redis 7BullMQFFmpegWhisper APIClaude API

Теги

ВидеоплатформаОбразованиеHLSFFmpegWhisperClaude AIPostgreSQLBullMQReact 19Self-hosted

CosTube — открытая образовательная видеоплатформа на собственном бэкенде. Архитектурно это «YouTube-подобный» сервис, но сфокусированный на качественном образовательном контенте: лекции по математике, физике, астрономии, информатике, инженерии, бизнесу и техническим подкастам. 42 категории в семи корневых разделах, открытая регистрация, система ролей viewer/creator/moderator/admin и пайплайн обработки видео с автосубтитрами и AI-классификацией.

Проблема и контекст

YouTube хорош для развлекательного контента, но плох как образовательный инструмент: алгоритмы рекомендации тянут на лёгкий формат, образовательные каналы теряются в шуме, отсутствует структурированная навигация по дисциплинам, нет встроенных учебных метрик (retention, completion), нет инструмента модерации образовательной ценности. Российский рынок дополнительно затронут вопросом монетизации, доступности и compliance. CosTube решает обе задачи: открытая платформа, заточенная под образовательный формат, с собственными инструментами для авторов и AI-классификацией контента, отсекающей не-образовательное.

Что построено

Четыре фазы разработки уже завершены. Первая — публичная платформа с 42 категориями, открытой регистрацией, системой авторов и публичными страницами (главная с каруселями, browse по категориям, watch, channel автора, search, library с историей и закладками). Социальные функции: лайки, закладки, подписки, рейтинги от 1 до 5 звёзд. Вторая — умный контент: Whisper-воркер автоматически генерирует субтитры (VTT) и полный транскрипт, Claude API классифицирует видео (определяет образовательность, предлагает категорию, выявляет red flags), генерирует главы из транскрипта. Pipeline: upload → transcode (HLS 360p/480p/720p/1080p через FFmpeg) → transcribe → classify → auto-moderate → publish. Третья — образовательная аналитика: heartbeat-трекинг (POST каждые 5 сек), детальные метрики (completion rate, retention curve, heatmap просмотров, drop-off points), дашборд автора с интерактивными графиками на Recharts. Четвёртая — сообщество: Q&A под видео с upvotes и привязкой к таймкодам, коллекции (публичные подборки, featured на главной), уведомления с polling каждые 30 сек.

Архитектура

Монорепозиторий с двумя пакетами. Фронтенд (корень проекта): React 19 + React Router v6, Vite 8, Tailwind CSS 4 с CSS-переменными в oklch (light/dark темы), shadcn/ui (new-york стиль), hls.js 1.6 для плеера, Recharts для графиков аналитики, React Hook Form + Zod для валидации. Бэкенд (директория `backend/`): Express 5 + TypeScript ESM, PostgreSQL 16 с 14 миграциями, Redis 7 + BullMQ для очередей, FFmpeg для трансcodeинга, Whisper API (OpenAI) и Claude API (Anthropic) для AI. Конвенции: snake_case в БД и бэкенде, camelCase на фронтенде; API-клиент `src/api/client.ts` автоматически конвертирует ключи.

Модели данных

  • users — id, email, password_hash, role (viewer/creator/moderator/admin), display_name, avatar_url, bio
  • creator_profiles — user_id, channel_name, channel_slug, description, subscriber_count
  • videos — id, title, description, creator_id, category_id, difficulty_level, duration, hls_path, subtitle_url, transcript, like_count, avg_rating
  • categories — id, parent_id, name, slug, icon (42 категории в 7 корневых)
  • video_classifications — video_id, is_educational, confidence, suggested_category, key_concepts, red_flags
  • Социальные: bookmarks, likes, subscriptions, watch_history, ratings
  • Коллекции: collections, collection_items
  • Q&A: questions, answers, question_votes
  • Аналитика: view_events, view_sessions, user_category_progress
  • Уведомления: notifications

Роли и автомодерация

Viewer — базовая роль, смотрит видео, комментирует, собирает коллекции, подписывается. Creator — загружает видео, управляет каналом, видит аналитику. Moderator — одобряет/отклоняет видео, управляет категориями. Admin — полный доступ, суперадмин. Изоляция данных построена на userId (creator_id, uploaded_by). Автомодерация: новые авторы проходят ручную проверку первых видео, доверенные авторы и видео с AI-confidence > 85% публикуются автоматически.

Production и инфраструктура

Сервер 72.56.238.8. Docker-компоненты: `costube-postgres` (PostgreSQL 16), `costube-redis` (Redis 7), `costube-api` (Express на порту 4000), `costube-worker` (BullMQ воркер для transcode/transcribe/classify/chapters). Пути: фронт `/opt/costube/frontend/` (статика через Nginx), бэк `/opt/costube/project/backend/` (Docker build), хранилище видео `/opt/costube/storage/`. Nginx: `no-cache` для index.html (обновление SPA), `immutable` для assets. Деплой: `docker compose build api worker && docker compose up -d`, фронт `npx vite build && scp -r dist/* costube:/opt/costube/frontend/`.

Статус

Активная разработка, последний коммит 2026-05-11 (15+ коммитов за апрель–май). Все четыре фазы реализованы. Недавние работы: фиксы безопасности (auth, path traversal, tenant isolation, XSS, validation — 14 code-review issues), миграция SSE → polling для уведомлений, конвертация snake_case → camelCase на API-клиенте, фиксы плеера и инвалидации прогресс-бара. Roadmap перенесён в GitHub Project #19.

YouTube построен под алгоритм. CosTube построен под учебный процесс.
Открыть проект

Поделиться

следующая
Cosapp