Skip to content

M4F / M4S / M4F2

media.ingest.m4f

Description

Legacy M4F/M4S and the new M4F2 protocol are supported for ingest from other Flussonic servers. M4F2 handles tracks independently, transferring the tracks needed and reducing inter-server traffic. Delivery preserves the media timeline and track descriptions.

Configuration

Configure the stream through the central API. Stream configuration fragment:

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

Parameters

Parameter Description
m4f.url, m4s.url, m4f2.url m4f.url, m4s.url, m4f2.url identify the corresponding source version.
cluster_key Legacy M4F/M4S use cluster_key for the shared cluster key.
via_agent M4S and M4F2 support via_agent for connecting through agent://ID.

Authentication

M4F/M4S send cluster-auth-* headers using the shared key. M4F2 forwards URL query parameters, including token, to source requests.

Transport options

  • M4F — legacy segment ingest.

  • M4S — legacy frame ingest.

  • M4F2 — catalog and independent track fragment/part requests over HTTP; m4f2s:// uses HTTPS.

Supported codecs

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

This lists audio/video frames the legacy M4F/M4S parser extracts using codec names in track descriptions. M4F is a proprietary container, not another name for fMP4 or a codec. The source must declare the codec and its configuration correctly; receiving frames does not imply decoding support or support for every codec in the selected output protocol.

M4F2: track descriptions come from fMP4 initialization segments, and frames come from separate fragments and parts. The fMP4 codec set applies. VP9, JPEG 2000, MJPEG and raw PCM from the legacy M4F/M4S list are not supported by this path. Preserving the source timeline and fragment boundaries does not expand the supported sample entries.

Error handling

Input state and failure cause are available in stream statistics. Connection loss or missing frames uses the shared retry and failover mechanisms.

Applying changes

Apply changes through the central API. Changing the source address or format reopens capture and may interrupt ingest while connecting. Check input state and arriving frames afterwards.

Counters

The tables give exact protocol statistics field names, including event counters and current-value gauges. Zero fields may be omitted. API and Prometheus expose different projections; the full list is not necessarily present in one Admin API response. Detailed statistics depend on the counter license.

Common input totals: bytes, frames, errors, warnings. They aggregate protocol data and must not be added to protocol counters again.

M4f2

Field Type
version gauge
bytes counter
frames counter
parts counter
fragments counter
fragments_from_parts counter
part_sets_broken counter

Other details

M4F2 does not require sending every video rendition to every consumer. Independent track requests allow only the needed renditions and audio tracks to be fetched, without transcoding.

Next steps