Files
gwutilz/gwencoder/docs/reference/FLAG_REFERENCE.md
2026-03-23 15:48:34 -07:00

162 lines
5.5 KiB
Markdown
Executable File

# GWEncoder Flag Reference Guide
Complete reference for all command-line flags available in GWEncoder.
## Encoding Modes
| Flag | Description | Container | CRF | Preset | Audio |
|------|-------------|-----------|-----|--------|-------|
| `--fast` | Daily driver, quick turnaround | MKV | 28 | 10 | Opus 64kbps/ch |
| `--web` | Streaming, Discord, web upload | WEBM | 35 | 10 | Opus 64kbps/ch |
| `--tiny` | Maximum compression | MP4 | 42 | 8 | Opus 48kbps/ch |
| `--hq` | High quality archival | MKV | 22 | 6 | Opus 96kbps/ch |
| `--slow` | Best possible quality | MKV | 18 | 4 | Opus 128kbps/ch |
| `--full` | Full interactive mode | - | - | - | - |
## Codec Options
| Flag | Description | Notes |
|------|-------------|-------|
| `--x264` | Use H.264/x264 codec | Widely compatible |
| `--nvhevc` | Use NVIDIA NVENC HEVC | Requires NVIDIA GPU |
## AV1 Advanced Options
| Flag | Values | Default | Description |
|------|--------|---------|-------------|
| `--av1-preset` | 0-12 | Mode default | Encoding speed (higher = faster) |
| `--av1-crf` | 18-50 | Mode default | Quality (lower = higher quality) |
| `--av1-tune` | 0-2 | 0 | Tune mode (0=VQ, 1=PSNR, 2=SSIM) |
| `--av1-maxrate` | kbps | 0 (unlimited) | Maximum bitrate cap |
| `--av1-disable-tf` | - | false | Disable temporal filtering |
| `--av1-disable-scd` | - | false | Disable scene change detection |
| `--av1-disable-aq` | - | false | Disable adaptive quantization |
| `--av1-10bit` | - | false | Use 10-bit encoding |
| `--av1-film-grain` | 0-50 | -1 (disabled) | Film grain synthesis level |
### AV1 Preset Guide
| Preset | Speed | Quality | Use Case |
|--------|-------|---------|----------|
| 0-2 | Very Slow | Highest | Archival, master copies |
| 4-6 | Slow | High | HQ mode, quality priority |
| 8-10 | Medium | Good | Fast mode, balanced |
| 10-12 | Fast | Lower | Quick encoding, speed priority |
### AV1 CRF Guide
| CRF | Quality | File Size | Use Case |
|-----|---------|-----------|----------|
| 18-22 | Very High | Large | Archival, master copies |
| 24-28 | High | Medium | General use, fast mode |
| 30-35 | Good | Small | Web distribution |
| 38-42 | Lower | Very Small | Maximum compression |
## Audio Options
| Flag | Values | Default | Description |
|------|--------|---------|-------------|
| `--aac` | - | - | Force AAC audio codec |
| `--opus` | - | - | Force Opus audio codec |
| `--abr` | kbps | Mode default | Audio bitrate per channel |
| `--audio-codec` | aac, opus | auto | Target audio codec |
| `--audio-quality` | high, balanced, small | custom | Audio quality preset |
| `--audio-preserve` | - | false | Preserve original channels |
| `--audio-stereo` | - | false | Downmix to stereo |
| `--audio-mono` | - | false | Downmix to mono |
| `--audio-bitrate-per-ch` | kbps | -1 (auto) | Per-channel bitrate |
| `--audio-stereo-bitrate` | kbps | -1 (auto) | Stereo downmix bitrate |
| `--audio-create-downmix` | - | false | Create additional stereo downmix |
### Audio Quality Presets
| Preset | AAC kbps/ch | Opus kbps/ch | Stereo kbps | Use Case |
|--------|-------------|-------------|-------------|----------|
| `high` | 128 | 96 | 256 | High quality archival |
| `balanced` | 80 | 64 | 160 | General use (default) |
| `small` | 64 | 48 | 128 | Maximum compression |
## Stream Options
| Flag | Values | Default | Description |
|------|--------|---------|-------------|
| `--reorder-streams` | - | true | Reorder English streams first |
| `--no-reorder-streams` | - | false | Disable stream reordering |
| `--convert-subs-srt` | - | true | Convert subtitles to SRT |
| `--no-convert-subs-srt` | - | false | Disable subtitle conversion |
| `--extract-subs` | - | false | Extract subtitles to external files |
| `--remove-subs-after-extract` | - | false | Remove embedded subs after extraction |
| `--lang-codes` | codes | eng,en,... | Custom language codes (comma-separated) |
| `--use-cc-extractor` | - | false | Extract closed captions (requires ccextractor) |
| `--embed-extracted-cc` | - | false | Embed extracted CC as subtitle track |
## Video Options
| Flag | Values | Default | Description |
|------|--------|---------|-------------|
| `--maxrate` | kbps | Mode default | Maximum video bitrate |
| `--force-transcode` | - | false | Force transcoding even if already in target codec |
## Information Options
| Flag | Description |
|------|-------------|
| `--help`, `-h` | Show help information |
| `--info` | Show system information |
| `--stats` | Show encoding statistics |
## Flag Combinations
### Common Combinations
**Fast encoding with custom quality**:
```bash
--fast --av1-preset 8 --av1-crf 30
```
**Web distribution with bitrate cap**:
```bash
--web --av1-maxrate 5000
```
**High quality with audio options**:
```bash
--hq --audio-quality high --audio-create-downmix
```
**Maximum compression**:
```bash
--tiny --audio-quality small
```
**With subtitle extraction**:
```bash
--fast --extract-subs --remove-subs-after-extract
```
**With CC extraction**:
```bash
--fast --use-cc-extractor --embed-extracted-cc
```
## Flag Precedence
When multiple flags affect the same setting, the order of precedence is:
1. **Explicit flags** (e.g., `--av1-preset 8`) override mode defaults
2. **Mode defaults** apply when flags are not specified
3. **Container-based defaults** apply for codec selection
## Notes
- All flags are optional except the encoding mode (`--fast`, `--web`, etc.)
- Flags can be combined in any order
- Some flags require values (e.g., `--av1-preset 8`)
- Boolean flags don't require values (e.g., `--force-transcode`)
- Default values are mode-dependent
## Examples
See `README.md` for detailed usage examples.