Skip to content

Commit

Permalink
doc update
Browse files Browse the repository at this point in the history
  • Loading branch information
jeanlf committed Jan 8, 2025
1 parent e4d3a01 commit caf037b
Show file tree
Hide file tree
Showing 77 changed files with 1,069 additions and 369 deletions.
68 changes: 34 additions & 34 deletions docs/Filters/avmix.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!-- automatically generated - do not edit, patch gpac/applications/gpac/gpac.c -->

# Audio Video Mixer
# Audio Video mixer

Register name used to load filter: __avmix__
This is a JavaScript filter. It is not checked during graph resolution and needs explicit loading.
Expand Down Expand Up @@ -780,6 +780,32 @@ Options:



## Scene `clear`
This scene clears the canvas area covered by the scene with a given color.

The default clear color of the mixer is `black`.

The clear area is always axis-aligned in output frame, so when skew/rotation are present, the axis-aligned bounding box of the transformed scene area will be cleared.

Options:

- color ('none'): clear color


## Scene `clip`
This scene resets the canvas clipper or sets the canvas clipper to the scene area.

The clipper is always axis-aligned in output frame, so when skew/rotation are present, the axis-aligned bounding box of the transformed clipper will be used.

Clippers are handled through a stack, resetting the clipper pops the stack and restores previous clipper.
If a clipper is already defined when setting the clipper, the clipper set is the intersection of the two clippers.

Options:

- reset (false): if set, reset clipper otherwise set it to scene position and size
- stack (true): if false, clipper is set/reset independently of the clipper stack (no intersection, no push/pop of the stack)


## Scene `shape`
This scene can be used to setup a shape, its outline and specify the fill and strike modes.
Supported shapes include:
Expand Down Expand Up @@ -1002,41 +1028,8 @@ Options:
- rt_rep (false): same as `rt` for local image in replace mode


## Scene `clip`
This scene resets the canvas clipper or sets the canvas clipper to the scene area.

The clipper is always axis-aligned in output frame, so when skew/rotation are present, the axis-aligned bounding box of the transformed clipper will be used.

Clippers are handled through a stack, resetting the clipper pops the stack and restores previous clipper.
If a clipper is already defined when setting the clipper, the clipper set is the intersection of the two clippers.

Options:

- reset (false): if set, reset clipper otherwise set it to scene position and size
- stack (true): if false, clipper is set/reset independently of the clipper stack (no intersection, no push/pop of the stack)


## Scene `clear`
This scene clears the canvas area covered by the scene with a given color.

The default clear color of the mixer is `black`.

The clear area is always axis-aligned in output frame, so when skew/rotation are present, the axis-aligned bounding box of the transformed scene area will be cleared.

Options:

- color ('none'): clear color


# Transition modules

## Transition `fade` - software/GPU
This transition performs fade to/from color of source videos
Options:

- color ('black'): fade color


## Transition `gltrans` - GPU only
This transition module wraps gl-transitions, see https://gl-transitions.com/ and `gpac -h avmix:gltrans` for builtin transitions
Options:
Expand Down Expand Up @@ -1072,6 +1065,13 @@ Options:

## Transition `mix` - software/GPU
This transition performs cross-fade of source videos

## Transition `fade` - software/GPU
This transition performs fade to/from color of source videos
Options:

- color ('black'): fade color



# Options {.no-collapse}
Expand Down
2 changes: 1 addition & 1 deletion docs/Filters/bsagg.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!-- automatically generated - do not edit, patch gpac/applications/gpac/gpac.c -->

# Compressed layered bitstream aggregator
# Layered bitstream aggregator

Register name used to load filter: __bsagg__
This filter is not checked during graph resolution and needs explicit loading.
Expand Down
4 changes: 2 additions & 2 deletions docs/Filters/bsrw.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!-- automatically generated - do not edit, patch gpac/applications/gpac/gpac.c -->

# Compressed bitstream rewriter
# Bitstream metadata rewriter

Register name used to load filter: __bsrw__
This filter is not checked during graph resolution and needs explicit loading.
Expand Down Expand Up @@ -90,7 +90,7 @@ The filter will work in passthrough mode for all other codecs and media types.
<a id="rmsei" data-level="basic">__rmsei__</a> (bool, default: _false_, updatable): remove SEI messages from bitstream for AVC|H264, HEVC and VVC
</div>
<div markdown class="option">
<a id="vidfmt" data-level="basic">__vidfmt__</a> (enum, default: _-1_, updatable): video format for AVC|H264, HEVC and VVC (component|pal|ntsc|secam|mac|undef)
<a id="vidfmt" data-level="basic">__vidfmt__</a> (sint, default: _-1_, Enum: component|pal|ntsc|secam|mac|undef, updatable): video format for AVC|H264, HEVC and VVC
</div>


2 changes: 1 addition & 1 deletion docs/Filters/bssplit.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!-- automatically generated - do not edit, patch gpac/applications/gpac/gpac.c -->

# Compressed layered bitstream splitter
# Layered bitstream splitter

Register name used to load filter: __bssplit__
This filter is not checked during graph resolution and needs explicit loading.
Expand Down
2 changes: 1 addition & 1 deletion docs/Filters/btplay.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!-- automatically generated - do not edit, patch gpac/applications/gpac/gpac.c -->

# BT/XMT/X3D loader
# BT/XMT/X3D decoder

Register name used to load filter: __btplay__
This filter may be automatically loaded during graph resolution.
Expand Down
13 changes: 11 additions & 2 deletions docs/Filters/ccdec.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!-- automatically generated - do not edit, patch gpac/applications/gpac/gpac.c -->

# Closed-Caption decoder {:data-level="all"}
# Closed-Caption decoder

Register name used to load filter: __ccdec__
This filter is not checked during graph resolution and needs explicit loading.
Expand All @@ -10,5 +10,14 @@ Supported video media types are MPEG2, AVC, HEVC, VVC and AV1 streams.

Only a subset of CEA 608/708 is supported.

No options

# Options {.no-collapse}

<div markdown class="option">
<a id="agg" data-level="basic">__agg__</a> (enum, default: _none_): output aggregation mode

- none: forward data as decoded (default)
- word: aggregate words (separated by a space)
</div>


3 changes: 3 additions & 0 deletions docs/Filters/cecrypt.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,7 @@ If no DRM config file is defined for a given PID, this PID will not be encrypted
<div markdown class="option">
<a id="bk_stats" data-level="basic">__bk_stats__</a> (bool): print number of encrypted blocks to stdout upon exit
</div>
<div markdown class="option">
<a id="bk_skip">__bk_skip__</a> (bool): skip encryption but performs all other tasks (test mode)
</div>

4 changes: 2 additions & 2 deletions docs/Filters/compositor.md
Original file line number Diff line number Diff line change
Expand Up @@ -260,8 +260,8 @@ Whether the setting is applied or not depends on the graphics module and player
<div markdown class="option">
<a id="epow2">__epow2__</a> (bool, default: _true_, updatable): emulate power-of-2 textures for OpenGL (old hardware). Ignored if OpenGL rectangular texture extension is enabled

- yes: video texture is not resized but emulated with padding. This usually speeds up video mapping on shapes but disables texture transformations
- no: video is resized to a power of 2 texture when mapping to a shape
- true: video texture is not resized but emulated with padding. This usually speeds up video mapping on shapes but disables texture transformations
- false: video is resized to a power of 2 texture when mapping to a shape
</div>

<div markdown class="option">
Expand Down
6 changes: 4 additions & 2 deletions docs/Filters/core_logs.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ log_args is formatted as a colon (':') separated list of `toolX[:toolZ]@levelX`
- warning: logs error+warning messages
- info: logs error+warning+info messages
- debug: logs all messages
- strict: exit if error for this log tool and use default log level if tool


`toolX` can be one of:
Expand Down Expand Up @@ -60,10 +61,11 @@ log_args is formatted as a colon (':') separated list of `toolX[:toolZ]@levelX`
- ctime: media and SMIL timing info from composition engine
- interact: interaction messages (UI events and triggered DOM events and VRML route)
- rti: run-time stats of compositor
- all: all tools logged - other tools can be specified afterwards.
- all: all tools logged - other tools can be specified afterwards

The special keyword `ncl` can be set to disable color logs.
The special keyword `strict` can be set to exit at first error.
The special keyword `strict` can be set to exit at first error on any tool.
`levelX` can accept the suffix `+strict` to force strict error only for the given log tool(s).

Example
```
Expand Down
16 changes: 14 additions & 2 deletions docs/Filters/core_options.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ This will use regular network interface and drop packets 100 to 119 on port 1234
<a id="cache">__-cache__</a> (string): cache directory location
</div>
<div markdown class="option">
<a id="proxy">__-proxy__</a> (string): set HTTP proxy server address and port
<a id="proxy">__-proxy__</a> (string): set HTTP proxy server address and port (if no protocol scheme is set, use same as target)
</div>
<div markdown class="option">
<a id="maxrate">__-maxrate__</a> (int): set max HTTP download rate in bits per sec. 0 means unlimited
Expand All @@ -158,7 +158,10 @@ This will use regular network interface and drop packets 100 to 119 on port 1234
<a id="clean-cache" data-level="basic">__-clean-cache__</a>: indicate if HTTP cache should be clean upon launch/exit
</div>
<div markdown class="option">
<a id="cache-size">__-cache-size__</a> (int, default: __100M__): specify cache size in bytes
<a id="cache-size">__-cache-size__</a> (int, default: __100M__): specify maximum cache size on disk in bytes
</div>
<div markdown class="option">
<a id="cache-check">__-cache-check__</a> (int, default: __60__): cache clean interval in seconds, 0 only clean cache at startup
</div>
<div markdown class="option">
<a id="tcp-timeout">__-tcp-timeout__</a> (int, default: __5000__): time in milliseconds to wait for HTTP/RTSP connect before error
Expand All @@ -173,6 +176,9 @@ This will use regular network interface and drop packets 100 to 119 on port 1234
<a id="broken-cert">__-broken-cert__</a>: enable accepting broken SSL certificates
</div>
<div markdown class="option">
<a id="ca-bundle">__-ca-bundle__</a> (string): path to a custom CA certificates bundle file
</div>
<div markdown class="option">
<a id="user-agent">__-user-agent__</a>,__-ua__ (string): set user agent name for HTTP/RTSP
</div>
<div markdown class="option">
Expand Down Expand Up @@ -278,6 +284,9 @@ This will use regular network interface and drop packets 100 to 119 on port 1234
<a id="buffer-units">__-buffer-units__</a> (int, default: __1__): default buffer size in frames when timing is not available
</div>
<div markdown class="option">
<a id="check-props">__-check-props__</a>: check known property types upon assignment and PID vs packet types upon fetch (in test mode, exit with error code 5 if mismatch)
</div>
<div markdown class="option">
<a id="gl-bits-comp">__-gl-bits-comp__</a> (int, default: __8__): number of bits per color component in OpenGL
</div>
<div markdown class="option">
Expand Down Expand Up @@ -361,3 +370,6 @@ This will use regular network interface and drop packets 100 to 119 on port 1234
<div markdown class="option">
<a id="boxdir">__-boxdir__</a> (string): use box definitions in the given directory for XML dump
</div>
<div markdown class="option">
<a id="no-mabr-patch">__-no-mabr-patch__</a>: disable GPAC parsing of patched isom boxes from mabr (will behave like most browsers/players)
</div>
16 changes: 11 additions & 5 deletions docs/Filters/dasher.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!-- automatically generated - do not edit, patch gpac/applications/gpac/gpac.c -->

# DASH and HLS segmenter
# DASH & HLS segmenter

Register name used to load filter: __dasher__
This filter may be automatically loaded during graph resolution.
Expand All @@ -26,7 +26,7 @@ gpac -i file.mp4 reframer:rt=on -o live.mpd:dmode=dynamic


## Template strings
The segmenter uses templates to derive output file names, regardless of the DASH mode (even when templates are not used). The default one is `$File$_dash` for ondemand and single file modes, and `$File$_$Number$` for separate segment files
The segmenter uses templates to derive output file names and folder, regardless of the DASH mode (even when templates are not used). The default one is `$File$_dash` for ondemand and single file modes, and `$File$_$Number$` for separate segment files
Example
```
template=Great_$File$_$Width$_$Number$
Expand All @@ -46,6 +46,7 @@ Standard DASH replacement strings:
- $RepresentationID$: replaced by representation name
- $Time$: replaced by segment start time
- $Bandwidth$: replaced by representation bandwidth.
- $SubNumber[%%0Nd]$: replaced by the segment number in the segment sequence, possibly prefixed with 0

_Note: these strings are not replaced in the manifest templates elements._

Expand All @@ -62,6 +63,8 @@ Additional replacement strings (not DASH, not generic GPAC replacements but may

_Note: these strings are replaced in the manifest templates elements._

Other properties can also be set, see below.

## PID assignment and configuration
To assign PIDs into periods and adaptation sets and configure the session, the segmenter looks for the following properties on each input PID:

Expand Down Expand Up @@ -355,7 +358,7 @@ gpac -i source.mp4 dasher:gencues cecrypt:cfile=roll_seg.xml -o live.mpd
This will allow the encrypter to locate dash boundaries and roll keys at segment boundaries.
Example
```
gpac -i s1.mp4 -i s2.mp4:#CryptInfo=clear:#Period=3 -i s3.mp4:#Period=3 dasher:gencues cecrypt:cfile=roll_period.xml -o live.mpd
gpac -i s1.mp4 -i s2.mp4:#CryptInfo=clear:#Period=2 -i s3.mp4:#Period=3 dasher:gencues cecrypt:cfile=roll_period.xml -o live.mpd
```

If the DRM file uses `keyRoll=period`, this will generate:
Expand Down Expand Up @@ -525,7 +528,7 @@ The segmenter adds the following properties to the output PIDs:
- 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)
- 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>
Expand Down Expand Up @@ -797,7 +800,7 @@ The segmenter adds the following properties to the output PIDs:
<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)
- force: force period switch at each PID reconfiguration instead of absorbing PID reconfiguration (for splicing or ad insertion not using periodID)
- stsd: change period if PID configuration changes unless new configuration was advertised in initial config
</div>

Expand Down Expand Up @@ -831,6 +834,9 @@ The segmenter adds the following properties to the output PIDs:
<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="inband_event" data-level="basic">__inband_event__</a> (bool, default: _false_): insert a default inband event stream in the DASH manifest
</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>

21 changes: 20 additions & 1 deletion docs/Filters/dashin.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!-- automatically generated - do not edit, patch gpac/applications/gpac/gpac.c -->

# MPEG-DASH and HLS client
# DASH & HLS client

Register name used to load filter: __dashin__
This filter may be automatically loaded during graph resolution.
Expand Down Expand Up @@ -254,6 +254,14 @@ When the [dasher](dasher) is used together with this mode, this will force all g
<div markdown class="option">
<a id="groupsel">__groupsel__</a> (bool, default: _no_): select groups based on language (by default all playable groups are exposed)
</div>
<div markdown class="option">
<a id="xas">__xas__</a> (enum, default: _codec_): enable cross adaptation set switching (disabled if [split_as](#split_as) is set)

- no: disabled
- codec: switching across sets only allowed for same codec
- all: switching across sets allowed across any representation types
</div>

<div markdown class="option">
<a id="chain_mode">__chain_mode__</a> (enum, default: _on_): MPD chaining mode

Expand All @@ -268,4 +276,15 @@ When the [dasher](dasher) is used together with this mode, this will force all g
<div markdown class="option">
<a id="bsmerge">__bsmerge__</a> (bool, default: _true_): allow merging of video bitstreams (only HEVC for now)
</div>
<div markdown class="option">
<a id="keep_burl">__keep_burl__</a> (enum, default: _strip_): control BaseURL in manifest

- strip: strip BaseURL (default)
- keep: keep BaseURL
- inject: inject local relative URL before BaseURL value specified by relative_url option
</div>

<div markdown class="option">
<a id="relative_url">__relative_url__</a> (str, default: _./_): relative string to inject before BaseURL when keep_base_url is set to inject
</div>

2 changes: 1 addition & 1 deletion docs/Filters/dtout.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!-- automatically generated - do not edit, patch gpac/applications/gpac/gpac.c -->

# DekTec SDIOut
# DekTec SDI output

Register name used to load filter: __dtout__
This filter may be automatically loaded during graph resolution.
Expand Down
2 changes: 1 addition & 1 deletion docs/Filters/ffavf.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!-- automatically generated - do not edit, patch gpac/applications/gpac/gpac.c -->

# FFmpeg AVFilter
# FFmpeg AV Filter

Register name used to load filter: __ffavf__
This filter is not checked during graph resolution and needs explicit loading.
Expand Down
2 changes: 1 addition & 1 deletion docs/Filters/ffavin.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!-- automatically generated - do not edit, patch gpac/applications/gpac/gpac.c -->

# FFmpeg AV Capture
# FFmpeg AV capture

Register name used to load filter: __ffavin__
This filter may be automatically loaded during graph resolution.
Expand Down
Loading

0 comments on commit caf037b

Please sign in to comment.