Skip to content

ayosec/ffmpeg-filters-docs

Repository files navigation

FFmpeg Filters Documentation

The tool in this repository builds an alternative presentation of the official documentation for FFmpeg filters. It aims to be easier to read and easier to navigate.

Open Website

Differences with the Official Documentation

  • Each filter has its own dedicated page.

  • Filters are organized into groups (like Filters / Audio, or Sources / Multimedia).

    The groups are guessed from the section headers in the official documentation.

  • All pages have a search box to jump to another filter.

    It can be focused by pressing the key /, and then use arrows (, ) to select one of the results.

    The filter's description in the search results is the first sentence of its documentation.

  • Many code snippets are rendered with syntax highlighting.

    The highlighting is inferred from the content, so it may not work in some cases. The official documentation does not specify the language in which the snippets are written.

  • Responsive design for smaller screens.

  • Dark and light themes.

  • Documentation for all major.minor versions, under Other Vers. in the sidebar.

    This is helpful when you have to use an older version of FFmpeg.

  • The Version Matrix shows which filters are available in each FFmpeg version.

Usage

The documentation can be read in GitHub Pages, and it is possible to build it locally.

Nix Flakes

The recommended way to run the generator is with nix run:

$ nix run github:ayosec/ffmpeg-filters-docs

The tool accepts some command-line arguments (see --help). For example, to build only the documentation for FFmpeg 7.1 in the path /tmp/ffdocs:

$ nix run github:ayosec/ffmpeg-filters-docs -- --versions 7.1 --output /tmp/ffdocs

To execute the tool from a copy of this repository:

$ nix develop --command ./ffmpeg-filters-docs […]

Docker

A Docker image is published to GitHub Packages:

$ docker run --rm -v /tmp/ffdocs:/out ghcr.io/ayosec/ffmpeg-filters-docs --output /out

To run a local checkout of the repository (for example, to test changes in the implementation), replace the /app directory:

$ docker run --rm -v /tmp/ffdocs:/out -v "$PWD:/app" ghcr.io/ayosec/ffmpeg-filters-docs --output /out

The image can be built locally with the file docker/Dockerfile:

$ docker build --tag ffmpeg-filters-docs --file docker/Dockerfile .