encoder/README.md

61 lines
10 KiB
Markdown

A Dockerfile featuring several video encoding / processing / filtering utilities.
## Build and run
```bash
$ DOCKER_BUILDKIT=1 docker build -t encoder .
$ docker run -it --rm -v /path/to/mount/on/container:/mnt encoder
```
If you want to use newer VapourSynth API4 instead of API3, use this command instead of the first one:
```bash
$ DOCKER_BUILDKIT=1 docker build -t encoder --target encoder-vapoursynth4 .
```
## Included tools
| Tool | Kind | Notes |
|:--------------------------------------------------------------------------------:|:---------------------------:|:---------------------------------------------------------------------------------------------------------------------------------------:|
| [ffmpeg](https://johnvansickle.com/ffmpeg/) | General Tools | static build from latest release. Can be accessed via `$ ffmpeg` |
| [ffmpeg-git](https://johnvansickle.com/ffmpeg/) | General Tools | static build from git snapshot. Can be accessed via `$ ffmpeg-git` |
| [x264 stable](https://code.videolan.org/videolan/x264/-/tree/stable) | H.264 Encoder | x264, the best and fastest H.264 encoder. Can be accessed via `$ x264` |
| [x264 master](https://code.videolan.org/videolan/x264/-/tree/master) | H.264 Encoder | Can be accessed via `$ x264-dev` |
| [x265 3.5](https://bitbucket.org/multicoreware/x265_git/src/3.5/) | H.265 / HEVC Encoder | Can be accessed via `$ x265` |
| [Kvazaar v2.2.0](https://github.com/ultravideo/kvazaar/tree/v2.2.0) | H.265 / HEVC Encoder | Can be accessed via `$ kvazaar` |
| [uvg266 v0.4.1](https://github.com/ultravideo/uvg266/tree/v0.4.1) | H.266 / VVC Encoder | Can be accessed via `$ uvg266` or `$ uvg266-10bit` |
| [vvenc v1.9.0](https://github.com/fraunhoferhhi/vvenc/tree/v1.9.0) | H.266 / VVC Encoder | Fraunhofer Versatile Video Encoder (VVenC). Can be accessed via `$ vvencapp` or `$ vvencFFapp` |
| [VTM 21.2](https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/-/tree/VTM-21.2) | H.266 / VVC Encoder/Decoder | VTM reference software for VVC. Can be accessed via `$ VTMEncoder` or `$ VTMDecoder` |
| [aom v3.7.0-rc1](https://aomedia.googlesource.com/aom/+/refs/tags/v3.7.0-rc1/) | AV1 Encoder/Decoder | Can be accessed via `$ aomenc` or `$ aomdec` |
| [SVT-AV1 v1.6.0](https://gitlab.com/AOMediaCodec/SVT-AV1/-/releases/v1.6.0) | AV1 Encoder/Decoder | Can be accessed via `$ SvtAv1EncApp` or `$ SvtAv1DecApp` |
| [rav1e p20230815](https://github.com/xiph/rav1e/tree/p20230815) | AV1 Encoder | Can be accessed via `$ rav1e` |
| [Av1an 0.4.1](https://github.com/master-of-zen/Av1an/tree/0.4.1) | Encoding Tools | Cross-platform command-line AV1 / VP9 / H.265 / H.264 encoding framework with per scene quality encoding. Can be accessed via `$ av1an` |
| [xeve v0.4.3-3890dae6](https://github.com/mpeg5/xeve/tree/v0.4.3-3890dae6) | MPEG-5 EVC Encoder | eXtra-fast Essential Video Encoder, MPEG-5 EVC (Essential Video Coding). Can be accessed via `$ xeveb` or `$ xeve` |
| [revc master](https://github.com/revcx/revc/tree/master) | MPEG-5 EVC Encoder/Decoder | Can be accessed via `$ revce` or `$ revcd` |
| [VapourSynth R55-API3](https://github.com/vapoursynth/vapoursynth/tree/R55-API3) | Processing Tools | VapourSynth API3. Can be accessed via `$ vspipe` |
| [VapourSynth R62](https://github.com/vapoursynth/vapoursynth/tree/R62) | Processing Tools | VapourSynth API4. Can be accessed via `$ vspipe`. Requires using custom docker build target command. |
| [FDK-AAC master](https://github.com/mstorsjo/fdk-aac) | AAC-LC/HE/HEv2 Encoder | Fraunhofer FDK AAC code from Android. Can be accessed via `$ aac-enc` |
| [Sushi](https://github.com/FichteFoll/Sushi) | Subtitle Syncing | Automatic shifter for SRT and ASS subtitle based on audio streams. Can be accessed via `$ sushi` |
| [vmaf v2.3.1](https://github.com/Netflix/vmaf/tree/v2.3.1) | Processing Tools | Perceptual video quality assessment based on multi-method fusion. Can be accessed via `$ vmaf` |
| [MKVToolNix 78.0](https://gitlab.com/mbunkus/mkvtoolnix/-/tree/release-78.0) | Matroska Tools | Creating and working with Matroska files. |
| [MediaInfo v23.07](https://github.com/MediaArea/MediaInfo/tree/v23.07) | General Tools | Convenient unified display of the most relevant technical and tag data for video and audio files. |
## VapourSynth API3 Extras
| Tool | Kind | Notes |
|:------------------------------------------------------------------------------------------------------------------------------------:|:---------:|:---------------------------------------------------------------------------------------------:|
| [VapourSynth-TDeintMod r10.1](https://github.com/HomeOfVapourSynthEvolution/VapourSynth-TDeintMod/tree/r10.1) | Plugin | TDeint filter for VapourSynth |
| [fmtconv r28](https://github.com/EleonoreMizo/fmtconv/tree/r28) | Plugin | Format conversion tools for Vapoursynth and Avisynth+ |
| [vapoursynth-mvtools](https://github.com/dubhater/vapoursynth-mvtools/tree/v23) | Plugin | Motion compensation and stuff |
| [VapourSynth-FFT3DFilter 64323f0](https://github.com/myrsloik/VapourSynth-FFT3DFilter/tree/64323f0fdee4dd4fe429ee6287906dbae8e7571c) | Plugin | VapourSynth port of FFT3DFilter |
| [znedi3 r2.1](https://github.com/sekrit-twc/znedi3/tree/r2.1) | Plugin | nnedi3 filter |
| [descale r7](https://github.com/Irrational-Encoding-Wizardry/descale/tree/r7) | Plugin | VapourSynth plugin to undo upscaling |
| [flash3kyuu_deband](https://github.com/SAPikachu/flash3kyuu_deband) | Plugin | A deband library and filter for avisynth/vapoursynth |
| [VapourSynth-BM3D r9](https://github.com/HomeOfVapourSynthEvolution/VapourSynth-BM3D/tree/r9) | Plugin | BM3D denoising filter for VapourSynth |
| [VapourSynth-DFTTest r7](https://github.com/HomeOfVapourSynthEvolution/VapourSynth-DFTTest/tree/r7) | Plugin | DFTTest filter for VapourSynth |
| [VapourSynth-Yadifmod r10.1](https://github.com/HomeOfVapourSynthEvolution/VapourSynth-Yadifmod/tree/r10.1) | Plugin | Yadifmod filter for VapourSynth |
| [ffms2 ef243a](https://github.com/FFMS/ffms2) | Plugin | An FFmpeg based source library and Avisynth/VapourSynth plugin for easy frame accurate access |
| [havsfunc 3b6a80](https://github.com/HomeOfVapourSynthEvolution/havsfunc) | Functions | Holy's ported AviSynth functions for VapourSynth |
| [mvsfunc 90e185](https://github.com/HomeOfVapourSynthEvolution/mvsfunc) | Functions | mawen1250's VapourSynth functions |
| [fvsfunc 29ced9](https://github.com/Irrational-Encoding-Wizardry/fvsfunc) | Functions | Small collection of VapourSynth functions |
| [muvsfunc 6158bf](https://github.com/WolframRhodium/muvsfunc) | Functions | Muonium's VapourSynth functions |
## VapourSynth API4 Extras
TODO: build new table