Документация на Flussonic Media Server

  1. Быстрый старт
  2. How To
  3. Потоковое вещание
    1. Публикация
    2. Прием мультикаста
    3. Варианты источников
    4. Переключение источников
    5. Плейлисты
    6. Наложение логотипа
    7. Миксер
    8. WebRTC публикация
    9. SDI
    10. Отправка на другие сервера
    11. Распознавание DVB субтитров
  4. Транскодер
    1. Логотип
    2. Hardware
    3. Скриншоты
    4. Мозаика
  5. DRM
    1. Simple CAS
    2. Conax DRM
    3. BuyDRM (KeyOS)
  6. Авторизация
    1. Конструктор бэкендов
    2. Сервис сбора статистики
    3. Domain lock
    4. Middleware
    5. Secure links
    6. Ограничение сессий
    7. Мультиавторизация
    8. Бан IP адресов
    9. DVR
    10. Aliaser
  7. API
    1. HTTP API
    2. Events API
    3. MySQL API
    4. SQL API для кластеров
    5. SNMP
  8. Кластер
    1. Ретрансляция
    2. Кластерный захват
    3. Балансировщик нагрузки
    4. Пиринг
    5. Организация CDN
  9. VOD
    1. Кэш
    2. Облако
    3. Транскодирование файлов
  10. DVR
    1. Настройка
    2. Timeshift
    3. Catchup
    4. Проигрывание
    5. Экспорт в MP4
    6. Доступ по протоколам
    7. Timelapse
    8. API
    9. Кластеризация DVR
    10. Репликация
    11. Облако
  11. Воспроизведение
    1. HLS
    2. embed.html
    3. HTML5 с низкой задержкой
    4. Плеер HTML5 с низкой задержкой
    5. MPEG-TS
    6. RTMP
    7. DASH
    8. HDS
    9. RTSP
    10. multicast, CBR UDP
    11. WebRTC проигрывание
    12. H.265
  12. Администрирование
    1. Установка
    2. Обновление

    3. Конфигурация
    4. Мониторинг
    5. Производительность
    6. Лицензия
    7. LUA скрипты
    8. Безопасность
    9. Let's Encrypt
    10. Миграция
  13. IPTV
    1. Захват спутникового видео
    2. Транскодирование
    3. Middleware в IPTV OTT
    4. Экспорт EPG со спутника
    5. Группы каналов

Распознавание DVB субтитров в WebVTT

Начиная с версии 4.7.2, Flussonic Media Server может распознать DVB-cубтитры в WebVTT. Распознавание осуществляется с помощью программы Tesseract.

DVB субтитры Anchor Anchor x2

Стандарт DVB (Digital Video Broadcast) определяет формат субтитров на основе растрового изображения. В DVB потоке со спутника MPEG-TS субтитры могут идти как текстом, так и изображением. Чаще всего используется передача изображений, так как этот вариант надежнее для просмотра на различных устройствах, которые могут не иметь нужных шрифтов для отрисовки текста.

Например:

 ffmpeg -i video.ts 
Stream #0:0[0x1a4]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x1ae](fra): Audio: eac3 ([6][0][0][0] / 0x0006), 48000 Hz, stereo, fltp, 128 kb/s
    Stream #0:2[0x1af](qad): Audio: eac3 ([6][0][0][0] / 0x0006), 48000 Hz, stereo, fltp, 128 kb/s
    Stream #0:3[0x1b8](fra): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) (hearing impaired)
    Stream #0:4[0x1b0](qaa): Audio: eac3 ([6][0][0][0] / 0x0006), 48000 Hz, stereo, fltp, 128 kb/s
    Stream #0:5[0x1b9](fra): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)

Здесь dvb_subtitle — это субтитры, которые приходят изображениями.

DVB субтитры показываются приставками, некоторыми телевизорами, плеером VLC, но не смартфонами iPhone/Android.

Flussonic Media Server умеет распознавать изображения обратно в текст для того, чтобы вы могли показать субтитры на мобильных устройствах и плеерах без поддержки DVB.

WebVTT субтитры Anchor Anchor x2

WebVTT (Web Video Text Tracks Format ) — это распространённый формат субтитров, который хорошо поддерживается браузерами и предоставляет ряд других возможностей. Распознавая DVB субтитры в WebVTT, можно уменьшить нагрузку на канал передачи потока.

Файл формата WebVTT является обычным текстовым файлом с расширением .vtt, в котором в виде построчного списка прописаны метки с временем старта и временем окончания и текстовые сообщения для вывода к этим меткам. К видео-контейнеру можно подключить несколько файлов WebVTT с текстом на разных языках. Для каждого языка нужно создавать отдельный файл.

Эти файлы могут использоваться для передачи дополнительных данных в JS плееры. Например, URL превью картинок для фреймов видео. Стандарт WebVTT также поддерживает CSS-стилизацию и опции по размещению в области просмотра видео.

Установка и настройка Anchor Anchor x2

Tesseract — качественный консольный OCR движок с открытым исходным кодом. В настоящий момент программа работает с UTF-8, а поддержка языков (включая русский с версии 3.0) осуществляется с помощью дополнительных модулей.

Для операционной системы Ubuntu есть возможность установить готовый пакет flussonic-tesseract:

apt install flussonic-tesseract

После установки Tesseract включите опции для потока:

dvbsubs_ocr=true;

Пример:

stream ort {
  url tshttp://source:8080/stream dvbsubs_ocr=true;
}

Для применения настроек не забудьте выполнить /etc/init.d/flussonic reload.

Если Tesseract запустился для потока, то в логах появятся примерно такие записи:

09:44:17.986 <0.966.0> [sow] tesseract_worker:58 start ocr for slv
09:44:18.275 <0.966.0> [sow] tesseract_worker:58 start ocr for srp
09:44:18.759 <0.966.0> [sow] tesseract_worker:58 start ocr for swe
09:44:19.045 <0.966.0> [sow] tesseract_worker:58 start ocr for dan
09:44:19.328 <0.966.0> [sow] tesseract_worker:58 start ocr for nor

Пример потока m3u8 с субтитрами:

#EXTM3U
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="English",DEFAULT=YES,AUTOSELECT=YES,FORCED=NO,LANGUAGE="eng",URI="http://flussonic-ip/index.m3u8"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="French",DEFAULT=NO,AUTOSELECT=YES,FORCED=NO,LANGUAGE="fra",URI="http://flussonic-ip/index.m3u8"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="German",DEFAULT=NO,AUTOSELECT=YES,FORCED=NO,LANGUAGE="deu",URI="http://flussonic-ip/index.m3u8"
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=450560,RESOLUTION=480x352,SUBTITLES="subs"
http://flussonic-ip/index.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=855040,RESOLUTION=480x352,SUBTITLES="subs"
http://flussonic-ip/index.m3u8