forked from jsl/video_editing_poc
Rendering (whole service, driven by source measurements, not constants):
- Orientation-aware geometry: FfmpegClipInspector reads display rotation and
stores effective dims; HighlightFfmpegRenderer.outputGeometry renders portrait
sources portrait and skips the 2.39 letterbox on portrait (landscape unchanged).
- Dynamic exposure: probeSourceLuma measures the frames; exposureNormalizationFilter
maps the mean toward a target; the grade is now exposure-preserving (no crushed
subjects: bowling final went ~63 -> ~100 mean luma).
- Motion-adaptive in-shot push-in (zoompan), amount from per-shot YDIF.
- Audio mix ducks source audio under the generated score so it leads.
- Highlight duration is no longer capped (validator + config).
Automatic director (plans were hand-authored before):
- Tier 1 HighlightMontageDirector: composes the montage from measured motion (YDIF)
and audio-energy (RMS) curves -- setup, continuous action/tension, slow-mo payoff
on the audio climax, resolution button, camera-whip tail trimmed.
- Tier 2 HighlightVisionDirector + tools/vision_caption.py: a local, offline
vision-language model (moondream2) captions the payoff frame and augments the
montage with a semantic overlay ("STRIKE") and scene-informed music; fails soft.
- Wired into the scheduler behind auto-director-enabled / vision-director-enabled
(on in the localpoc profile).
Docs: cinematic-quality-rules.md (R1-R5, R9 both tiers), poc-plan milestones.
Tests: mvn -o verify -> 262 passing, 0 failures.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MPuJXQyAeWpFcTtcnxo1UN
|
||
|---|---|---|
| .. | ||
| alerts.md | ||
| autoscaling-policies.md | ||
| backup-and-restore-validation.md | ||
| cinematic-editing-runbook.md | ||
| cinematic-highlight-acceptance-review.md | ||
| cinematic-highlight-operator-checklist.md | ||
| cinematic-highlight-poc-plan.md | ||
| cinematic-quality-rules.md | ||
| cinematic-video-editing-service-plan.md | ||
| cost-model-by-video-minute.md | ||
| dashboards.md | ||
| dlq-redrive-procedure.md | ||
| ffmpeg-preset-benchmark-baseline.md | ||
| grafana-dashboard-creation-prompt.md | ||
| highlight-rendering-gap-closure-plan.md | ||
| input-folder-scheduler-plan.md | ||
| load-test-signoff.md | ||
| local-cinematic-asset-worker-prompt.md | ||
| local-cv-visual-analysis-guide.md | ||
| object-storage-bandwidth-benchmark-baseline.md | ||
| production-cinematic-ai-director-prompt.md | ||
| production-cinematic-highlight-editing-plan.md | ||
| queue-visibility-timeout-tuning.md | ||
| runbooks.md | ||
| video-clipping-service-implementation-plan.md | ||
| video-clipping-service-planning-prompt.md | ||
| worker-cpu-disk-benchmark-baseline.md | ||