Интеграторы и аудиовидео

Отправьте звук, получите переведённый голос.

В реальном времени и внутри того потока, который у вас уже есть. Тот же движок, что держит конгресс, доступный по протоколам, на которых ваша установка уже говорит.

Настоящая установка

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

Как это встраивается

Три части, и о средней вам заботиться не нужно.

Вход

Ваш звук

Непрерывный поток по SRT — или WebRTC, когда говорит телефон, уже вошедший в учётную запись.

Движок

Одно прослушивание, все языки

Звук слышится один раз, и из этого одного прослушивания выходят все целевые языки. Ни один не ждёт за другим.

Выход

Голос и текст

Переведённый голос в ваш собственный WebRTC по WHIP, а для текста — один HTTP-POST на каждую переведённую фразу.

Четырнадцать языков параллельно на одном узле и 812 мс от края до края.

Куда входит звук.

Зал, в котором говорят, не отправляет файлы: он отправляет непрерывный поток и должен продолжать отправлять через сеть, которая теряет пакеты. Для этого и есть SRT.

  • Звонит ваше устройство. При создании зала вам возвращается уже собранный адрес целиком — сервер, порт, идентификатор устройства и пароль.
  • Opus в контейнере MPEG-TS, моно, 16 кГц, около 24 кбит/с. Это речь, а не музыка, и лишняя полоса не покупает ничего, что было бы слышно.
  • Пароль — на устройство и не является необязательным: незашифрованное соединение отклоняется, как бы правильно ни было всё остальное. Десять символов — это нижний предел самого SRT, а не наш.
  • Отправляйте непрерывно, с отключённой прерывистой передачей. Поток, который останавливается на паузах, съедает начало той фразы, что его снова запускает.

Адрес подключения — так, как его возвращает зал

srt://HOST:8890?streamid=DEVICE_ID&mode=caller&latency=120&passphrase=SECRET

Конвейер, который крутится на нашем собственном устройстве

Самый короткий способ проверить ваш — запустить ровно это. Линейный вход обычно приходит тише микрофона: если ваш звучит слабо, добавьте ступень громкости, а не давите сильнее на кодировщик.

gst-launch-1.0 -e \
  alsasrc device=plughw:CODEC,0 ! audioconvert ! audioresample ! \
  audio/x-raw,rate=16000,channels=1 ! \
  opusenc bitrate=24000 ! mpegtsmux ! \
  srtsink uri="srt://HOST:8890?streamid=DEVICE_ID&mode=caller&latency=120&passphrase=SECRET"

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

И откуда выходит.

Если у вас уже есть инфраструктура WebRTC — видеоплатформа, приложение мероприятия, аппаратная — вам не нужно входить в наш зал, чтобы забрать перевод. Дайте нам точку WHIP, и мы будем публиковать туда.

  • Каждый целевой язык — своя сессия WHIP. Точка WHIP вправе принимать одну звуковую дорожку, и многие так и делают, так что пять языков в одной сессии пришли бы как один, а четыре молча пропали бы.
  • Поставьте в адрес маркер языка — и у каждого языка будет свой путь; уберите его — и язык поедет параметром запроса. И так, и так ваша сторона сможет их различить, а различать она обязана.
  • Если вы зададите токен, он уходит заголовком Authorization Bearer, а по окончании выступления мы удаляем ресурс сессии, чтобы ничто не держало соединение.
  • По умолчанию это в дополнение к залу: ваши слушатели продолжают работать, и ваша установка тоже получает звук. Сделайте это единственным назначением — и зал перестанет использоваться.

Две формы точки публикации

delivery.whip.url = https://you.example.com/ingest/{lang}/whip   → …/ingest/en/whip
delivery.whip.url = https://you.example.com/whip                 → …/whip?lang=en

Текст едет отдельно, и это не мелочь

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

С чем работает как есть

Это те, кого называет спецификация, а не стена логотипов. Для того, что дальше по цепочке говорит на RTMP или SRT, MediaMTX впереди наводит мост от WHIP — и ни одному из нас не придётся писать код.

LiveKitJanusMediaMTXSRSAnt MediaCloudflare

Это не справочник API, и разница важна

Это две двери к одному движку, и войти не в ту стоит дня. Эта — чтобы пропустить через него медиапоток. Та — чтобы под него программировать.

Эта страница

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

Справочник API

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

Перейти к справочнику
  • Обе встречаются в одном месте: точка WHIP и адрес для текста — это настройки зала, а зал создаётся через API.

  • Задержка от края до края — 812 мс: весь путь, от того, что кто-то заговорил, до того, что его услышали переведённым.

  • Четырнадцать языков выходят из одного прослушивания звука, так что четырнадцатый стоит столько, сколько стоит четырнадцатый, а не в четырнадцать раз больше первого.

Интеграции и задания: отдельные минуты

Для вещания из комнаты или обработки файлов. Без абонплаты: вы покупаете минуты, и они расходуются по мере перевода. Их можно потратить в течение двенадцати месяцев, и во всех пакетах — тот же движок и те же четырнадцать языков.

7,0мин. засчитано
17/60
мин. встречи

Цветом — то, что произносится

тишина · счётчик стоит

41слушают

не идут в счёт

Час встречи, 20 минут речи: 20 минут засчитано.

20 €+ НДС

Несколько мероприятий или проба на чём-то настоящем.

Начать
100 минут
голоса, переведённого на один язык
0,20 € за минуту
без абонплаты, и двенадцать месяцев на расход
базовая цена
≈ 1 служба
по часу, 40 минут речи, четыре языка
Четырнадцать языков
из одной записи и одновременно

85 €+ НДС

Еженедельная служба и весь её сезон.

Начать
500 минут
голоса, переведённого на один язык
0,17 € за минуту
без абонплаты, и двенадцать месяцев на расход
−15 %
скидки от поштучной цены
≈ 6 служб
по часу, 40 минут речи, четыре языка
Четырнадцать языков
из одной записи и одновременно
Выбирают чаще всего

300 €+ НДС

Несколько залов, работающих каждую неделю.

Начать
2 000 минут
голоса, переведённого на один язык
0,15 € за минуту
без абонплаты, и двенадцать месяцев на расход
−25 %
скидки от поштучной цены
≈ 24 службы
по часу, 40 минут речи, четыре языка
Четырнадцать языков
из одной записи и одновременно

675 €+ НДС

Место, которое вещает почти каждый день.

Начать
5 000 минут
голоса, переведённого на один язык
0,135 € за минуту
без абонплаты, и двенадцать месяцев на расход
−32,5 %
скидки от поштучной цены
≈ 60 служб
по часу, 40 минут речи, четыре языка
Четырнадцать языков
из одной записи и одновременно

В каждом пакете, без исключений

  • Все четырнадцать языков, из одной и той же записи
  • Столько залов, сколько захотите создать
  • Записи, документы и субтитры
  • Весь API и собственные ключи
  • Счёт на каждую покупку, с вашими реквизитами
  • Из живого зала ничего не записывается

Сопровождение оценивается отдельно

Минута оплачивает движок, а не часы работы человека. Всё, за чем стоит кто-то из нас, оценивается отдельно:

  • Запуск: подключить ваш SRT или WebRTC и проверить схему
  • Быть на связи в день мероприятия
  • Разработка под то, что нужно вашему потоку
  • Установка внутри вашей сети
Запросите смету

Или любая сумма

По 0,20 € за минуту, без скидки за объём — для этого есть пакеты. От 10 € до 5000 €, и деньги на счету, как только платёж пройдёт.

Первые 30 минут за наш счёт

Сохраните карту — и они у вас на счету. Ничего не списывается, и на странице карты тоже стоит 0 €: карта лежит на тот день, когда вы захотите пополнить в один клик, а не чтобы втихую списывать. Действуют три месяца: они для того, чтобы попробовать, а не чтобы копить.

Поговорите с инженерами

Четыре поля и ни одного вопроса про месячный объём — на этом этапе его никто не знает. Расскажите, что у вас перед глазами, и ответит тот, кто уже это подключал.

Слова, которые в ходу только у вас

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

  • Это список, а не обучение: записали — и работает с первой же фразы.
  • Он ничего не собирает. Ни ваш звук, ни ваш текст, ни одной секунды чего бы то ни было.
  • И входит в стоимость. Не отдельный тариф и не строка в счёте.