in03 / proxima

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

Ffmpeg encoding configuration structure needs work #216

Open in03 opened 2 years ago

in03 commented 2 years ago

Before we introduce multiple presets, we really need to figure out how best to structure ffmpeg settings in YAML (or eventually TOML):

proxy:
  ffmpeg_loglevel: error # "quiet", "panic", "fatal", "error", "warning", "info", "verbose", "debug"
  codec: prores
  vertical_res: "720"
  profile: "0" #422 proxy
  pix_fmt: yuv422p
  audio_codec: pcm_s16le
  audio_samplerate: "48000"
  misc_args: [-hide_banner, -stats]
  ext: .mov

This works for our DNxHD preset, but it's completely restrictive. misc_args for example gives no clue as to where in the command structure the args are inserted? At the end? Beginning? Before or after -i or -o? That all plays a huge part in how the command is intepreted.

We do want to keep the syntax simple, but we can't really simplify or abstract ffmpeg commands without losing flexibility. Let's look into how others are doing this for inspiration.