|
1 | 1 | # videer |
2 | 2 |
|
3 | | -FFmpeg batch GUI with AviSynth support for **deinterlacing** and profile configuration that can be used in [* |
4 | | -*frameserving**](https://github.com/satishsampath/frame-server). Created as a replacement for inflexible batch files |
| 3 | +FFmpeg batch GUI with AviSynth+ support for **deinterlacing** and profile configuration that can be used in |
| 4 | +[**frameserving**](https://github.com/satishsampath/frame-server). Created as a replacement for inflexible batch files |
5 | 5 | that do not allow multiple encodings at the same time easily. |
6 | 6 | Videer integrates `QTGMC`, which provides much smoother results than |
7 | 7 | ffmpeg's `yadif`, [see for yourself](https://www.youtube.com/watch?v=jE47A57T5FA). `QTGMC` is the best deinterlacer in |
8 | 8 | existence. Including AI and DaVinci Studio. |
9 | 9 |
|
10 | | -## Notice |
11 | | - |
12 | | -If you are not using a frameserver and are just trying to transcode video with any feature that requires Avisynth+, and are running into issues, you should try with ffms2 enabled. |
| 10 | + |
13 | 11 |
|
14 | 12 | ## Why |
15 | 13 |
|
16 | 14 | FFmpeg is a superior command line video encoding tool. Videer serves as a GUI for it. |
17 | 15 |
|
18 | | -## New features: |
19 | | - |
20 | | -- Multithreading using `SetFilterMTMode` |
21 | | -- AviSynth+ |
22 | | -- 64bit Implementation |
23 | | -- Matroska format as it is the only one to support `pgssub` |
24 | | -- CUDA GPU acceleration support |
25 | | -- Live queue: add files or drag-drop while encoding is running — new files are appended and processed without restarting |
26 | | -- Optional resolution scaling (2160p → 360p presets or custom W×H, "never upscale" guard, selectable lanczos/bicubic/spline/bilinear/neighbor scaler) |
27 | | -- Deinterlacer choice: `QTGMC` (AviSynth+, Windows) or FFmpeg's `bwdif` / `yadif` (any OS, any input) |
28 | | -- AV1 (SVT-AV1) and VP9 encoders with per-encoder speed presets; NVENC uses the modern `p1`–`p7` presets |
29 | | -- Live progress panel: per-file and total ETA, fps, speed, bitrate, output size, position — parsed from FFmpeg's machine-readable `-progress` output |
30 | | -- Settings sanity check before starting (container/codec mismatches, ignored options, missing AviSynth plugins) |
31 | | -- Cross-platform: runs on Windows, Linux and macOS (AviSynth+/QTGMC features are Windows-only); no shell or PowerShell calls |
32 | | - |
33 | | -## Requirements: |
34 | | - |
35 | | -- [FFmpeg](https://ffmpeg.org/) in the system PATH or next to videer (a Windows build is attached to the [latest release](https://github.com/hclivess/videer/releases/latest) as `ffmpeg.7z`) |
36 | | -- For QTGMC deinterlacing / AviSynth+ processing (Windows): [AviSynth+](https://avs-plus.net/) — the tested MT installer is attached to the [latest release](https://github.com/hclivess/videer/releases/latest) as `AviSynthPlus-MT-r2772.exe` |
37 | | -- No need to install AviSynth plugins, all are bundled in `plugins/` |
38 | | -- Python 3.9+ — on Windows run `run.cmd` (installs `requirements.txt` via pip and starts the app), or manually `pip install -r requirements.txt && python main.py` |
| 16 | +## Notice |
| 17 | + |
| 18 | +If you are not using a frameserver and are just trying to transcode video with any feature that requires AviSynth+, and |
| 19 | +are running into issues, you should try with ffms2 enabled. |
| 20 | + |
| 21 | +## Features |
| 22 | + |
| 23 | +### Queue |
| 24 | + |
| 25 | +- Add files, add folders (recursive), or drag & drop files/folders onto the list; batches are sorted naturally |
| 26 | + (`Tape 1, Tape 2, Tape 10` — not `1, 10, 2`) |
| 27 | +- **Duplicate detection**: a file already in the queue is skipped, even if it is added again under a different spelling |
| 28 | + (relative/absolute path, different letter case, symlink) or appears twice in the same drop. Skipped files are |
| 29 | + reported in the status line. |
| 30 | +- **Live queue**: add or remove files while encoding is running — pending entries are appended/removed without |
| 31 | + restarting; files already processed or in progress cannot be removed |
| 32 | +- Drag entries to reorder; each entry is coloured by state (▶ running, ✔ done, ✖ failed) and shows its VMAF score |
| 33 | + when enabled |
| 34 | +- **Pause / Resume** the whole run (suspends FFmpeg and its children, ETAs are corrected for the pause) and **Stop** |
39 | 35 |
|
40 | | -### Preview: |
| 36 | +### Encoding |
41 | 37 |
|
42 | | - |
| 38 | +- Video: H.264 (x264), H.265/HEVC (x265), AV1 (SVT-AV1), VP9, NVIDIA NVENC H.264/HEVC (`p1`–`p7` presets), ProRes, |
| 39 | + raw, or stream copy; CRF quality and per-encoder speed presets |
| 40 | +- Audio: AAC, MP3, Opus, AC3, FLAC, PCM, or stream copy; bitrate control and optional stereo downmix |
| 41 | +- Containers: MKV (the only one that carries `pgssub`), MP4, AVI, MOV, WebM |
| 42 | +- Deinterlacer choice: `QTGMC` (AviSynth+, Windows) or FFmpeg's `bwdif` / `yadif` (any OS, any input); field order |
| 43 | + and optional frame-rate halving |
| 44 | +- Optional resolution scaling (2160p → 360p presets or custom W×H, "never upscale" guard, lanczos / bicubic / spline / |
| 45 | + bilinear / neighbor scaler) |
| 46 | +- PAR / DAR presets and custom values, with metadata-only or resampling handling |
| 47 | +- AviSynth+ pipeline with `SetFilterMTMode` multithreading, ffms2 source filter, optional raw pre-transcode for |
| 48 | + problematic inputs, and a free-form script box; all required AviSynth plugins are bundled in `plugins/` |
| 49 | +- CUDA GPU acceleration support; 64-bit implementation |
| 50 | +- Extra FFmpeg arguments pass-through; save / load your own presets, plus bundled Web / High Quality / Archive / AV1 |
| 51 | + presets; `defaults.json` support for your own startup defaults |
| 52 | + |
| 53 | +### File handling |
| 54 | + |
| 55 | +- Output is written next to the source as `<name>_<vcodec>_<acodec>_crf<N>_abr<N>[_<res>].<ext>`; timestamps are |
| 56 | + copied from the original |
| 57 | +- **Replace Original Files**: the encode takes over the original filename; the original is kept as `<name>.old<ext>` |
| 58 | +- **Delete Source Files After Processing**: permanently deletes each source right after *its* encode succeeds — one by |
| 59 | + one as the queue progresses, so disk space is freed while long batches are still running. The source is only removed |
| 60 | + when the output exists and is non-empty; files that fail or are stopped keep their source. Combined with *Replace |
| 61 | + Original Files* the `.old` backup is removed too. There is no recycle bin and no undo — the start dialog warns you |
| 62 | + when this is on. |
| 63 | +- Per-file `<name>.log` with the full FFmpeg command line and output; temporary `.avs` / `.ffindex` / `.trans.avi` |
| 64 | + files are cleaned up |
| 65 | + |
| 66 | +### Feedback |
| 67 | + |
| 68 | +- Live progress panel: per-file and total ETA, fps, speed, bitrate, output size, position — parsed from FFmpeg's |
| 69 | + machine-readable `-progress` output |
| 70 | +- Settings sanity check before starting (container/codec mismatches, ignored options, missing AviSynth plugins, |
| 71 | + destructive options) |
| 72 | +- Opt-in VMAF score after encoding (requires `libvmaf` in FFmpeg) |
| 73 | +- Cross-platform: runs on Windows, Linux and macOS (AviSynth+/QTGMC features are Windows-only); no shell or |
| 74 | + PowerShell calls |
| 75 | + |
| 76 | +## Requirements |
| 77 | + |
| 78 | +- [FFmpeg](https://ffmpeg.org/) in the system PATH or next to videer (a Windows build is attached to the |
| 79 | + [latest release](https://github.com/hclivess/videer/releases/latest) as `ffmpeg.7z`) |
| 80 | +- For QTGMC deinterlacing / AviSynth+ processing (Windows): [AviSynth+](https://avs-plus.net/) — the tested MT |
| 81 | + installer is attached to the [latest release](https://github.com/hclivess/videer/releases/latest) as |
| 82 | + `AviSynthPlus-MT-r2772.exe` |
| 83 | +- No need to install AviSynth plugins, all are bundled in `plugins/` |
| 84 | +- Python 3.9+ — on Windows run `run.cmd` (installs `requirements.txt` via pip and starts the app), or manually |
| 85 | + `pip install -r requirements.txt && python main.py`. Prebuilt binaries for Windows / Linux / macOS are attached to |
| 86 | + each release. |
0 commit comments