Написать нам

Радио в мобильном приложении.

Назад к кейсам

Радио в мобильном приложении

28 марта, 2023 7 минут

Радио в мобильном приложении.

О клиенте

«ВодоходЪ» – крупнейшая судоходная компания и туристический оператор России. С 2004 года компания «ВодоходЪ» организует круизные путешествия с посещением самых интересных городов и уголков нашей страны, а также экспедиционные круизы в труднодоступные регионы: круизы по Енисею и круглогодичный экспедиционный тур по Байкалу.

О проекте

На теплоходах в каждой каюте установлен радиоприемник. Ведущий бортовой радиостанции озвучивает объявления, выступает в роли аудиогида, а в ночное время на станции транслируют музыку. Возникла необходимость добавить возможность прослушивать радио через мобильное приложение, находясь на борту теплохода, оставив при этом возможность прослушивать радио через уже имеющуюся аудиосистему.

Цели
  • Доступность из любой точки. Радио, в отличие от Wi-Fi-сети, не охватывает весь теплоход, из-за чего туристы могут пропустить важные объявления.

  • Увеличить аудиторию. Аналоговое радио не пользовалось популярностью, особенно у молодой аудитории.

  • Повысить вовлеченность пассажиров. Аудиогид по радио своевременно рассказывает о примечательных точках маршрута.

  • Стабильность и небольшая задержка. Обеспечить круглосуточное стабильное аудиовещание с минимальной задержкой.

Решение

На борту теплохода уже имеется микшерный пульт, к которому подключены микрофон, используемый диктором, а также плеер, с помощью которого в ночное время транслируется музыка. Проходя через микшерный пульт, сигнал попадает в радиопередатчик, который транслирует звук в громкоговорители на теплоходе и в радиоприемники в каютах.

Блок-схема

Важно было никак не повлиять на эту схему. Мы провели несколько дней в изучении вариантов реализации, по итогу внедрив несколько узлов.

  • АЦП. Аналогово цифровой преобразователь. Он подключается к выходу микшерного пульта. Его задача — преобразовать аналоговый сигнал в цифровой, пригодный для обработки компьютером. В нашем случае был выбран преобразователь фирмы Dante. Он оснащен возможностью подключения к Ethernet-сети, имеет свой IP-адрес и позволяет транслировать аудио поток по сети.

  • Конвертер аудиопотока. АЦП транслирует в сеть поток в формате RTP, но воспроизводить такой аудиопоток умеют не все устройства. Необходимо преобразовать аудиопоток в другой формат, поддерживающий трансляцию аудио в реальном времени. Для этой задачи мы написали небольшую программу, которая выполняет сразу несколько задач:

    1. Считывает данные, транслируемые АЦП в сеть.
    2. Преобразует их в формат HLS, который умеет воспроизводить большинство устройств.
    3. Сохраняет аудиопоток в новом формате на жесткий диск, чтобы его можно было передавать по сети мобильному приложению в виде файлов.
    4. Удаляет старые фрагменты аудиопотока, чтобы они не занимали место на жестком диске.
    5. Мониторинг работы, статуса, сбор ошибок, логов.
  • Панель администратора. Она необходима для конфигурирования конвертера аудиопотока, а также для проверки текущего статуса, просмотра списка ошибок.


После того, как была закончена работа по исследованию, реализации и настройке перечисленных узлов, мы приступили к тому, ради чего всё и затевалось — интеграции радио в мобильное приложение. Поскольку мы изначально выбрали подходящий формат, нам удалось избежать проблем с внедрением функционала в приложение. Теперь новый раздел с радио позволяет пассажирам быть в курсе последних новостей, узнавать о погодных условиях и прочих событиях во время их путешествия.

Мобильное приложение «ВодоходЪ», радио.
Вызовы
  • Поиск оборудования. Первоочередная и самая непростая задача — найти оборудование, которое позволяет не только оцифровывать аналоговый сигнал с микшерного пульта, но и транслировать его в сеть. Из других важных факторов необходимо было учитывать портативность — никому не будет удобно иметь дело с набором устройств, которые соединены большим количеством проводов и с трудом поддаются перемещению в другое место; стоимость — количество теплоходов уже достигает нескольких десятков и с каждым годом растет, поэтому важно было найти оборудование, не стоящее сотни тысяч рублей. Несколько дней в исследовании различных источников и предложений на рынке привели нас к единственному устройству, которое полностью отвечает всем требованиям.

  • Отказоустойчивость. Работа с оборудованием всегда не так проста, как может показаться — в любой момент один из узлов может отказать или временно быть недоступен. В случае возникновения программного или аппаратного сбоя, которые определяются без участия человека, мы предпринимаем несколько попыток перезапуска системы. В случае, если автоматические попытки восстановить работоспособность системы завершаются неудачей, мы сообщаем об этом администраторам на теплоходе. Помощь специалистов не всегда может быть доступна из-за отсутствия интернета на теплоходе при прохождении некоторых участков маршрута, поэтому, чтобы не блокировать работу во время ожидания связи, наша система самостоятельно проводит диагностику и предлагает администраторам подробную и понятную информацию, опираясь на которую можно самостоятельно исправить ошибку.

  • Контроль и гибкость. На разных теплоходах может быть установлена отличающаяся конфигурация оборудования. Так, один теплоход может иметь одноканальный конвертер, который транслирует звук в моно, другой теплоход может иметь стерео-конвертер, а на третьем может отличаться глубина звука. Разобраться в этих настройках и сконфигурировать их без специалиста было бы затруднительно, но мы решили и эту задачу, внедрив в панель администратора инструмент для удобного управления всей системой. В панели управления доступно большое количество возможностей, начиная от включения или выключения трансляции, просмотра её статуса, возникающих ошибок, заканчивая точечным конфигурированием параметров оборудования: частота дискретизации, глубина звука, количество каналов и так далее. Используя эти инструменты и имея под рукой инструкцию, администратору не составит труда самостоятельно настроить систему.

  • Поддержка устройствами. Конечная цель — транслировать аудио в мобильное приложение и его веб-версию. Но далеко не все форматы аудио и не все протоколы передачи данных имеют широко распространенную поддержку. Особенно это касается конечных устройств пользователей: смартфоны и ноутбуки. Также сильно варьируется поддержка в зависимости от используемого браузера и версии операционной системы. Чтобы решить эту задачу, мы рассматривали несколько популярных технологий, но остановились на HTTP Live Streaming (HLS), которая обеспечивает поддержку большого количества устройств, относительно проста в понимании и применении.

Цифры
  • 24/7 Бесперебойная работа радио
  • 2 сек Средняя задержка до мобильного приложения
  • > 150 Слушателей на одном теплоходе одновременно

Технологии

  • PHP
  • Node.js
  • Flutter
  • Dart
  • REST API
  • RTP
  • HLS
  • Dante
  • Hardware

Сотрудничество

2020 — ∞

IT-агентство Delaweb
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.