﻿# Локальный поиск по видео: связать транскрипт и ключевые кадры

Локальный видеопоиск связывает расшифровку и выбранные кадры через исходное время, сохраняя подтверждения каждой модальности отдельно.

Автор: Команда Retrivium
Обновлено: 2026-11-03
Канонический URL: https://retrivium.ai/ru/journal/local-video-search-transcript-keyframes/
Language: ru

Локальный видеопоиск связывает расшифровку и выбранные кадры через исходное время, сохраняя подтверждения каждой модальности отдельно. Произнесённое упоминание и похожее изображение не становятся автоматически одним событием: небрежное объединение способно создать ответ, которого исходная запись на самом деле никогда не подтверждала в представленном виде.

## Создать общую временную основу

[Справочник времени PyAV](https://pyav.basswood.io/docs/stable/api/time.html) объясняет интерпретацию timestamps. Время показа кадров и позиции аудио связывают с оригинальной записью. Обрезка, resampling и изменение частоты требуют сохранённого преобразования. Общее имя файла не устанавливает синхронизацию. До привязки абзаца расшифровки к кадру другой обработанной версии проверяют фактическое отношение потоков. Иначе корректные по отдельности текст и изображение будут представлять разные моменты, а итоговая ссылка воспроизведения не позволит пользователю увидеть заявленное подтверждение нужного действия.

## Разделить речь и визуальные записи

[Проект WhisperX](https://github.com/m-bain/whisperX) предоставляет выравнивание речи, а официальный [пример Docling для видео](https://docling-project.github.io/docling/_generated/examples/video_pipeline/) показывает загрузку видеоматериала. Отрывки хранят с текстом и временем, кадры — с идентичностью изображения и позицией показа. Общий поисковый слой может возвращать любую модальность или обе. Происхождение совпадения сохраняют, чтобы ответ не выдавал произнесённое за наглядно показанное, а видимую надпись — за реально сказанные слова. Это особенно важно для демонстраций с озвучкой, которая не всегда описывает текущий экран.

## Проверить задержанное объяснение

Возьмём демонстрацию, где ведущий объявляет настройку перед открытием окна, затем объясняет другую настройку при прежнем изображении. Вопрос: где изменяют первую настройку? Соединение по ближайшему времени способно связать второе объяснение с первым экраном. Проверяют соседний интервал и извлекают контекст, различающий объявление, действие и поздний комментарий. Контрольный пример должен содержать эту рассогласованность намеренно, иначе простое совпадение времени на удобном эпизоде создаст ложную уверенность в правильности общей политики объединения модальностей.

| Запись подтверждения | Что она устанавливает |
| --- | --- |
| Отрывок транскрипции | Распознанные слова заданного интервала |
| Выбранный кадр | Визуальное состояние в момент показа |
| Временная связь | Соседство внутри объявленного окна |
| Проверенное событие | Отношение объяснения и действия |

## Строить кандидатов по модальностям

Текстовый запрос может совпасть с речью, OCR-подписями или визуальным представлением. Сохраняют происхождение кандидатов и не считают оценки автоматически сопоставимыми. Результаты объединяют явной политикой и проверяют наличие отвечающего события. Если кадру не хватает детали, соседняя речь не исправляет изображение, пока сама независимо не устанавливает факт. Поэтому полезно отдельно показывать, какое подтверждение непосредственно отвечает на вопрос, а какое лишь помогает ориентироваться внутри записи и выбрать подходящий интервал для просмотра.

## Проверить ответы по исходнику

Отдельно рассматривают вопросы о речи, видимых действиях и отношениях между ними. Результаты разрешают в воспроизведение и исходный кадр, сохраняя неопределённость времени и распознавания. Пропущенные события и неверные межмодальные соединения показывают раздельно. Результат — поисковая шкала подтверждений с восстанавливаемыми ссылками, а не обещание вывести любое изображение из речи или считать временное соседство доказательством причинной и смысловой связи. Такая граница делает итоговый ответ проверяемым даже при частично пригодной транскрипции или неполном наборе выбранных кадров.

Связанные материалы: [Локальный RAG-сервер: какие компоненты размещать рядом с GPU](/ru/journal/rag-server-local-architecture/); [Длинное аудио в Whisper: сегменты, очередь и хранение результата](/ru/journal/whisper-long-audio/).
