in03 / proxima

Transcode source media directly from DaVinci Resolve using multiple machines for encoding. Great for creating proxies quickly.
MIT License
50 stars 3 forks source link

Proxy Presets #201

Open in03 opened 2 years ago

in03 commented 2 years ago

Proxy Presets

Yaml codec presets would allows us to set up different settings for different purposes. Like h264 for a project we can send over the internet? Or high quality archival of select takes. We could also do this with Resolve's individual clip export from the delivery page, but to achieve distributed encoding, you'd still need more licenses. That might be of interest to others.

It also means we can preconfigure some ideal default settings that work for different users as good starting points. We can add comments to explain anything unintiutive necessities in the ffmpeg settings, say a ProRes preset for Mac users, DNxHD preset for Windows, h.264/5 for archival (a lot of fiddly settings we can disambiguate).

edit_proxy:
  ffmpeg_loglevel: "error"
  codec: "dnxhd"
  vertical_res: 720
  profile: "dnxhd_sq"
  pix_fmt: "yuv422p"
  audio_codec: "pcm_s16le" 
  audio_samplerate: "48000" 
  misc_args: [-"hide_banner", -"stats"] 
  ext: ".mov"
  threads: 2

portable_proxy:
  ffmpeg_loglevel: "info"
  codec: "x264"
  vertical_res: 1080
  profile: "slow"
  ...
  ext ".mp4"
  threads: "auto" # x264 handles best

portable_archive:
  ffmpeg_loglevel: "info"
  codec: "x265"
  vertical_res: 2160
  profile: "very-slow"
  ...
  ext ".mp4"
  threads: "auto" # x264 handles best

Worker Overrides

# Override queuer settings
overrides:
  # Use wildcard matching
  # Latest overrides
  presets:
    *:
      vertical_res: 720

    *proxy: 
        vertical_res: 1080
        threads: 2

    *archive:
       threads: 1

    portable_proxy:
      threads: 2 # Prioritizes last override
      vertical_res: 720