79 lines
5.1 KiB
YAML
79 lines
5.1 KiB
YAML
video-clipping:
|
|
folder-scheduler:
|
|
enabled: ${FOLDER_SCHEDULER_ENABLED:true}
|
|
input-directory: ${FOLDER_SCHEDULER_INPUT_DIRECTORY:./input/source}
|
|
output-directory: ${FOLDER_SCHEDULER_OUTPUT_DIRECTORY:./output/clips}
|
|
processed-directory: ${FOLDER_SCHEDULER_PROCESSED_DIRECTORY:./input/processed}
|
|
rejected-directory: ${FOLDER_SCHEDULER_REJECTED_DIRECTORY:./input/rejected}
|
|
working-directory: ${FOLDER_SCHEDULER_WORKING_DIRECTORY:./input/working}
|
|
poll-interval-ms: ${FOLDER_SCHEDULER_POLL_INTERVAL_MS:5000}
|
|
segment-duration-seconds: 8
|
|
ffmpeg-binary: ffmpeg
|
|
ffprobe-binary: ffprobe
|
|
output-container: mp4
|
|
exact-preset: veryfast
|
|
preserve-input-quality: ${FOLDER_SCHEDULER_PRESERVE_INPUT_QUALITY:true}
|
|
editing:
|
|
enabled: ${VIDEO_EDITING_ENABLED:true}
|
|
project-directory: ${VIDEO_EDITING_PROJECT_DIRECTORY:./output/edit-projects}
|
|
highlight-project-directory: ${VIDEO_EDITING_HIGHLIGHT_PROJECT_DIRECTORY:./output/highlight-projects}
|
|
ffmpeg-binary: ${VIDEO_EDITING_FFMPEG_BINARY:ffmpeg}
|
|
ffprobe-binary: ${VIDEO_EDITING_FFPROBE_BINARY:ffprobe}
|
|
thumbnail-count-per-clip: ${VIDEO_EDITING_THUMBNAIL_COUNT_PER_CLIP:5}
|
|
contact-sheet-columns: ${VIDEO_EDITING_CONTACT_SHEET_COLUMNS:5}
|
|
proxy-enabled: ${VIDEO_EDITING_PROXY_ENABLED:true}
|
|
proxy-width: ${VIDEO_EDITING_PROXY_WIDTH:640}
|
|
scene-detection-threshold: ${VIDEO_EDITING_SCENE_DETECTION_THRESHOLD:0.35}
|
|
minimum-scene-duration-seconds: ${VIDEO_EDITING_MINIMUM_SCENE_DURATION_SECONDS:1.0}
|
|
silence-threshold-db: ${VIDEO_EDITING_SILENCE_THRESHOLD_DB:-35.0}
|
|
silence-minimum-duration-seconds: ${VIDEO_EDITING_SILENCE_MINIMUM_DURATION_SECONDS:0.5}
|
|
target-duration-seconds: ${VIDEO_EDITING_TARGET_DURATION_SECONDS:60}
|
|
output-width: ${VIDEO_EDITING_OUTPUT_WIDTH:1920}
|
|
output-height: ${VIDEO_EDITING_OUTPUT_HEIGHT:1080}
|
|
output-frame-rate: ${VIDEO_EDITING_OUTPUT_FRAME_RATE:30}
|
|
audio-sample-rate: ${VIDEO_EDITING_AUDIO_SAMPLE_RATE:48000}
|
|
video-bitrate: ${VIDEO_EDITING_VIDEO_BITRATE:12000k}
|
|
audio-bitrate: ${VIDEO_EDITING_AUDIO_BITRATE:192k}
|
|
voiceover-provider: ${VIDEO_EDITING_VOICEOVER_PROVIDER:noop}
|
|
loudness-target-i: ${VIDEO_EDITING_LOUDNESS_TARGET_I:-16.0}
|
|
loudness-true-peak: ${VIDEO_EDITING_LOUDNESS_TRUE_PEAK:-1.5}
|
|
loudness-range: ${VIDEO_EDITING_LOUDNESS_RANGE:11.0}
|
|
music-ducking-threshold: ${VIDEO_EDITING_MUSIC_DUCKING_THRESHOLD:0.045}
|
|
music-ducking-ratio: ${VIDEO_EDITING_MUSIC_DUCKING_RATIO:8.0}
|
|
music-ducking-attack-ms: ${VIDEO_EDITING_MUSIC_DUCKING_ATTACK_MS:20}
|
|
music-ducking-release-ms: ${VIDEO_EDITING_MUSIC_DUCKING_RELEASE_MS:250}
|
|
assets:
|
|
music-folder: ${VIDEO_EDITING_ASSETS_MUSIC_FOLDER:./input/highlights/assets/music}
|
|
sfx-folder: ${VIDEO_EDITING_ASSETS_SFX_FOLDER:./input/highlights/assets/sfx}
|
|
fonts-folder: ${VIDEO_EDITING_ASSETS_FONTS_FOLDER:./input/highlights/assets/fonts}
|
|
luts-folder: ${VIDEO_EDITING_ASSETS_LUTS_FOLDER:./input/highlights/assets/luts}
|
|
voiceover-folder: ${VIDEO_EDITING_ASSETS_VOICEOVER_FOLDER:./output/highlight-projects/_voiceover-cache}
|
|
visual-analysis:
|
|
provider: ${VIDEO_EDITING_VISUAL_ANALYSIS_PROVIDER:local-cv} #local-cv or heuristic
|
|
endpoint: ${VIDEO_EDITING_VISUAL_ANALYSIS_ENDPOINT:http://127.0.0.1:8091/v1/analyze-visuals}
|
|
timeout-ms: ${VIDEO_EDITING_VISUAL_ANALYSIS_TIMEOUT_MS:30000}
|
|
fallback-to-heuristic: ${VIDEO_EDITING_VISUAL_ANALYSIS_FALLBACK_TO_HEURISTIC:true}
|
|
local-director:
|
|
enabled: ${VIDEO_EDITING_LOCAL_DIRECTOR_ENABLED:true}
|
|
source-directory: ${VIDEO_EDITING_LOCAL_DIRECTOR_SOURCE_DIRECTORY:./input/editing/source}
|
|
working-directory: ${VIDEO_EDITING_LOCAL_DIRECTOR_WORKING_DIRECTORY:./input/editing/working}
|
|
processed-directory: ${VIDEO_EDITING_LOCAL_DIRECTOR_PROCESSED_DIRECTORY:./input/editing/processed}
|
|
rejected-directory: ${VIDEO_EDITING_LOCAL_DIRECTOR_REJECTED_DIRECTORY:./input/editing/rejected}
|
|
poll-interval-ms: ${VIDEO_EDITING_LOCAL_DIRECTOR_POLL_INTERVAL_MS:5000}
|
|
director-prompt-file-name: ${VIDEO_EDITING_LOCAL_DIRECTOR_PROMPT_FILE_NAME:ai-director-prompt.md}
|
|
expected-plan-file-name: ${VIDEO_EDITING_LOCAL_DIRECTOR_EXPECTED_PLAN_FILE_NAME:edit-plan.json}
|
|
auto-render-when-plan-appears: ${VIDEO_EDITING_LOCAL_DIRECTOR_AUTO_RENDER:false}
|
|
require-approval-before-render: ${VIDEO_EDITING_LOCAL_DIRECTOR_REQUIRE_APPROVAL:true}
|
|
approval-file-name: ${VIDEO_EDITING_LOCAL_DIRECTOR_APPROVAL_FILE_NAME:approved.flag}
|
|
highlight-scheduler:
|
|
enabled: ${VIDEO_EDITING_HIGHLIGHT_SCHEDULER_ENABLED:true}
|
|
source-directory: ${VIDEO_EDITING_HIGHLIGHT_SCHEDULER_SOURCE_DIRECTORY:./input/highlights/source}
|
|
working-directory: ${VIDEO_EDITING_HIGHLIGHT_SCHEDULER_WORKING_DIRECTORY:./input/highlights/working}
|
|
processed-directory: ${VIDEO_EDITING_HIGHLIGHT_SCHEDULER_PROCESSED_DIRECTORY:./input/highlights/processed}
|
|
rejected-directory: ${VIDEO_EDITING_HIGHLIGHT_SCHEDULER_REJECTED_DIRECTORY:./input/highlights/rejected}
|
|
poll-interval-ms: ${VIDEO_EDITING_HIGHLIGHT_SCHEDULER_POLL_INTERVAL_MS:5000}
|
|
|
|
logging:
|
|
level:
|
|
org.example.videoclips.folder: ${FOLDER_SCHEDULER_LOG_LEVEL:INFO}
|