Skip to content

FFmpeg demultiplexer

Register name used to load filter: ffdmx
This filter may be automatically loaded during graph resolution.

This filter demultiplexes an input file or open a source protocol using FFmpeg.
See FFmpeg documentation (https://ffmpeg.org/documentation.html) for more details.
To list all supported demultiplexers for your GPAC build, use gpac -h ffdmx:*.
This will list both supported input formats and protocols.
Input protocols are listed with Description: Input protocol, and the subclass name identifies the protocol scheme.
For example, if ffdmx:rtmp is listed as input protocol, this means rtmp:// source URLs are supported.

Raw protocol mode

The proto flag will disable FFmpeg demuxer and use GPAC instead. Default format is probed from initial data but can be set using ext or mime if probing is disabled.
Example

gpac -i srt://127.0.0.1:1234:gpac:proto inspectThis will use the SRT protocol handler but GPAC demultiplexer

In this mode, the filter uses the time between the last two received packets to estimates how often it should check for inputs. The maximum and minimum times to wait between two calls is given by the mwait option. The maximum time may need to be reduced for very high bitrates sources.

Options

src (cstr): URL of source content

reparse (bool, default: false): force reparsing of stream content (AVC,HEVC,VVC,AV1 only for now)

block_size (uint, default: 4096): block size used to read file when using GFIO context

strbuf_min (uint, default: 1MB): internal buffer size when demuxing from GPAC's input stream

proto (bool, default: false): use protocol handler only and bypass FFmpeg demuxer

mwait (v2di, default: 1x30): set min and max wait times in ms to avoid too frequent polling in proto mode

ext (str): indicate file extension of data in raw protocol mode

mime (str): indicate mime type of data in raw protocol mode

* (str): any possible options defined for AVFormatContext and sub-classes. See gpac -hx ffdmx and gpac -hx ffdmx:*

Was this page helpful?