diff --git a/docs/Filters/Rearchitecture.md b/docs/Filters/Rearchitecture.md index b8f8ebb5..78d52c1d 100644 --- a/docs/Filters/Rearchitecture.md +++ b/docs/Filters/Rearchitecture.md @@ -21,7 +21,7 @@ This was a long process (almost 2 years) resulting in: - moving MP4Client compositor and most of the GF_Terminal internals to a filter - addition of a new application [gpac](gpac_general), whose only purpose is to create and run filter chains - additions of a bunch of filters, including: - - __encoders__ through [FFMPEG](https://ffmpeg.org/) + - __encoders__ through [FFmpeg](https://ffmpeg.org/) - generic pipe and socket input and output - raw audio and video reframers - HEVC tile splitting and merging filters diff --git a/docs/Filters/ffavf.md b/docs/Filters/ffavf.md index 2e19ac96..06a18419 100644 --- a/docs/Filters/ffavf.md +++ b/docs/Filters/ffavf.md @@ -1,13 +1,13 @@ -# FFMPEG AVFilter +# FFmpeg AVFilter Register name used to load filter: __ffavf__ This filter is not checked during graph resolution and needs explicit loading. Filters of this class can connect to each-other. This filter provides libavfilter raw audio and video tools. -See FFMPEG documentation (https://ffmpeg.org/documentation.html) for more details +See FFmpeg documentation (https://ffmpeg.org/documentation.html) for more details To list all supported avfilters for your GPAC build, use `gpac -h ffavf:*`. # Declaring a filter @@ -18,7 +18,7 @@ Example ffavf:f=showspectrum ``` -Unlike other FFMPEG bindings in GPAC, this filter does not parse other libavfilter options, you must specify them directly in the filter chain, and the [f](#f) option will have to be escaped. +Unlike other FFmpeg bindings in GPAC, this filter does not parse other libavfilter options, you must specify them directly in the filter chain, and the [f](#f) option will have to be escaped. Example ``` ffavf::f=showspectrum=size=320x320 or ffavf::f=showspectrum=size=320x320::pfmt=rgb diff --git a/docs/Filters/ffavin.md b/docs/Filters/ffavin.md index 8dd41462..9e1db959 100644 --- a/docs/Filters/ffavin.md +++ b/docs/Filters/ffavin.md @@ -1,12 +1,12 @@ -# FFMPEG AV Capture +# FFmpeg AV Capture Register name used to load filter: __ffavin__ This filter may be automatically loaded during graph resolution. -Reads from audio/video capture devices using FFMPEG. -See FFMPEG documentation (https://ffmpeg.org/documentation.html) for more details. +Reads from audio/video capture devices using FFmpeg. +See FFmpeg documentation (https://ffmpeg.org/documentation.html) for more details. To list all supported grabbers for your GPAC build, use `gpac -h ffavin:*`. # Device identification diff --git a/docs/Filters/ffbsf.md b/docs/Filters/ffbsf.md index f0677205..3bfa30e4 100644 --- a/docs/Filters/ffbsf.md +++ b/docs/Filters/ffbsf.md @@ -1,12 +1,12 @@ -# FFMPEG BitStream filter +# FFmpeg BitStream filter Register name used to load filter: __ffbsf__ This filter is not checked during graph resolution and needs explicit loading. This filter provides bitstream filters (BSF) for compressed audio and video formats. -See FFMPEG documentation (https://ffmpeg.org/documentation.html) for more details +See FFmpeg documentation (https://ffmpeg.org/documentation.html) for more details To list all supported bitstream filters for your GPAC build, use `gpac -h ffbsf:*`. Several BSF may be specified in [f](#f) for different coding types. BSF not matching the coding type are silently ignored. diff --git a/docs/Filters/ffdec.md b/docs/Filters/ffdec.md index 1d24e573..0d9ed510 100644 --- a/docs/Filters/ffdec.md +++ b/docs/Filters/ffdec.md @@ -1,12 +1,12 @@ -# FFMPEG decoder +# FFmpeg decoder Register name used to load filter: __ffdec__ This filter may be automatically loaded during graph resolution. -This filter decodes audio and video streams using FFMPEG. -See FFMPEG documentation (https://ffmpeg.org/documentation.html) for more details. +This filter decodes audio and video streams using FFmpeg. +See FFmpeg documentation (https://ffmpeg.org/documentation.html) for more details. To list all supported decoders for your GPAC build, use `gpac -h ffdec:*`. Options can be passed from prompt using `--OPT=VAL` @@ -14,10 +14,10 @@ The default threading mode is to let libavcodec decide how many threads to use. # Codec Map -The [ffcmap](#ffcmap) option allows specifying FFMPEG codecs for codecs not supported by GPAC. +The [ffcmap](#ffcmap) option allows specifying FFmpeg codecs for codecs not supported by GPAC. Each entry in the list is formatted as `GID@name` or `GID@+name`, with: * GID: 4CC or 32 bit identifier of codec ID, as indicated by `gpac -i source inspect:full` -* name: FFMPEG codec name +* name: FFmpeg codec name * `+': is set and extra data is set and formatted as an ISOBMFF box, removes box header Example diff --git a/docs/Filters/ffdmx.md b/docs/Filters/ffdmx.md index d76b4ef8..fde5938a 100644 --- a/docs/Filters/ffdmx.md +++ b/docs/Filters/ffdmx.md @@ -1,12 +1,12 @@ -# FFMPEG demultiplexer +# 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. +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. diff --git a/docs/Filters/ffenc.md b/docs/Filters/ffenc.md index c32ee51c..01ce1e82 100644 --- a/docs/Filters/ffenc.md +++ b/docs/Filters/ffenc.md @@ -1,12 +1,12 @@ -# FFMPEG encoder +# FFmpeg encoder Register name used to load filter: __ffenc__ This filter may be automatically loaded during graph resolution. -This filter encodes audio and video streams using FFMPEG. -See FFMPEG documentation (https://ffmpeg.org/documentation.html) for more details. +This filter encodes audio and video streams using FFmpeg. +See FFmpeg documentation (https://ffmpeg.org/documentation.html) for more details. To list all supported encoders for your GPAC build, use `gpac -h ffenc:*`. The filter will try to resolve the codec name in [c](#c) against a libavcodec codec name (e.g. `libx264`) and use it if found. diff --git a/docs/Filters/ffmx.md b/docs/Filters/ffmx.md index 23fa0fc3..d5c78101 100644 --- a/docs/Filters/ffmx.md +++ b/docs/Filters/ffmx.md @@ -1,12 +1,12 @@ -# FFMPEG multiplexer +# FFmpeg multiplexer Register name used to load filter: __ffmx__ This filter may be automatically loaded during graph resolution. -Multiplexes files and open output protocols using FFMPEG. -See FFMPEG documentation (https://ffmpeg.org/documentation.html) for more details. +Multiplexes files and open output protocols using FFmpeg. +See FFmpeg documentation (https://ffmpeg.org/documentation.html) for more details. To list all supported multiplexers for your GPAC build, use `gpac -h ffmx:*`.This will list both supported output formats and protocols. Output protocols are listed with `Description: Output protocol`, and the subclass name identifies the protocol scheme. For example, if `ffmx:rtmp` is listed as output protocol, this means `rtmp://` destination URLs are supported. diff --git a/docs/Filters/ffsws.md b/docs/Filters/ffsws.md index 45b03605..44c1745c 100644 --- a/docs/Filters/ffsws.md +++ b/docs/Filters/ffsws.md @@ -1,12 +1,12 @@ -# FFMPEG video rescaler +# FFmpeg video rescaler Register name used to load filter: __ffsws__ This filter may be automatically loaded during graph resolution. Filters of this class can connect to each-other. -This filter rescales raw video data using FFMPEG to the specified size and pixel format. +This filter rescales raw video data using FFmpeg to the specified size and pixel format. ## Output size assignment If [osize](#osize) is {0,0}, the output dimensions will be set to the input size, and input aspect ratio will be ignored. @@ -40,7 +40,7 @@ When sample aspect ratio is kept, the filter will: - for gauss [p1](#p1) tunes the exponent and thus cutoff frequency - for lanczos [p1](#p1) tunes the width of the window function -See FFMPEG documentation (https://ffmpeg.org/documentation.html) for more details +See FFmpeg documentation (https://ffmpeg.org/documentation.html) for more details # Options diff --git a/docs/Filters/filters_properties.md b/docs/Filters/filters_properties.md index a0266fd6..de1598e2 100644 --- a/docs/Filters/filters_properties.md +++ b/docs/Filters/filters_properties.md @@ -507,12 +507,12 @@ prores apcn | ProRes Video 422 STD prores apcs | ProRes Video 422 LT prores ap4x | ProRes Video 4444 XQ prores ap4h | ProRes Video 4444 -ffmpeg | FFMPEG unmapped codec +ffmpeg | FFmpeg unmapped codec tmcd | QT TimeCode vvc 266 h266 | VVC Video vvs1 | VVC Subpicture Video usac xheaac | xHEAAC / USAC Audio -ffv1 | FFMPEG Video Codec 1 +ffv1 | FFmpeg Video Codec 1 dvbs | DVB Subtitles dvbs | DVB-TeleText div3 | MS-MPEG4 V3 diff --git a/docs/Filters/gpac_general.md b/docs/Filters/gpac_general.md index 97ce67f5..b96c69c1 100644 --- a/docs/Filters/gpac_general.md +++ b/docs/Filters/gpac_general.md @@ -7,7 +7,7 @@ _FILTER_: a single filter declaration (e.g., `-i file`, `-o dump`, `inspect`, .. _[LINK]_: a link instruction (e.g., `@`, `@2`, `@2#StreamType=Visual`, ...), see [gpac -h doc](filters_general#explicit-links-between-filters-link). _[options]_: one or more option strings, each starting with a `-` character. - an option using a single `-` indicates an option of gpac (see [gpac -hx](gpac_general#h)) or of libgpac (see [gpac -hx core](core_options)) - - an option using `--` indicates a global filter or meta-filter (e.g. FFMPEG) option, e.g. `--block_size=1000` or `--profile=Baseline` (see [gpac -h doc](core_config#global-filter-options)) + - an option using `--` indicates a global filter or meta-filter (e.g. FFmpeg) option, e.g. `--block_size=1000` or `--profile=Baseline` (see [gpac -h doc](core_config#global-filter-options)) Filter declaration order may impact the link resolver which will try linking in declaration order. Most of the time for simple graphs, this has no impact. However, for complex graphs with no link declarations, this can lead to different results. Options do not require any specific order, and may be present anywhere, including between link statements or filter declarations. diff --git a/docs/Howtos/dash/DASH-Sequences.md b/docs/Howtos/dash/DASH-Sequences.md index e5fc21cb..3deec9f4 100644 --- a/docs/Howtos/dash/DASH-Sequences.md +++ b/docs/Howtos/dash/DASH-Sequences.md @@ -417,8 +417,8 @@ To generate these DASH sequences, several open-source software tools have been u * GPAC/MP4Box to process the BIFS visual data and export it to a raw video track in AVI, * Audacity \[1.3 Beta\] to generate the raw audio track, * x264 \[0.118.2085 8a62835\] for the AVC|H.264 encoding, -* faac \[as included in ffmpeg build\] for AAC encoding, -* LAME \[as included in ffmpeg build\] for MP3 encoding, +* faac \[as included in FFmpeg build\] for AAC encoding, +* LAME \[as included in FFmpeg build\] for MP3 encoding, * GPAC/MP42TS \[REV3926\] for Transport Stream packaging, * GPAC/MP4Box \[REV3926\] for ISOBMF packaging, MPD generation and DASH segmentation (TS and ISOBMFF). diff --git a/docs/Howtos/dash/DASH-intro.md b/docs/Howtos/dash/DASH-intro.md index 54535e2d..e3128179 100644 --- a/docs/Howtos/dash/DASH-intro.md +++ b/docs/Howtos/dash/DASH-intro.md @@ -17,7 +17,7 @@ For more information on content playback: ## Content Generation -If you generate your content with an third-party application such as ffmpeg, make sure all your video qualities use closed GOP and have the same positions for their IDR frames. +If you generate your content with an third-party application such as ```ffmpeg```, make sure all your video qualities use closed GOP and have the same positions for their IDR frames. When using GPAC, this is usually ensure by using the `fintra` option. GPAC can be used to generate both static and live DASH/HLS content. For live cases, GPAC can expose the created files: diff --git a/docs/Howtos/dash/HEVC-Tile-based-adaptation-guide.md b/docs/Howtos/dash/HEVC-Tile-based-adaptation-guide.md index 29c26702..7b6a6fe1 100644 --- a/docs/Howtos/dash/HEVC-Tile-based-adaptation-guide.md +++ b/docs/Howtos/dash/HEVC-Tile-based-adaptation-guide.md @@ -81,7 +81,7 @@ If you want to produce a live feed of tiled video, you can either: GPAC does not have a direct wrapper for Kvazaar, but you can either: -- use a FFmpeg build with Kvazaar enabled (`--enable-libkvazaar` in ffmpeg configure) - check GPAC support using `gpac -h ffenc:libkvazaar` +- use a FFmpeg build with Kvazaar enabled (`--enable-libkvazaar` in FFmpeg's configure) - check GPAC support using `gpac -h ffenc:libkvazaar` - use an external grab+Kvazaar encoding and pipe its output into GPAC. ### Piping encoder output diff --git a/docs/Howtos/encoding.md b/docs/Howtos/encoding.md index 1c632a63..e533a029 100644 --- a/docs/Howtos/encoding.md +++ b/docs/Howtos/encoding.md @@ -30,15 +30,15 @@ You can directly call your preferred encoder rather than letting the link resolv ```gpac -i source.yuv:size=1280x720 ffenc:c=avc -o test.mp4``` -This will explicitly load the FFMPEG encoder to do the job. +This will explicitly load the FFmpeg encoder to do the job. -Note that for `ffenc`, since the filter provides all encoders supported by your FFMPEG build, you may have several choices within FFMPEG itself. To specify the true desired codec rather than the format, use the codec name directly: +Note that for `ffenc`, since the filter provides all encoders supported by your FFmpeg build, you may have several choices within FFmpeg itself. To specify the true desired codec rather than the format, use the codec name directly: ``` gpac -i source.yuv:size=1280x720 enc:c=libx264 -o test.mp4 gpac -i source.yuv:size=1280x720 enc:c=libx264rgb -o test.mp4 ``` -__Warning: Hardware encoders of FFMPEG have not been tested yet!__ +__Warning: Hardware encoders of FFmpeg have not been tested yet!__ ## Transcoding from a non raw video file @@ -53,7 +53,7 @@ As explained previously, the link directive `@` ensures that we do the transcodi ## Setting encoder parameters -Currently, all encoders audio and video in GPAC are using FFMPEG. We therefore only illustrate encoder parameters with the [ffenc](ffenc) filter. +Currently, all encoders audio and video in GPAC are using FFmpeg. We therefore only illustrate encoder parameters with the [ffenc](ffenc) filter. ```gpac -i source.mp4 c=avc:b=2M -o test.avc``` @@ -66,7 +66,7 @@ The above command will encode the video track in `source.mp4` into AVC|H264 at ```gpac -i source.mp4 c=avc::x264-params=no-mbtree:sync-lookahead=0::profile=baseline -o test.avc``` -The above command will encode the video track in `source.mp4` into AVC|H264 and pass two options to ffmpeg encoder: +The above command will encode the video track in `source.mp4` into AVC|H264 and pass two options to FFmpeg encoder: - `x264-params`, with value `no-mbtree:sync-lookahead=0` - `profile`, with value `baseline` @@ -82,11 +82,11 @@ To get a list of all options supported by a given encoder of the ffenc filter, f The above command will encode the video track in `source.mp4` into AVC|H264, converting the source data to YUV 422 8bit planar. __Discussion__ -FFMPEG usually comes with several variations of the same coding type, with different pixel format supported. For example, AVC|H264 encoding can use both `libx264` and `libx264_rgb` encoders. If the source data is decoded into RGB by the decoder, the `ffenc` filter will match the `libx264_rgb` encoder as supporting RGB input and AVC format. The resulting file may be in a profile not supported by most devices ! +FFmpeg usually comes with several variations of the same coding type, with different pixel format supported. For example, AVC|H264 encoding can use both `libx264` and `libx264_rgb` encoders. If the source data is decoded into RGB by the decoder, the `ffenc` filter will match the `libx264_rgb` encoder as supporting RGB input and AVC format. The resulting file may be in a profile not supported by most devices ! Setting the pixel format using [pfmt](ffenc) will make sure you encode in YUV format; alternatively, you can also enforce the encoder used by setting `ffc=libx264`. -_Note: The `pfmt` option is a generic option of all present and future encoders in GPAC, while `ffc` option is specific to FFMPEG encoder._ +_Note: The `pfmt` option is a generic option of all present and future encoders in GPAC, while `ffc` option is specific to FFmpeg encoder._ ## Changing Resolution @@ -110,7 +110,7 @@ The above command will encode the `source.pcm` 48000 Hz stereo signed 16 bit PCM ```gpac -i source.mp4 enc:c=aac -o test.mp4``` -The above command will encode the `source.mp4` audio tracks into AAC, even if the track is already in AAC format, and use FFMPEG `aac` encoder for the job. Note that the `ffc` option will only be used by the ffenc filter. If another filter provides AAC encoding and is used to encode the stream, the `ffc` option will likely be reported as not used by the filter session. +The above command will encode the `source.mp4` audio tracks into AAC, even if the track is already in AAC format, and use FFmpeg `aac` encoder for the job. Note that the `ffc` option will only be used by the ffenc filter. If another filter provides AAC encoding and is used to encode the stream, the `ffc` option will likely be reported as not used by the filter session. ## Changing sample rate diff --git a/docs/Howtos/filters-oneliners.md b/docs/Howtos/filters-oneliners.md index 649830d3..958e9d4a 100644 --- a/docs/Howtos/filters-oneliners.md +++ b/docs/Howtos/filters-oneliners.md @@ -187,7 +187,7 @@ Mux sources to MPEG-2 TS with a target mux rate - _see [filter](m2tsmx)_ gpac -i source:#ServiceID=1 -i source2:#ServiceID=2 -o dst.ts:rate=10m ``` -Mux sources to MKV (for builds with FFMPEG support) - _see [filter](ffmx)_ +Mux sources to MKV (for builds with FFmpeg support) - _see [filter](ffmx)_ ``` gpac -i source -o dst.mkv ``` @@ -249,7 +249,7 @@ Downscale and transcode to AVC 1mbps and aac 128k while monitoring video output gpac -i source ffsws:osize=256x144 enc:c=avc:b=1m enc:c=aac:b=128k -o dst.mp4 vout:vsync=0 ``` -Use two-pass encoding with FFMPEG (libx264 only for GPAC 2.0, all codecs for higher versions) - _see [filter](ffenc)_ +Use two-pass encoding with FFmpeg (libx264 only for GPAC 2.0, all codecs for higher versions) - _see [filter](ffenc)_ ``` #first pass gpac -i source enc:c=avc:b=3m:pass1 -o null @@ -554,7 +554,7 @@ Decode source MP4 enabling only the minimum filters: gpac -blacklist=-fin,mp4dmx,ffdec,vout source.mp4 vout ``` -# FFMPEG support +# FFmpeg support Set gpac as RTMP output server ``` @@ -636,7 +636,7 @@ gpac -i video.mp4:#ffid=dist -i ref.mp4:#ffid=ref \ @@ @@1 ffavf::f='[dist][ref]ssim=f=ssim2.log' @ -o null ``` -SRT session from local file (requires FFMPEG with SRT support) +SRT session from local file (requires FFmpeg with SRT support) ``` #player listening for SRT handshake gpac -play srt://127.0.0.1:1234:gpac:mode=listener @@ -644,7 +644,7 @@ gpac -play srt://127.0.0.1:1234:gpac:mode=listener gpac -i video.mp4 reframer:rt=on -o srt://127.0.0.1:1234:gpac:ffmt=mpegts ``` -SRT session from avgen filter (requires FFMPEG with SRT support) +SRT session from avgen filter (requires FFmpeg with SRT support) ``` #player listening for SRT handshake gpac -play srt://127.0.0.1:1234:gpac:mode=listener diff --git a/docs/Howtos/raw-formats.md b/docs/Howtos/raw-formats.md index bb195ada..2adbdb7b 100644 --- a/docs/Howtos/raw-formats.md +++ b/docs/Howtos/raw-formats.md @@ -50,7 +50,7 @@ Prior to GPAC 2.0, the following command had to be used: The link directive `@` is used to prevent the decoded YUV/RGB data PID to link against the `test.yuv` destination, by enforcing the destination to only accept PIDs coming from `ffsws`, as described in the [general documentation](filters_general#filter-linking-link). GPAC 2.0 and above simplified command line processing to avoid link directives in most cases. -The simplest way to resize a video in GPAC at the current time is to use the ffmpeg-based [rescaler](ffsws). +The simplest way to resize a video in GPAC at the current time is to use the FFmpeg-based [rescaler](ffsws). The [writegen](writegen) filter used in the extraction process can be used to specify an extraction range using its [start](writegen#start) and [dur](writegen#dur) options: diff --git a/docs/Player/Player-Features.md b/docs/Player/Player-Features.md index 31a6bf3e..c47c98bc 100644 --- a/docs/Player/Player-Features.md +++ b/docs/Player/Player-Features.md @@ -93,8 +93,8 @@ Decoders included in default builds: - MPEG-4 AAC, MPEG-1/2 audio, Dolby AC-3 - MPEG-1/2/4, H264|AVC, SVC, HEVC, L-HEVC - AMR speech codec using 3GPP fixed-point reference code -- All codecs supported by FFMPEG -- Xiph Media codecs: Vorbis, Theora (FLAC and Opus supported through FFMPEG) +- All codecs supported by FFmpeg +- Xiph Media codecs: Vorbis, Theora (FLAC and Opus supported through FFmpeg) - SRT / 3GPP timed text / MPEG-4 Streaming Text decoder /WebVTT (rendering done through GPAC) # Networking @@ -127,8 +127,8 @@ Any possible input from GPAC filter architecture is supported by the player. Thi - RFC 3984 for H264/AVC video (only STAP-A, FU-A and regular NAL units) - RFC 7798 for H265|HEVC video (AP, FU and regular NAL units) - - Generic input using FFMPEG libavformat, supports most AV containers known (MPEG, VOB, AVI, MOV ...) and many protocols - - Generic frame grabber FFMPEG libavdevice, supports many capture devices + - Generic input using FFmpeg libavformat, supports most AV containers known (MPEG, VOB, AVI, MOV ...) and many protocols + - Generic frame grabber FFmpeg libavdevice, supports many capture devices # Available plugins ## Audio output diff --git a/docs/aspell_dict_gpac.txt b/docs/aspell_dict_gpac.txt index 775e9bd2..4e6fd91e 100644 --- a/docs/aspell_dict_gpac.txt +++ b/docs/aspell_dict_gpac.txt @@ -204,7 +204,7 @@ tssplit bsrw bssplit bsagg -FFMPEG +FFmpeg ffdmx ffdec rescaler