Options  {.no-collapse}

<div markdown class="option">  
<a id="segdur" data-level="basic">__segdur__</a> (frac, default: _0/0_): target segment duration in seconds. A value less than or equal to 0 defaults to 1.0 second  
</div>  
<div markdown class="option">  
<a id="tpl" data-level="basic">__tpl__</a> (bool, default: _true_): use template mode (multiple segment, template URLs)  
</div>  
<div markdown class="option">  
<a id="stl" data-level="basic">__stl__</a> (bool, default: _false_): use segment timeline (ignored in on_demand mode)  
</div>  
<div markdown class="option">  
<a id="dmode" data-level="basic">__dmode__</a> (enum, default: _static_, updatable): dash content mode  

- static: static content  
- dynamic: live generation  
- dynlast: last call for live, will turn the MPD into static  
- dynauto: live generation and move to static manifest upon end of stream  
</div>  
  
<div markdown class="option">  
<a id="sseg">__sseg__</a> (bool, default: _false_): single segment is used  
</div>  
<div markdown class="option">  
<a id="sfile">__sfile__</a> (bool, default: _false_): use a single file for all segments (default in on_demand)  
</div>  
<div markdown class="option">  
<a id="align">__align__</a> (bool, default: _true_): enable segment time alignment between representations  
</div>  
<div markdown class="option">  
<a id="sap" data-level="basic">__sap__</a> (bool, default: _true_): enable splitting segments at SAP boundaries  
</div>  
<div markdown class="option">  
<a id="mix_codecs">__mix_codecs__</a> (bool, default: _false_): enable mixing different codecs in an adaptation set  
</div>  
<div markdown class="option">  
<a id="ntp">__ntp__</a> (enum, default: _rem_): insert/override NTP clock at the beginning of each segment  

- rem: removes NTP from all input packets  
- yes: inserts NTP at each segment start  
- keep: leaves input packet NTP untouched  
</div>  
  
<div markdown class="option">  
<a id="no_sar">__no_sar__</a> (bool, default: _false_): do not check for identical sample aspect ratio for adaptation sets  
</div>  
<div markdown class="option">  
<a id="bs_switch">__bs_switch__</a> (enum, default: _def_): bitstream switching mode (single init segment)  

- def: resolves to off for onDemand and inband for live  
- off: disables BS switching  
- on: enables it if same decoder configuration is possible  
- inband: moves decoder config inband if possible  
- both: inband and outband parameter sets  
- pps: moves PPS and APS inband, keep VPS,SPS and DCI out of band (used for VVC RPR)  
- force: enables it even if only one representation  
- multi: uses multiple stsd entries in ISOBMFF  
</div>  
  
<div markdown class="option">  
<a id="template" data-level="basic">__template__</a> (str): template string to use to generate segment name  
</div>  
<div markdown class="option">  
<a id="segext" data-level="basic">__segext__</a> (str): file extension to use for segments  
</div>  
<div markdown class="option">  
<a id="initext" data-level="basic">__initext__</a> (str): file extension to use for the init segment  
</div>  
<div markdown class="option">  
<a id="muxtype" data-level="basic">__muxtype__</a> (enum, default: _auto_): muxtype to use for the segments  

- mp4: uses ISOBMFF format  
- ts: uses MPEG-2 TS format  
- mkv: uses Matroska format  
- webm: uses WebM format  
- ogg: uses OGG format  
- raw: uses raw media format (disables multiplexed representations)  
- auto: guess format based on extension, default to mp4 if no extension  
</div>  
  
<div markdown class="option">  
<a id="rawsub">__rawsub__</a> (bool, default: _no_): use raw subtitle format instead of encapsulating in container  
</div>  
<div markdown class="option">  
<a id="asto">__asto__</a> (dbl, default: _0_): availabilityStartTimeOffset to use in seconds. A negative value simply increases the AST, a positive value sets the ASToffset to representations  
</div>  
<div markdown class="option">  
<a id="profile" data-level="basic">__profile__</a> (enum, default: _auto_): target DASH profile. This will set default option values to ensure conformance to the desired profile. For MPEG-2 TS, only main and live are used, others default to main  

- auto: turns profile to live for dynamic and full for non-dynamic  
- live: DASH live profile, using segment template  
- onDemand: MPEG-DASH live profile  
- main: MPEG-DASH main profile, using segment list  
- full: MPEG-DASH full profile  
- hbbtv1.5.live: HBBTV 1.5 DASH profile  
- dashavc264.live: DASH-IF live profile  
- dashavc264.onDemand: DASH-IF onDemand profile  
- dashif.ll: DASH IF low-latency profile (set UTC server to time.akamai.com if none set)  
</div>  
  
<div markdown class="option">  
<a id="profX">__profX__</a> (str): list of profile extensions, as used by DASH-IF and DVB. The string will be colon-concatenated with the profile used. If starting with `+`, the profile string by default is erased and `+` is skipped  
</div>  
<div markdown class="option">  
<a id="cp">__cp__</a> (enum, default: _set_): content protection element location  

- set: in adaptation set element  
- rep: in representation element  
- both: in both adaptation set and representation elements  
</div>  
  
<div markdown class="option">  
<a id="pssh">__pssh__</a> (enum, default: _v_): storage mode for PSSH box  

- f: stores in movie fragment only  
- v: stores in movie only, or movie and fragments if key roll is detected  
- m: stores in mpd only  
- mf: stores in mpd and movie fragment  
- mv: stores in mpd and movie  
- n: discard pssh from mpd and segments  
</div>  
  
<div markdown class="option">  
<a id="buf" data-level="basic">__buf__</a> (sint, default: _-100_): min buffer duration in ms. negative value means percent of segment duration (e.g. -150 = 1.5*seg_dur)  
</div>  
<div markdown class="option">  
<a id="spd" data-level="basic">__spd__</a> (sint, default: _0_): suggested presentation delay in ms  
</div>  
<div markdown class="option">  
<a id="timescale">__timescale__</a> (sint, default: _0_): set timescale for timeline and segment list/template. A value of 0 picks up the first timescale of the first stream in an adaptation set. A negative value forces using stream timescales for each timed element (multiplication of segment list/template/timelines). A positive value enforces the MPD timescale  
</div>  
<div markdown class="option">  
<a id="check_dur" data-level="basic">__check_dur__</a> (bool, default: _true_): check duration of sources in period, trying to have roughly equal duration. Enforced whenever period start times are used  
</div>  
<div markdown class="option">  
<a id="skip_seg">__skip_seg__</a> (bool, default: _false_): increment segment number whenever an empty segment would be produced - NOT DASH COMPLIANT  
</div>  
<div markdown class="option">  
<a id="title" data-level="basic">__title__</a> (str): MPD title  
</div>  
<div markdown class="option">  
<a id="source" data-level="basic">__source__</a> (str): MPD Source  
</div>  
<div markdown class="option">  
<a id="info" data-level="basic">__info__</a> (str): MPD info url  
</div>  
<div markdown class="option">  
<a id="cprt" data-level="basic">__cprt__</a> (str): MPD copyright string  
</div>  
<div markdown class="option">  
<a id="lang" data-level="basic">__lang__</a> (str): language of MPD Info  
</div>  
<div markdown class="option">  
<a id="location" data-level="basic">__location__</a> (strl): set MPD locations to given URL  
</div>  
<div markdown class="option">  
<a id="base">__base__</a> (strl): set base URLs of MPD  
</div>  
<div markdown class="option">  
<a id="refresh">__refresh__</a> (dbl, default: _0_): refresh rate for dynamic manifests, in seconds (a negative value sets the MPD duration, value 0 uses dash duration)  
</div>  
<div markdown class="option">  
<a id="tsb" data-level="basic">__tsb__</a> (dbl, default: _30_): time-shift buffer depth in seconds (a negative value means infinity)  
</div>  
<div markdown class="option">  
<a id="keep_segs" data-level="basic">__keep_segs__</a> (bool, default: _false_): do not delete segments no longer in time-shift buffer  
</div>  
<div markdown class="option">  
<a id="ast">__ast__</a> (str): set start date (as xs:date, e.g. YYYY-MM-DDTHH:MM:SSZ) for live mode. Default is now. !! Do not use with multiple periods, nor when DASH duration is not a multiple of GOP size !!  
</div>  
<div markdown class="option">  
<a id="state">__state__</a> (str): path to file used to store/reload state info when simulating live. This is stored as a valid MPD with GPAC XML extensions  
</div>  
<div markdown class="option">  
<a id="keep_ts">__keep_ts__</a> (bool, default: _false_): do not shift timestamp when reloading a context  
</div>  
<div markdown class="option">  
<a id="loop">__loop__</a> (bool, default: _false_): loop sources when dashing with subdur and state. If not set, a new period is created once the sources are over  
</div>  
<div markdown class="option">  
<a id="subdur">__subdur__</a> (dbl, default: _0_): maximum duration of the input file to be segmented. This does not change the segment duration, segmentation stops once segments produced exceeded the duration  
</div>  
<div markdown class="option">  
<a id="split">__split__</a> (bool, default: _true_): enable cloning samples for text/metadata/scene description streams, marking further clones as redundant  
</div>  
<div markdown class="option">  
<a id="hlsc">__hlsc__</a> (bool, default: _false_): insert clock reference in variant playlist in live HLS  
</div>  
<div markdown class="option">  
<a id="cues">__cues__</a> (str): set cue file  
</div>  
<div markdown class="option">  
<a id="strict_cues">__strict_cues__</a> (bool, default: _false_): strict mode for cues, complains if splitting is not on SAP type 1/2/3 or if unused cue is found  
</div>  
<div markdown class="option">  
<a id="strict_sap">__strict_sap__</a> (enum, default: _off_): strict mode for sap  

- off: ignore SAP types for PID other than video, enforcing `AdaptationSet@startsWithSAP=1`  
- sig: same as [off](#off) but keep `AdaptationSet@startsWithSAP` to the true SAP value  
- on: warn if any PID uses SAP 3 or 4 and switch to FULL profile  
- intra: ignore SAP types greater than 3 on all media types  
</div>  
  
<div markdown class="option">  
<a id="subs_sidx">__subs_sidx__</a> (sint, default: _-1_): number of subsegments per sidx. Negative value disables sidx. Only used to inherit sidx option of destination  
</div>  
<div markdown class="option">  
<a id="cmpd">__cmpd__</a> (bool, default: _false_): skip line feed and spaces in MPD XML for compactness  
</div>  
<div markdown class="option">  
<a id="styp">__styp__</a> (str): indicate the 4CC to use for styp boxes when using ISOBMFF output  
</div>  
<div markdown class="option">  
<a id="dual">__dual__</a> (bool): indicate to produce both MPD and M3U files  
</div>  
<div markdown class="option">  
<a id="sigfrag">__sigfrag__</a> (bool): use manifest generation only mode  
</div>  
<div markdown class="option">  
<a id="sbound">__sbound__</a> (enum, default: _out_): indicate how the theoretical segment start `TSS (= segment_number * duration)` should be handled  

- out: segment split as soon as `TSS` is exceeded (`TSS` <= segment_start)  
- closest: segment split at closest SAP to theoretical bound  
- in: `TSS` is always in segment (`TSS` >= segment_start)  
</div>  
  
<div markdown class="option">  
<a id="reschedule">__reschedule__</a> (bool, default: _false_): reschedule sources with no period ID assigned once done (dynamic mode only)  
</div>  
<div markdown class="option">  
<a id="sreg">__sreg__</a> (bool, default: _false_): regulate the session  

- when using subdur and context, only generate segments from the past up to live edge  
- otherwise in dynamic mode without context, do not generate segments ahead of time  
</div>  
  
<div markdown class="option">  
<a id="scope_deps">__scope_deps__</a> (bool, default: _true_): scope PID dependencies to be within source. If disabled, PID dependencies will be checked across all input PIDs regardless of their sources  
</div>  
<div markdown class="option">  
<a id="utcs">__utcs__</a> (str): URL to use as time server / UTCTiming source. Special value `inband` enables inband UTC (same as publishTime), special prefix `xsd@` uses xsDateTime schemeURI rather than ISO  
</div>  
<div markdown class="option">  
<a id="sflush">__sflush__</a> (enum, default: _off_): segment flush mode - see filter help:  

- off: no specific actions  
- single: force generating a single segment for each input  
- end: skip loop detection and clamp duration adjustment at end of input, used for state mode  
</div>  
  
<div markdown class="option">  
<a id="last_seg_merge">__last_seg_merge__</a> (bool, default: _false_): force merging last segment if less than half the target duration  
</div>  
<div markdown class="option">  
<a id="mha_compat">__mha_compat__</a> (enum, default: _no_): adaptation set generation mode for compatible MPEG-H Audio profile  

- no: only generate the adaptation set for the main profile  
- comp: only generate the adaptation sets for all compatible profiles  
- all: generate the adaptation set for the main profile and all compatible profiles  
</div>  
  
<div markdown class="option">  
<a id="mname">__mname__</a> (str): output manifest name for ATSC3 multiplexing (using 'm3u8' only toggles HLS generation)  
</div>  
<div markdown class="option">  
<a id="llhls">__llhls__</a> (enum, default: _off_): HLS low latency type  

- off: do not use LL-HLS  
- br: use LL-HLS with byte-range for segment parts, pointing to full segment (DASH-LL compatible)  
- sf: use separate files for segment parts (post-fixed .1, .2 etc.)  
- brsf: generate two sets of manifest, one for byte-range and one for files (`_IF` added before extension of manifest)  
</div>  
  
<div markdown class="option">  
<a id="hlsdrm">__hlsdrm__</a> (str): cryp file info for HLS full segment encryption  
</div>  
<div markdown class="option">  
<a id="hlsx">__hlsx__</a> (strl): list of string to append to master HLS header before variants with `['#foo','#bar=val']` added as `#foo \n #bar=val`  
</div>  
<div markdown class="option">  
<a id="hlsiv">__hlsiv__</a> (bool, default: _true_): inject IV in variant HLS playlist``  
</div>  
<div markdown class="option">  
<a id="ll_preload_hint">__ll_preload_hint__</a> (bool, default: _true_): inject preload hint for LL-HLS  
</div>  
<div markdown class="option">  
<a id="ll_rend_rep">__ll_rend_rep__</a> (bool, default: _true_): inject rendition reports for LL-HLS  
</div>  
<div markdown class="option">  
<a id="ll_part_hb">__ll_part_hb__</a> (dbl, default: _-1_): user-defined part hold-back for LLHLS, negative value means 3 times max part duration in session  
</div>  
<div markdown class="option">  
<a id="ckurl">__ckurl__</a> (str): set the ClearKey URL common to all encrypted streams (overriden by `CKUrl` pid property)  
</div>  
<div markdown class="option">  
<a id="hls_absu">__hls_absu__</a> (enum, default: _no_): use absolute url in HLS generation using first URL in [base]()  

- no: do not use absolute URL  
- var: use absolute URL only in variant playlists  
- mas: use absolute URL only in master playlist  
- both: use absolute URL everywhere  
</div>  
  
<div markdown class="option">  
<a id="hls_ap">__hls_ap__</a> (bool, default: _false_): use audio as primary media instead of video when generating playlists  
</div>  
<div markdown class="option">  
<a id="seg_sync">__seg_sync__</a> (enum, default: _auto_): control how waiting on last packet P of fragment/segment to be written impacts segment injection in manifest  

- no: do not wait for P  
- yes: wait for P  
- auto: wait for P if HLS is used  
</div>  
  
<div markdown class="option">  
<a id="cmaf">__cmaf__</a> (enum, default: _no_): use cmaf guidelines  

- no: CMAF not enforced  
- cmfc: use CMAF `cmfc` guidelines  
- cmf2: use CMAF `cmf2` guidelines  
</div>  
  
<div markdown class="option">  
<a id="pswitch">__pswitch__</a> (enum, default: _single_): period switch control mode  

- single: change period if PID configuration changes  
- force: force period switch at each PID reconfiguration instead of absorbing PID reconfiguration (for splicing or add insertion not using periodID)  
- stsd: change period if PID configuration changes unless new configuration was advertised in initial config  
</div>  
  
<div markdown class="option">  
<a id="chain">__chain__</a> (str): URL of next MPD for regular chaining  
</div>  
<div markdown class="option">  
<a id="chain_fbk">__chain_fbk__</a> (str): URL of fallback MPD  
</div>  
<div markdown class="option">  
<a id="gencues">__gencues__</a> (bool, default: _false_): only insert segment boundaries and do not generate manifests  
</div>  
<div markdown class="option">  
<a id="force_init">__force_init__</a> (bool, default: _false_): force init segment creation in bitstream switching mode  
</div>  
<div markdown class="option">  
<a id="keep_src">__keep_src__</a> (bool, default: _false_): keep source URLs in manifest generation mode  
</div>  
<div markdown class="option">  
<a id="gxns">__gxns__</a> (bool, default: _false_): insert some gpac extensions in manifest (for now, only tfdt of first segment)  
</div>  
<div markdown class="option">  
<a id="dkid">__dkid__</a> (enum, default: _auto_): control injection of default KID in MPD  

- off: default KID not injected  
- on: default KID always injected  
- auto: default KID only injected if no key roll is detected (as per DASH-IF guidelines)  
</div>  
  
<div markdown class="option">  
<a id="tpl_force">__tpl_force__</a> (bool, default: _false_): use template string as is without trying to add extension or solve conflicts in names  
</div>  
<div markdown class="option">  
<a id="ttml_agg">__ttml_agg__</a> (bool, default: _false_): force aggregation of TTML samples of a DASH segment into a single sample  
</div>