Repository navigation
Conversation
Signed-off-by: GUOGUO <xwdong1998@163.com>
Signed-off-by: GUOGUO <xwdong1998@163.com>
Encoded-video handoff update —
|
Signed-off-by: GUOGUO <xwdong1998@163.com>
Signed-off-by: GUOGUO <xwdong1998@163.com>
Signed-off-by: GUOGUO <xwdong1998@163.com>
Encoded-video handoff update —
|
Signed-off-by: GUOGUO <xwdong1998@163.com>
Scope: CUI-03 single-clip audio/video handoff
This PR adds a concrete media-processing helper plus a reusable ComfyUI template for an existing CFR VIDEO and supplied AUDIO.
The scope is a partial CUI-03 contribution for single-clip, constant-frame-rate media. It does not add H3 shot generation, SeedVR2/YuE2 serving APIs, multi-clip orchestration, VFR timestamp preservation or seamless audio crossfades. Fresh remote-producer integration remains pending; this PR stays draft.
Contributor intent (required human answers)
1. What outcome do you want to achieve?
Deliver concrete CUI-03 media handoff behavior requested in #8251: connect H3 video and supplied audio, make trim/loop policies explicit, and preserve original media separately.
2. What is the highest-leverage variable for that outcome?
Reduce graph wiring and manual timing settings for the explicit trim/loop policies requested in CUI-03.
3. How will this work move that variable?
Provide the template plus an Audio to Video Duration node that derives audio length from the video's frame count/rational frame rate. Standard nodes handle extraction, mixing, soundtrack override and saving; the helper fills the short-audio looping/channel-preservation gap requested in #8251.
4. Whose customer or user needs does this address, and what are those needs?
The H3/MV users described in #8251 need original/replacement/mix policies, explicit trim/loop behavior, source timing and independently configured remote services.
Coordination boundary
The video-response decoder is left to #6782/#5905, and SeedVR2 integration to #8505 (CUI-01). This contribution consumes the existing VIDEO/AUDIO contracts. H3 shot generation and YuE2 APIs remain with their assigned tasks.
Purpose
Refs #8251 (CUI-03).
loop,pad,trimpolicies. All policies trim long audio. Short audio loops to fill the video, receives a silent tail, or remains short.The helper targets constant-frame-rate video such as H3 output. Loop joins are hard, without a crossfade. Compatible encoded file inputs copy video packets into the MP4 output; tensor-backed producer outputs still require ComfyUI encoding. This graph cannot recover timing already discarded by a producer. This PR does not implement the assigned H3-03 shot-generation workflow.
Test Plan
vLLM Version: not used by this media-processing path.
vLLM-Omni Commit: base
744d6dae9d7e9b718ea2ff93a62dccc240f93cd6; current head53b1a31b9334a73a2cc4e07e952480f8e63c5dd8.Test Result
core_model and cpuCI selection includes them.06c67806bcb36789a1e8e1278c6a764b389ff858, Python 3.12.13, torch 2.13.0, PyAV 19.0.1. Audio inputs: 0.6 s/mono/44.1 kHz, 1.5 s/stereo/32 kHz, 6 s/stereo/48 kHz; all three policies tested. Assertions check exact PCM repetition/padding/trimming, preserved channels/rates and exported audio duration. Each MP4 retains 107 video frames and 24 FPS.30000/1001FPS and 44.1 kHz audio produces exactly 4,415 samples.ffprobeconfirms all four have 107 video frames at 24 FPS; replacement audio is trimmed to video duration, loop audio fills it, and preserve/mix keep source audio. CPU only, no model service or GPU inference.30000/1001FPS clip, each paired with 0.1 s mono/44.1 kHz and 6 s stereo/32 kHz WAV inputs, across all four output policies. Video packet payloads, PTS, DTS, packet duration, time base, rate, pixel format and color-space fields match the input in every export. Audio rate/channel and replace/loop duration checks passed. The real ComfyUI dynamic-input parser accepts the singlevideos.video0input andcomplete_audiowiring.Source video: an existing MiniMax-H3 Ref2VA output generated on 2026-09-23, checkpoint
428986c4aa5280855b9ac26eff8d1a46b5999cd0, 512×512, 107 frames, 24 FPS, 32 kHz stereo. Its historical generation experiment reported a mismatch against its reference baseline; only the valid, decodable media is reused here. The historical source copy has no available Git revision.Validation covers actual node execution and exported media on CPU. Fresh remote H3/SeedVR2/YuE2 inference remains outside the completed validation, so this PR remains draft.