Сеть кинотеатров КАРО
Развлечения
Россия, Москва
IOS, Android
Декабрь 2024
Разработать мобильное приложение, которое сможет распознавать фильмы по трейлерам — своего рода Shazam в мире кино. Приложение должно не просто идентифицировать трейлер, но и сохранять его в истории пользователя, позволять взаимодействовать с контентом и напоминать о выходе фильма в прокат.
— Разработать алгоритм распознавания фильмов по звуку
— Разработать логотип и дизайн приложения
— Интегрировать приложение с базой кинорелизов и с афишей Сети кинотеатров КАРО
— Разработать административную панель для управления приложением
Сеть кинотеатров КАРО — ведущая сеть кинотеатров в России, которые ежегодно посещают более 11 млн. человек в Москве, Санкт-Петербурге, Екатеринбурге, Новосибирске и других городах России.
Flix — это мобильное приложение, которое превращает просмотр трейлеров в кинотеатрах в удобный способ следить за любимыми фильмами.
1. Зритель включает приложение во время показа трейлеров.
2. Flix анализирует аудиопоток и мгновенно находит совпадения в базе.
3. Распознанный трейлер сохраняется в историю просмотра.
4. Пользователь может поставить реакцию: свайп вправо — лайк, трейлер добавляется в избранное, чтобы легко к нему вернуться и получать оповещения о связанных событиях; свайп влево — дизлайк, трейлер скрывается из рекомендаций; свайп вверх — посмотреть подробную информацию.
5. При первом успешном распознавании пользователь проходит онбординг, где знакомится с этими действиями.
6. Когда фильм из избранного выходит в прокат, пользователь получает уведомление и возможность купить билет через встроенную афишу.
Название Flix выбрано клиентом как производное от Flicks — неформального обозначения фильмов. Это слово используется в разговорной речи, а короткое и звучное название делает приложение и его основную функцию «фликснуть» запоминающимися и интуитивно понятными для пользователей. Flix — это кино в одно касание.
На этапе прототипирования мы проработали экраны приложения: главную страницу, вход и регистрацию, профиль и настройки, а также разделы «Трейлеры», «Избранное», «История распознавания» и «Результаты распознавания». После обсуждения с клиентом мы приступили к сборке UI-kit, уделив внимание тому, чтобы цветовая гамма гармонично сочеталась с фирменными цветами бренда КАРО.
Мы выбрали широкое начертание шрифта с увеличенной шириной знаков, что напоминает логотип КАРО и добавляет узнаваемости интерфейсу. На главном экране мы сделали анимацию фликса — пульсация кнопки во время поиска звука из трейлера.
Мы разработали логотип Flix, в основе которого была идея «клика». Три расходящихся луча, выходящие из буквы «i» в слове flix, символизируют клик мышки и распознавание звука.
Перед разработкой мы провели исследование существующих решений, включая Shazam и другие технологии аудио-идентификации. Однако эти алгоритмы разрабатывались в первую очередь для музыки и не подходили для работы с трейлерами. Трейлеры содержат динамичные переходы между сценами, диалоги, спецэффекты и фоновые шумы, что делало стандартные методы распознавания неэффективными. Даже при детальном подборе параметров точность распознавания оставалась недостаточной. В результате мы разработали собственный алгоритм, адаптированный специально под трейлеры.
1. Из видео выделяется аудиодорожка, которая проходит обработку и оптимизацию.
2. Аудио анализируется с помощью быстрого преобразования Фурье, из аудио выделяются ключевые частоты.
3. Полученные данные превращаются в аудио-отпечатки (audio fingerprints), которые сохраняются в базе.
4. При распознавании приложение записывает короткий аудиофрагмент, преобразует его в аудио-отпечаток и сравнивает с базой. Для ускорения поиска и минимизации нагрузки на сервер используется Redis как кэш-хранилище.
5. Учитываются временные смещения, чтобы находить похожие хэши даже при несовпадении точек старта.
6. Система анализирует результаты и определяет наиболее вероятный трейлер.
7. Если уверенность недостаточна, выдается статус «не найдено».
Этот алгоритм точно идентифицирует трейлеры даже в сложных акустических условиях и обрабатывать большие объемы данных без перегрузки серверов.
Пользователь может оставить Flix работать в фоне. Фоновый режим поддерживает процесс распознавания без необходимости открывать приложение перед сеансом, если пользователь не хочет отвлекаться от просмотра.
Распознавание при запуске приложения — ещё одна функция для улучшения пользовательского опыта. Если функция включена, распознавание активируется сразу после открытия приложения: пользователь получает результаты, не нажимая на кнопку «фликснуть» и не совершая дополнительных действий.
Основной флоу (процесс распознавания) реализован в тёмной теме, что делает использование приложения комфортным в залах кинотеатров.
Приложение интегрировано с «Кинопланом» — крупнейшей базой кинорелизов, которой пользуются кинотеатры. Трейлеры из «Киноплана» используются для генерации аудио-отпечатков, которые затем применяются при распознавании.
В разделе «Трейлеры» пользователи могут просматривать новинки, самые распознаваемые фильмы или находить интересующие фильмы через поиск – эту информацию приложение транслирует из «Киноплана». Flix не хранит сами файлы трейлеров, а загружает их по API, что снижает нагрузку на сервер и гарантирует актуальность контента.
Наше приложение открыто для пользователей и доступно в AppStore и Google Play. Основные функции — распознавание и реакции, например, добавление в избранное или дизлайк, можно использовать без регистрации. Данные в таком случае будут сохраняться локально на устройстве, а для перехода в раздел «Мои фликсы», где содержится информация об истории распознавания и избранных трейлерах, потребуется авторизация — это мотивирует пользователей создать аккаунт.
Авторизация происходит по номеру телефона и коду из SMS. После авторизации локальные данные синхронизируются с сервером.
В профиле можно управлять личной информацией, настроить push-уведомления и выбрать языковую версию (русский или английский). Здесь же доступна функция обратной связи через электронную почту.
В приложении есть «Афиша», и пользователь может посмотреть наличие билетов на выбранный фильм. Для этого мы разработали собственный API и интегрировали сеансы кинотеатров КАРО: одна из целей клиента — создать дополнительный трафик на сайт сети.
Теперь, когда пользователь просматривает карточку фильма, он может нажать «Купить билет» и перейти на афишу билетов. Покупка осуществляется через переход на сайт КАРО непосредственно, но афиша есть в самом приложении для удобства пользователя.
В приложение могут интегрироваться и другие кинотеатры, в том числе и онлайн-платформы. Для таких целей в карточке фильма разработан блок «Смотреть на платформах».
Админпанель содержит в себе необходимый функционал для управления приложением: управление администраторами, просмотр таблиц базы данных, ручное управление релизами, лентой трейлеров и уведомлениями. Дополнительно мы реализовали статистику распознавания в разрезе реакций пользователей и добавили функцию экспорта данных из таблиц с возможностью фильтрации.
Первую версию приложения клиент представил 12 декабря 2024 года для тестирования на мероприятии компании «Централ Партнершип» — крупнейшего дистрибьютора.
Зрители использовали приложение для распознавания трейлеров дистрибьютора и оценивали их в реальном времени. Таким образом, мы протестировали бета-версию приложения, а кинокомпания получила реакции на новые трейлеры.
— Арт-директор
— Дизайнер
— Проджект-менеджер
— Тимлид
— Бэкенд-разработчик
— Разработчик мобильного приложения
— Тестировщики
— Аккаунт-менеджер
Flix — это не просто инструмент для распознавания трейлеров, а полноценная экосистема для взаимодействия с киноновинками.
✅ Продвинутый алгоритм распознавания аудио-отпечатков.
✅ Гибкая афиша с возможностью масштабирования на другие сети кинотеатров.
✅ Автоматические уведомления о премьерах и доступных сеансах.
✅ Фоновый режим для удобного распознавания без необходимости держать экран включенным.
✅ Интеграция с «Кинопланом» для получения актуальной информации о релизах и трейлерах.
✅ Развитая админ-панель с аналитикой и настройкой контента.
Flix не имеет аналогов на рынке и задаёт новый стандарт взаимодействия зрителей с кинотеатрами.