Return None for scores_list when scores_info input is not connected,
and skip writing score metadata in that case for both images and videos.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Write metadata to a temp file and pass via -i/-map_metadata instead of
command-line -metadata flags to avoid OS argument length limits with
large ComfyUI workflow JSON.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace communicate() with direct stderr.read() + wait() to avoid
double-closing stdin. Catch BrokenPipeError for early ffmpeg exits.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Writes sharpness scores (avg + per-frame) and optionally the ComfyUI
workflow/prompt as ffmpeg container metadata in mp4/webm files.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Adds mp4 (H.264) and webm (VP9) output formats with configurable FPS,
CRF, and pixel format. Includes auto-discovery of ffmpeg from bundled
binary, imageio_ffmpeg, system PATH, or automatic static download.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>