Skip to content

M4F / M4S / M4F2

media.ingest.m4f

Описание

Поддерживаются старые протоколы M4F/M4S и новый M4F2 для приёма с других серверов Flussonic. M4F2 позволяет работать с дорожками независимо: передавать нужные дорожки и сокращать межсерверный трафик. Временная шкала и состав дорожек сохраняются при передаче.

Настройка

Настройка выполняется через API central. Фрагмент конфигурации стрима:

streams:
- name: source1
  inputs:
  - m4f2:
      url: m4f2://origin.example.com/studio?token=ACCESS_TOKEN

Параметры

Параметр Описание
m4f.url, m4s.url, m4f2.url адрес источника соответствующей версии.
cluster_key cluster_key у старых M4F/M4S задаёт общий ключ кластера.
via_agent via_agent доступен у M4S и M4F2 для подключения через agent://ID.

Аутентификация

M4F/M4S передают заголовки cluster-auth-* с общим ключом. M4F2 передаёт query-параметры URL, включая token, при запросах к источнику.

Варианты транспорта

  • M4F — сегментный приём старого формата.

  • M4S — покадровый приём старого формата.

  • M4F2 — каталог и независимые запросы фрагментов/частей дорожек по HTTP; m4f2s:// использует HTTPS.

Поддерживаемые кодеки

Legacy M4F/M4S:

  • H.264
  • HEVC / H.265
  • AV1
  • VP9
  • MPEG-2 Video
  • MJPEG / JPEG
  • JPEG 2000
  • AAC
  • AC-3
  • E-AC-3
  • MPEG Audio (Layer II / III)
  • Opus
  • G.711 A-law / μ-law
  • PCM

Это перечень аудио- и видеокадров, которые разборщик legacy M4F/M4S извлекает по именам кодеков в описании дорожек. M4F — собственный контейнер, а не другое имя fMP4 или кодек. Кодек и конфигурация должны быть корректно объявлены источником; приём кадров не означает поддержку каждого кодека в выбранном выходном протоколе или его декодирование.

M4F2: описание дорожек читается из init-сегментов fMP4, а кадры — из отдельных фрагментов и частей. Действует набор кодеков fMP4. VP9, JPEG 2000, MJPEG и сырой PCM из списка legacy M4F/M4S этим путём не поддерживаются. Сохранение исходной временной шкалы и границ фрагментов не расширяет набор поддерживаемых sample entry.

Поведение при ошибках

Состояние входа и причина отказа доступны в статистике стрима. При обрыве или отсутствии кадров действует общий механизм повторных подключений и переключения на резерв.

Применение изменений

Изменения передаются через API central. При изменении адреса источника или формата захват открывается заново; это может прервать приём на время подключения. После применения проверьте состояние входа и поступление кадров.

Счётчики

Ниже — точные имена полей протокольной статистики. counter накапливает события, gauge показывает текущее значение; список включает оба вида. Нулевые поля могут отсутствовать в ответе. API и Prometheus используют разные проекции: весь список не следует ожидать в одном ответе Admin API. Доступ к детализации зависит от лицензии на счётчики.

Общие показатели входа: bytes, frames, errors, warnings. Они суммируют данные протокола, поэтому складывать их с протокольными счётчиками повторно не нужно.

M4f2

Поле Тип
version gauge
bytes counter
frames counter
parts counter
fragments counter
fragments_from_parts counter
part_sets_broken counter

Прочее

M4F2 не требует передавать все качества видео каждому потребителю. Запросы отдельных дорожек позволяют получать только нужные качества и звуковые дорожки. Перекодирование при такой передаче не требуется.

Что дальше