Skip to main content
Documentation

Proxy Commands

Generate lightweight proxy files for video editing workflows. Proxies enable smooth editing on lower-powered machines while the original high-resolution files remain in the repository.

CommandDescriptionUsage
proxy-generateGenerate proxy files for videosdits proxy-generate [OPTIONS] <PATH>
proxy-statusShow proxy generation statusdits proxy-status [PATH]
proxy-listList all generated proxiesdits proxy-list [OPTIONS]
proxy-deleteDelete generated proxiesdits proxy-delete [OPTIONS] <PATH>

dits proxy-generate

Generate proxy files for video files. Proxies are transcoded to a lower resolution and bitrate for efficient editing and playback.

Synopsis

dits proxy-generate [OPTIONS] &lt;PATH&gt;...

Options

--resolution <RES>    Target resolution (default: 1080p)
                      Options: 720p, 1080p, 1440p, 2160p, half, quarter
--codec <CODEC>       Output codec (default: h264)
                      Options: h264, h265, prores-proxy, prores-lt
--quality <Q>         Quality preset (default: medium)
                      Options: low, medium, high
--output <DIR>        Output directory (default: .dits/proxies)
--parallel <N>        Number of parallel encode jobs
--overwrite           Overwrite existing proxies
--progress            Show encoding progress
-n, --dry-run         Show what would be generated

Examples

# Generate 1080p proxies for all videos in footage/
$ dits proxy-generate footage/

Generating proxies for 12 files...

  [1/12] footage/scene01.mov
         3840x2160 → 1920x1080 (h264)
         Encoding: 100% ████████████████████ done (2m 15s)
         Size: 2.3 GB → 245 MB (89% smaller)

  [2/12] footage/scene02.mov
         ...

Completed: 12 files
Total time: 18m 32s
Space used: 1.8 GB

# Generate 720p proxies for faster editing
$ dits proxy-generate --resolution 720p --quality low footage/

# Generate ProRes Proxy for color-accurate editing
$ dits proxy-generate --codec prores-proxy footage/

# Parallel encoding for faster processing
$ dits proxy-generate --parallel 4 footage/

# Generate for specific file
$ dits proxy-generate footage/hero-shot.mov

# Dry run to see what would be created
$ dits proxy-generate -n footage/

Would generate proxies:
  footage/scene01.mov → .dits/proxies/scene01.mov (est. 245 MB)
  footage/scene02.mov → .dits/proxies/scene02.mov (est. 189 MB)
  ...

Resolution Options

OptionResolutionBest For
720p1280x720Laptops, rough cuts, remote editing
1080p1920x1080Standard editing workstations (default)
1440p2560x1440High-end editing, color grading preview
half50% of originalProportional reduction
quarter25% of originalVery low-power devices, mobile

dits proxy-status

Check the status of proxy generation. Shows which files have proxies, which are pending, and any errors.

Synopsis

dits proxy-status [OPTIONS] [PATH]

Options

--pending           Show only files without proxies
--outdated          Show proxies that need regeneration
--json              Output in JSON format

Examples

# Check overall proxy status
$ dits proxy-status

Proxy Status:

  With proxies:    45 files (12.3 GB → 1.8 GB)
  Without proxies: 3 files (5.2 GB)
  Outdated:        2 files (source modified)

  Storage savings: 85.4%

Files without proxies:
  footage/new-scene.mov (2.1 GB)
  footage/interview-b.mov (1.8 GB)
  footage/drone-shot.mov (1.3 GB)

# Check specific directory
$ dits proxy-status footage/ep01/

# Show only pending files
$ dits proxy-status --pending

Files needing proxy generation:
  footage/new-scene.mov
  footage/interview-b.mov
  footage/drone-shot.mov

Run: dits proxy-generate footage/ to create missing proxies

dits proxy-list

List all generated proxy files with their details and corresponding source files.

Synopsis

dits proxy-list [OPTIONS]

Options

--format <FMT>      Output format (table, json, paths)
--size              Sort by proxy size
--source            Sort by source file
-v, --verbose       Show detailed information

Examples

$ dits proxy-list

Proxies (45 files, 1.8 GB total):

  Source File                    Resolution  Size     Created
  ──────────────────────────────────────────────────────────────
  footage/scene01.mov            1080p       245 MB   2025-01-15
  footage/scene02.mov            1080p       189 MB   2025-01-15
  footage/scene03.mov            1080p       312 MB   2025-01-15
  footage/interview-a.mov        1080p       156 MB   2025-01-14
  ...

# Verbose output with full details
$ dits proxy-list -v

Proxy: footage/scene01.mov
  Source:     footage/scene01.mov
  Source hash: abc123def456...
  Proxy path: .dits/proxies/scene01.mov
  Resolution: 1920x1080 (from 3840x2160)
  Codec:      h264
  Bitrate:    8 Mbps (from 100 Mbps)
  Size:       245 MB (from 2.3 GB)
  Created:    2025-01-15 14:30:00
  ...

dits proxy-delete

Delete proxy files to free up space. Proxies can be regenerated at any time.

Synopsis

dits proxy-delete [OPTIONS] &lt;PATH&gt;...

Options

--all               Delete all proxies
--outdated          Delete only outdated proxies
--older-than <AGE>  Delete proxies older than specified age
-n, --dry-run       Show what would be deleted
-f, --force         Don't prompt for confirmation

Examples

# Delete proxy for specific file
$ dits proxy-delete footage/scene01.mov

Delete proxy for footage/scene01.mov (245 MB)? [y/N] y
Deleted.

# Delete all proxies
$ dits proxy-delete --all

This will delete 45 proxies (1.8 GB).
Continue? [y/N] y

Deleting proxies... done
Freed 1.8 GB

# Delete outdated proxies only
$ dits proxy-delete --outdated

Deleting 2 outdated proxies (312 MB)... done

# Delete proxies older than 30 days
$ dits proxy-delete --older-than 30d

# Dry run
$ dits proxy-delete -n --all

Would delete:
  .dits/proxies/scene01.mov (245 MB)
  .dits/proxies/scene02.mov (189 MB)
  ...

Total: 1.8 GB would be freed

Proxy Workflow

# Typical proxy editing workflow:

1. Clone repository (metadata only for speed)
   $ dits clone --filter blob:none project-url

2. Generate proxies for files you'll edit
   $ dits proxy-generate --resolution 1080p footage/

3. Edit using proxy files in your NLE
   # Open .dits/proxies/scene01.mov instead of footage/scene01.mov

4. When ready for final export, relink to originals
   $ dits checkout --no-proxy  # Ensure originals are available
   # Relink in NLE to footage/scene01.mov

5. Export at full quality from original files

Related Commands

Related Topics