| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- {
- "schema": "claude-mods.ffmpeg-ops.encoding-presets/v1",
- "updated": "2026-06-12",
- "note": "Recipe data the agent queries instead of re-deriving. Args are ffmpeg argv fragments; {input}/{output} are placeholders. Social specs drift - check the 'updated' stamp and the platform's current docs before trusting a target older than ~6 months.",
- "delivery": {
- "web_h264": {
- "use": "Default web/share delivery - universal playback",
- "args": "-c:v libx264 -crf 20 -preset slow -pix_fmt yuv420p -c:a aac -b:a 192k -movflags +faststart",
- "container": "mp4"
- },
- "web_h264_small": {
- "use": "Size-sensitive H.264 (email, chat upload caps)",
- "args": "-c:v libx264 -crf 24 -preset slow -pix_fmt yuv420p -vf scale=-2:720 -c:a aac -b:a 128k -movflags +faststart",
- "container": "mp4"
- },
- "hevc_storage": {
- "use": "Personal library/storage - ~40% smaller, modern devices",
- "args": "-c:v libx265 -crf 24 -preset slow -tag:v hvc1 -pix_fmt yuv420p -c:a aac -b:a 160k -movflags +faststart",
- "container": "mp4"
- },
- "av1_web": {
- "use": "Best compression for web-first targets; encode cost highest",
- "args": "-c:v libsvtav1 -crf 32 -preset 6 -pix_fmt yuv420p10le -c:a libopus -b:a 128k",
- "container": "webm"
- },
- "archive_ffv1": {
- "use": "Lossless preservation master (archival standard)",
- "args": "-c:v ffv1 -level 3 -g 1 -slicecrc 1 -c:a flac",
- "container": "mkv"
- },
- "normalize_source": {
- "use": "Fix problem sources (HEVC/VFR/Zoom/Loom) before editing",
- "args": "-c:v libx264 -crf 18 -preset fast -pix_fmt yuv420p -fps_mode cfr -r 30 -c:a aac -b:a 192k -ar 48000",
- "container": "mp4"
- }
- },
- "audio": {
- "podcast_opus": {
- "use": "Voice distribution - best codec per bit",
- "args": "-vn -c:a libopus -b:a 32k -ac 1 -application voip"
- },
- "music_opus": {
- "use": "Music/general audio",
- "args": "-vn -c:a libopus -b:a 128k"
- },
- "stt_prep": {
- "use": "Whisper-family input - 16 kHz mono PCM",
- "args": "-vn -ac 1 -ar 16000 -c:a pcm_s16le",
- "container": "wav"
- },
- "loudness_targets_lufs": {
- "streaming_platforms": -14,
- "podcast": -16,
- "ebu_r128_broadcast": -23
- }
- },
- "social": {
- "_note": "Specs as of the 'updated' stamp. aspect = canvas; fit landscape sources with the blurred-pad pattern in SKILL.md.",
- "youtube_standard": {
- "aspect": "16:9", "resolution": "1920x1080", "fps_max": 60,
- "args": "-c:v libx264 -crf 19 -preset slow -pix_fmt yuv420p -c:a aac -b:a 192k -ar 48000 -movflags +faststart"
- },
- "youtube_shorts": {
- "aspect": "9:16", "resolution": "1080x1920", "duration_max_s": 180,
- "args": "-c:v libx264 -crf 20 -preset slow -pix_fmt yuv420p -c:a aac -b:a 192k -movflags +faststart"
- },
- "instagram_reel": {
- "aspect": "9:16", "resolution": "1080x1920", "duration_max_s": 900, "fps_max": 60,
- "args": "-c:v libx264 -crf 21 -preset slow -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart"
- },
- "tiktok": {
- "aspect": "9:16", "resolution": "1080x1920", "duration_max_s": 600,
- "args": "-c:v libx264 -crf 21 -preset slow -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart"
- },
- "twitter_x": {
- "aspect": "16:9 or 1:1", "resolution": "1920x1080", "duration_max_s": 140, "size_max_mb": 512,
- "args": "-c:v libx264 -crf 22 -preset slow -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart"
- }
- },
- "gif": {
- "standard": {
- "use": "README/PR demo GIF - palettegen quality at sane size",
- "filter": "fps=12,scale=480:-1:flags=lanczos,split[s0][s1];[s0]palettegen=max_colors=128[p];[s1][p]paletteuse=dither=bayer:bayer_scale=4"
- }
- }
- }
|