Commit Graph
10 Commits
Author SHA1 Message Date
EthanfelandClaude Opus 4.8 dbba6cd5f0 Make NVENC formats encoder-aware with CPU fallback
The nvenc_* formats require an ffmpeg built with NVENC. Static builds
(e.g. johnvansickle, which _get_ffmpeg may resolve) lack it, producing a
cryptic "Unknown encoder 'av1_nvenc'" crash.

- _get_ffmpeg(required_encoder): prefer the first existing ffmpeg that
  actually provides the encoder, so a NVENC-capable system ffmpeg wins
  over a static build.
- save_video: if the hardware encoder is unavailable anywhere, fall back
  to the CPU codec for the same container (av1_nvenc-webm -> VP9 webm,
  etc.) with a loud warning instead of losing the run's output.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 13:52:46 +02:00
EthanfelandClaude Opus 4.8 04be690a15 Add GPU (NVENC AV1) webm format and save_latent toggle to FastAbsoluteSaver
- nvenc_av1-webm: GPU-encoded webm via av1_nvenc (NVENC has no VP9
  encoder); uses libopus since webm rejects AAC audio.
- save_latent boolean gates the latent sidecar write while keeping the
  latent passthrough intact.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 13:41:06 +02:00
Ethanfel 39997b1d34 Pass through fast saver latent 2026-07-07 20:01:45 +02:00
Ethanfel 4b0b4b6c5a Add latent sidecars to fast saver 2026-07-07 15:31:13 +02:00
EthanfelandClaude Opus 4.8 aae0bdf746 Add optional audio input to FastAbsoluteSaver to mux audio into video
Adds an optional AUDIO input that is muxed into the encoded video via
ffmpeg. Writes the waveform to a temp WAV (stdlib wave, no new deps),
adds it as a third ffmpeg input, and maps streams explicitly with a
per-format audio codec (aac/libopus/flac/pcm). Uses -shortest to match
VideoHelperSuite behavior. GIF ignores audio.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 20:07:39 +02:00
EthanfelandClaude Opus 4.6 7f1fc92c54 Group all nodes under JSON Dynamic menu category
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 15:53:31 +01:00
EthanfelandClaude Opus 4.6 b64636c189 Add dynamic widget visibility and per-format pixel formats for FastAbsoluteSaver
Hide/show format-specific widgets (CRF, bitrate, ProRes profile, GIF dither,
pixel format, webp settings) based on selected save_format. Pixel format combo
updates dynamically per codec. Remove hardcoded ffv1 pix_fmt to use widget value.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 15:20:20 +01:00
EthanfelandClaude Opus 4.6 e70127d1a3 Add config-driven video format system with 10 codecs and BT.709 color management
Port video formats from VHS Video Combine: H.265, AV1, GIF, FFV1 lossless,
ProRes, and NVENC hardware-accelerated variants. Replace mp4/webm if-else
branching with a VIDEO_FORMATS config dict. Add proper BT.709 color space
tagging to fix washed-out colors in players.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 13:10:58 +01:00
EthanfelandClaude Opus 4.6 2f4a58f134 Fix video saving overwriting files by adding auto-increment support
save_video was always producing the same filename when use_timestamp was
off, causing each run to overwrite the previous video. Now passes
auto_increment and counter_digits through to save_video, which uses
get_start_index to produce numbered filenames like frame_0001.mp4.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 01:06:45 +01:00
EthanfelandClaude Opus 4.6 aa8e3417d2 Move FastAbsoluteSaver from Sharp-Selector, add metadata PNG sidecar option and optimize
- Move FastAbsoluteSaver node from ComfyUI-Sharp-Selector into this pack
- Add save_metadata_png toggle: embeds workflow in a sidecar PNG for webp/video exports,
  or in the first file for PNG sequences
- Batch GPU->CPU tensor transfer (single sync instead of per-image)
- Remove dead webp exif code and unused variables/imports

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 16:11:26 +01:00