Проект: Простая система для показа видео-рекламы на Android TV

Цель

Решение экранов в клиниках: приложение на Android TV, которое крутит ролики по кругу и периодически обновляет плейлист с сервера. Без биллинга и сложных ролей.

Объём (выбери вариант)Вариант A — только плеер (MVP мини)
  • Android TV приложение:

    • Воспроизведение видео (MP4/HLS) по циклу.

    • Забирает плейлист из JSON?файла по URL.

    • Обновление плейлиста каждые 10 минут.

    • Автозапуск/киоск (по возможности) и скрытие системных панелей.

    • Локальный fallback (чёрный экран или PNG), если контента нет.

  • Конфигурация: URL плейлиста и интервал обновления — в настройках/константах.

Вариант B — плеер + простая веб?панель
  • Всё из Варианта A, плюс:

  • Веб?панель (один логин) для:

    • загрузки видеофайлов,

    • формирования плейлиста (порядок роликов),

    • публикации плейлиста (генерация JSON).

  • Хранение медиа: S3/GCS или локально на сервере, раздача по HTTPS.

Формат плейлиста (пример JSON)
json

CopyEdit

{ "refresh_sec": 600, "items": [ {"url": "https://cdn.example.com/ad1.mp4", "type": "video"}, {"url": "https://cdn.example.com/stream.m3u8", "type": "video"} ] }

Критерии приёмки
  1. Первый ролик стартует ? 5 сек после запуска приложения (при нормальной сети).

  2. Изменил плейлист ? устройства подхватили за ? 2 минуты без «чёрного экрана».

  3. Ошибочный ролик пропускается, цикл продолжается.

  4. Непрерывная работа ? 8 часов без падений/утечек памяти.

  5. (Вариант B) В панели можно загрузить файл, собрать плейлист и опубликовать.

Технологии (предпочтительно, но не жёстко)
  • Плеер: Kotlin + Media3 (ExoPlayer).

  • Веб?панель: Node.js/Express + простой React (или любая быстрая альтернатива).

  • Хранилище: S3/GCS + HTTPS (можно предложить свой вариант).

  • Минимум зависимостей, чистый код.

От исполнителя
  • Короткий план работ и сроки.

  • Демо?APK плеера + доступ к демо панели (если Вариант B).

  • Исходники (Git), краткая документация по деплою.

  • Готовность на небольшие правки по UX (например, PIN для выхода из киоска).

Сроки и бюджет (ориентир, укажи свой)
  • Вариант A: 1–2 недели.

  • Вариант B: 2–4 недели.

  • Бюджет: обсудим по результатам отклика (укажите вашу цену фикс/этапы).

Материалы с нашей стороны
  • Домен/сервер или S3/GCS.

  • Тестовые ролики (MP4).

  • Логотип/PNG для fallback.

Что прислать в отклике
  1. Пару ссылок на похожие проекты (видео/TV/киоск/ExoPlayer).

  2. Коротко: как реализуете автозапуск/киоск на Android TV.

  3. Сроки по этапам и гарантия на багфиксы после сдачи.

  4. Предложение по улучшению (кэш офлайн / перезагрузка по расписанию).


(Опционально) Английская версия для международной биржи

Project: Simple Android TV Ad Player

Goal: Android TV app that loops videos and refreshes a playlist from a JSON URL. Optional simple web admin to upload files and build the playlist. No billing, no multi?tenant.

Scope

  • Option A (Player only): Kotlin + Media3 player, JSON playlist, 10?min refresh, kiosk/immersive mode, fallback if no content.

  • Option B (Player + Web Admin): Simple admin (single login) to upload videos, order items, publish playlist (JSON). Storage via S3/GCS.

Acceptance

  • First video plays ?5s after launch.

  • Playlist changes propagate to devices ?2 min, no black frames.

  • Bad item skipped, loop continues.

  • 8h continuous run without crashes/memory leaks.

  • (Option B) Upload ? build playlist ? publish works end?to?end.

What to send

  • Similar work samples (ExoPlayer/kiosk/signage).

  • Your kiosk/autostart approach on Android TV.

  • Milestones & ETA, warranty for bug fixes.

  • Improvements you suggest (offline cache, nightly reboot, etc.).

день назад
Бенджамин
 
50 лет
15 лет в сервисе
Был
3 часа назад
12 отзывов

Заявки фрилансеров

Вадим
 
24 года
3 года в сервисе
Был
11 часов назад
38 отзывов
19 часов назад
ТОП-5
Мобильные приложения
Александр
 
47 лет
3 года в сервисе
Был
43 минуты назад
6 отзывов
21 час назад
Максим
 
27 лет
8 дней в сервисе
Был
8 часов назад
день назад