DL

dreamers-laboratory/video-input-to-modern-llm

API development

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

85 stars Качество 59 Тренд 22Apache-2.0

Дайте LLM глаза на видео, не выдувая окно контекста: выборка кадра ffmpeg при выбранном разрешении, оценки токенов на семейство моделей, бюджетная арматура, контактные листы.

Обзор

Модель не может смотреть видео. Он может смотреть на кадры, и каждый кадр стоит токенов, имеет ли это значение. Это навык плюс два сценария, которые делают выбор фреймов преднамеренным: выборка с ffmpeg в названном вами разрешении, оценка стоимости токена до того, как что-либо будет прикреплено, и подгонка бюджета по счету фреймов против разрешения. Работает как навык кода Клода, навык Кодекса или простые инструкции для любого агента, который может запускать сценарий. Нужны ffmpeg и ffprobe на PATH, ничего больше. Каждый кадр имеет свою временную метку, сожженную в углу и указанную в manifest.json с ее размерами и расчетными токенами на семейство моделей. Контактные листы помещают кадры в одно изображение для дешевого первого взгляда. Затем измерьте то, что вы собираетесь прикрепить: Оценки используют опубликованные правила размера каждого провайдера: пиксели Anthropic ÷ 750 после его собственной шкалы, правило 512-px плитки OpenAI (170 на плитку + 85) и правило патча 32-px (состоит из 1536 патчей). Это оценки. Measure tokens.

Обзор (машинный перевод)

Модель не может смотреть видео. Он может смотреть на кадры, и каждый кадр стоит токенов, имеет ли это значение. Это навык плюс два сценария, которые делают выбор фреймов преднамеренным: выборка с ffmpeg в названном вами разрешении, оценка стоимости токена до того, как что-либо будет прикреплено, и подгонка бюджета по счету фреймов против разрешения.

Работает как навык кода Клода, навык Кодекса или простые инструкции для любого агента, который может запускать сценарий. [[Т]], [[Т1]], [[Т]], [[Т]], [[Т]], [[Т]], [[Т]], [[Т]], [[Т]], [[Т]]].

##Установка

Используйте

Каждый кадр имеет свою временную метку, сожженную в углу и указанную в manifest.json с его размерами и расчетными токенами на семейство моделей. Контактные листы помещают кадры в одно изображение для дешевого первого взгляда.

Затем измерьте то, что вы собираетесь прикрепить:

##Кнопки

Флаг — что это такое [скрыто] [скрыто] [[Т3]] | один кадр каждые S секунд --mode fps N | N кадров в секунду | | --mode scene --scene-threshold T | кадры, в которых изображение изменяется; нижний Т находит больше разрезов | --mode keyframes | I-кадры кодера, быстрый грубый проход | --resolution low\|medium\|high\|full | длинная сторона 512, 768, 1024 или родная; никогда не высококлассные |

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

video-input-to-modern-llm

A model cannot watch a video. It can look at frames, and every frame costs tokens whether or not it mattered. This is a skill plus two scripts that make the choice of frames deliberate: sample with ffmpeg at a resolution you name, estimate the token cost before anything is attached, and fit a budget by trading frame count against resolution.

Works as a Claude Code skill, a Codex skill, or plain instructions for any agent that can run a script. Needs ffmpeg and ffprobe on PATH, nothing else.

Install

git clone 
cp -r video-input-to-modern-llm ~/.claude/skills/video-input-to-modern-llm   # or ~/.codex/skills/

Use

python3 scripts/sample_video.py demo.mp4 --out /tmp/frames \
  --mode scene --resolution low --sheet 4 --token-budget 3000 --model-family claude
demo.mp4: 1920x1080 30.0 fps 00:04:12.40
mode=scene resolution=low -> 15 frames at 512x288 in /tmp/frames/
tokens (frames): claude~2955  openai-tile~3825  openai-patch~2160
tokens (sheets): 1 sheet(s) claude~1842  openai-tile~1445
manifest: /tmp/frames/manifest.json

Every frame has its timestamp burned into the corner and listed in manifest.json with its dimensions and estimated tokens per model family. Contact sheets tile the frames into one image for a cheap first look.

Then meter what you are about to attach:

python3 scripts/measure_tokens.py /tmp/frames/detail
python3 scripts/measure_tokens.py /tmp/frames/detail --exact   # real count via Anthropic's endpoint

The knobs

flag what it does
--mode interval --every S one frame every S seconds
--mode fps N N frames per second
--mode scene --scene-threshold T frames where the picture changes; lower T finds more cuts
--mode keyframes the encoder’s I-frames, a fast rough pass
--resolution low|medium|high|full long side 512, 768, 1024, or native; never upscales
--width PX explicit long side
--max-frames N cap any mode by thinning evenly
--token-budget N --model-family claude|openai fit the budget: fewer frames first, then lower resolution, never silently over
--sheet COLS build COLSxCOLS contact sheets, capped at 1568 px wide
--start S --end S window the video
--audio also write a mono 16 kHz WAV for transcription

Token estimates

Estimates use each provider’s published sizing rules: Anthropic’s pixels ÷ 750 after its own downscale, OpenAI’s 512-px tile rule (170 per tile + 85) and 32-px patch rule (capped at 1536 patches). They are estimates. measure_tokens.py --exact asks Anthropic’s token-counting endpoint for the real number without creating a message. OpenAI has no counting endpoint for images, so those columns stay estimates, and some models apply a multiplier on top of the patch count.

The skill

Открыть полный README на GitHub

Рекомендуемые инструменты

Попробуйте другой запрос или уберите фильтр.

Установка

npx skillfish add dreamers-laboratory/video-input-to-modern-llm
Новичок в MCP? Начните с руководства на mcpskill.org →