Advanced Topics
Proxy Files
Proxy files are lower-resolution versions of your media that enable faster editing workflows while keeping full-quality masters in the repository.
What Are Proxies?
Proxies are lightweight versions of video files used during editing:
Proxy Workflow Overview
1. Add full-quality masters to repository
$ dits add footage/*.mov
2. Generate proxies
$ dits proxy-gen footage/
3. Work with proxies (edit, review, collaborate)
$ dits proxy-use
→ Now footage/ shows proxy files
4. Switch to masters for final render
$ dits proxy-unuse
→ Now footage/ shows full-quality mastersGenerating Proxies
Basic Generation
# Generate proxies for all video files
$ dits proxy-gen footage/
Generating proxies...
footage/scene1.mov → proxies/scene1.mov (720p H.264)
footage/scene2.mov → proxies/scene2.mov (720p H.264)
footage/scene3.mov → proxies/scene3.mov (720p H.264)
Generated 3 proxies (45 GB → 1.2 GB)Custom Settings
# Custom resolution
$ dits proxy-gen --resolution 1280x720 footage/
# Custom codec
$ dits proxy-gen --codec prores-proxy footage/
# Custom bitrate
$ dits proxy-gen --bitrate 5M footage/
# All options
$ dits proxy-gen \
--resolution 1920x1080 \
--codec h264 \
--bitrate 8M \
--fps preserve \
footage/Proxy Presets
# Use a preset
$ dits proxy-gen --preset editing footage/ # 720p H.264
$ dits proxy-gen --preset review footage/ # 1080p H.264
$ dits proxy-gen --preset mobile footage/ # 480p H.264
# Define custom preset in config
[proxy.preset "dailies"]
resolution = 1920x1080
codec = h264
bitrate = 10M
audio = aac-256k
$ dits proxy-gen --preset dailies footage/Using Proxies
Switch to Proxies
# Enable proxy mode
$ dits proxy-use
Switching to proxy mode...
Linking footage/scene1.mov → proxies/scene1.mov
Linking footage/scene2.mov → proxies/scene2.mov
Linking footage/scene3.mov → proxies/scene3.mov
Proxy mode enabled. Original files preserved in .dits/masters/
# Check status
$ dits proxy-status
Mode: PROXY
Files linked: 3
Original size: 45 GB
Proxy size: 1.2 GBSwitch to Masters
# Disable proxy mode
$ dits proxy-unuse
Switching to master mode...
Restoring footage/scene1.mov (15 GB)
Restoring footage/scene2.mov (15 GB)
Restoring footage/scene3.mov (15 GB)
Master mode enabled.Partial Proxy Mode
# Only use proxies for specific files
$ dits proxy-use footage/scene1.mov footage/scene2.mov
# Use proxies for a directory
$ dits proxy-use footage/b-roll/
# Keep specific files as masters
$ dits proxy-use --except footage/hero-shot.movConfiguration
# .dits/config
[proxy]
# Default proxy resolution
resolution = 1280x720
# Default codec
codec = h264
# Default bitrate
bitrate = 5M
# Proxy storage location
path = .dits/proxies
# Auto-generate on add
autoGenerate = false
# Audio handling
audioCodec = aac
audioBitrate = 192kProxy Attributes
Control proxy generation per file pattern:
# .ditsattributes
# Generate proxies for raw footage
footage/*.mov proxy=auto
footage/*.mxf proxy=auto
# Higher quality proxies for hero shots
footage/hero-*.mov proxy=auto proxy-preset=review
# Don't generate proxies for already-compressed files
renders/*.mp4 proxy=none
# Custom proxy settings
*.r3d proxy=auto proxy-resolution=1920x1080 proxy-codec=prores-proxyRemote Workflows
Proxies are especially valuable for distributed teams:
Scenario: Remote Editor
# On-set (full masters available)
$ dits add footage/*.mov
$ dits proxy-gen footage/
$ dits commit -m "Day 1 footage with proxies"
$ dits push
# Remote editor (limited bandwidth)
$ dits clone --proxy-only https://example.com/project
Cloning into 'project'...
Fetching proxies... 1.2 GB
(Masters: 45 GB available on-demand)
# Editor works with proxies
$ cd project
$ ls footage/
scene1.mov (proxy) scene2.mov (proxy) scene3.mov (proxy)
# Edit in NLE using proxy files...
# For final render, fetch masters for specific clips
$ dits proxy-unuse footage/scene1.mov
Hydrating footage/scene1.mov... 15 GBScenario: Review and Approval
# Generate review proxies
$ dits proxy-gen --preset review footage/
# Share proxy-only branch
$ dits switch -c review-v1
$ dits proxy-use
$ dits push origin review-v1
# Client clones proxy-only
$ dits clone --proxy-only --branch review-v1 https://example.com/projectCommands Reference
dits proxy-gen
$ dits proxy-gen [OPTIONS] <PATH>...
Options:
--resolution <WxH> Output resolution (default: 1280x720)
--codec <CODEC> Video codec (h264, prores-proxy, dnxhr-lb)
--bitrate <RATE> Target bitrate (e.g., "5M")
--preset <NAME> Use named preset
--force Regenerate existing proxies
--output <DIR> Custom output directorydits proxy-use
$ dits proxy-use [OPTIONS] [PATH]...
Options:
--except <PATH> Exclude files from proxy mode
--force Overwrite local changesdits proxy-unuse
$ dits proxy-unuse [OPTIONS] [PATH]...
Options:
--keep-proxies Don't delete local proxy files
--no-hydrate Don't download masters (just unlink)dits proxy-status
$ dits proxy-status
Mode: PROXY
Files:
footage/scene1.mov PROXY (720p, 45MB) → MASTER (4K, 15GB)
footage/scene2.mov PROXY (720p, 42MB) → MASTER (4K, 14GB)
footage/scene3.mov MASTER (4K, 16GB)
Totals:
Proxy files: 2 (87 MB)
Master files: 1 (16 GB)
Unmaterialized masters: 2 (29 GB)NLE Compatibility
Proxies are stored with the same relative paths and filenames as masters. Most NLEs (Premiere, Resolve, FCPX) can switch between them using their built-in proxy toggle features.