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.