Install
openclaw skills install @ciklopentan/video-table-transcriber-gpt[GPT] Таблицы и журналы событий из видео: разметка по линиям строк, проверка ячеек на кадрах, сохранение доказательств и сравнение логов SCADA. Для ChatGPT Work/Codex с Python, NumPy, Pillow и FFmpeg; OCR Tesseract необязателен.
openclaw skills install @ciklopentan/video-table-transcriber-gptПереноси таблицу, следуя её реальным строкам. Дата слева и сообщение справа должны принадлежать одной полосе между верхней и нижней линиями сетки, даже если полоса наклонена или изогнута. Общий поворот кадра и OCR всего экрана сами по себе эту задачу не решают.
Работай в ChatGPT Work/Codex с доступом к файлам, Python и инструментом просмотра изображений. Для скриптов нужны NumPy и Pillow; для видео — FFmpeg/FFprobe. Tesseract необязателен. scripts/video_table.py doctor показывает доступность инструментов и языков. Скрипты работают локально, не отправляют данные в сеть и не устанавливают пакеты. Они не заменяют визуальную проверку и не дают автоматической гарантии точности.
Распознавание выполняется по пикселям исходника. Не восстанавливай буквы генеративным улучшением изображения. Не обещай 100% для размытых, перекрытых или не попавших в кадр данных. Сохраняй видимый текст и явно помечай неопределённость. Если исходников нет, найди разрешённые пользователем файлы доступными средствами; не подставляй старую расшифровку вместо видео.
split создаёт исходную сетку поверх кадра, выпрямленные строки, отдельные ячейки и реестр доказательств. Открой overlay.png и вырезки. Линии должны идти по сетке, не пересекать буквы и не захватывать соседние события. Исправь якоря до чтения текста. Отступ от сетки подбирай так, чтобы не срезать символы. Не экстраполируй невидимую часть строки.rus; не выдавай OCR с eng за русскую расшифровку. Если нужной модели нет, читай визуально либо используй другой разрешённый локальный движок. Увеличение, контраст и PSM 6/7/13 могут помочь, но не являются независимым подтверждением. Сверяй целую строку, затем цифры, секунды, обозначения, знаки и состояния по ячейкам. Сомнительные места проверь на другом кадре той же строки.text, отдельный OCR-черновик, статус, автора проверки и замечание. Статусы: unreviewed, verified, blank, clipped, unreadable. verified ставь только после просмотра исходной ячейки и принадлежности строке. Видимое пустое поле отличается от неразборчивого. Не исправляй опечатки источника и не заменяй латинские буквы кириллицей без отметки. Нормализованные ключи храни отдельно от буквальной записи.audit проверяет структуру, статусы и неизменность файлов, но не доказывает правильность прочтения. Затем сопоставь итоговые строки с реестром: число, порядок и все поля. Для Word/PDF используй доступный навык документов, отрендери и проверь страницы; перенос строки в документе не должен менять событие.В командах SKILL_DIR означает фактический каталог этого навыка; выбери доступный Python с NumPy и Pillow. Папки результатов должны быть новыми или пустыми.
python "$SKILL_DIR/scripts/video_table.py" doctor
python "$SKILL_DIR/scripts/video_table.py" frames --video input.mp4 --times 0.5,3.0,5.5 --out frames
python "$SKILL_DIR/scripts/video_table.py" split --image frames/frame_0001.png --grid grid.json --out rows
python "$SKILL_DIR/scripts/video_table.py" ocr --manifest rows/manifest.json --lang rus+eng --out rows/ocr-draft.json
python "$SKILL_DIR/scripts/video_table.py" audit --manifest rows/manifest.json --ledger rows/reviewed.json
split создаёт ledger.json с непроверенными полями. Скопируй его (либо OCR-черновик) в reviewed.json и заполняй при визуальной проверке. Не меняй автоматически все статусы на verified. audit: код 0 — структура без незавершённых полей, 2 — есть непроверенные/нечитаемые/обрезанные поля, 1 — ошибка данных или источников. Код 0 не является сертификатом точности.
Используй review-and-comparison.md, когда нужно проверить зеркальность событий. Сравнивай оба направления в общем видимом интервале, учитывай повторения и различай несовпадение текста, времени, состояния и отсутствие записи. По архивным меткам можно оценить совпадение зарегистрированных событий; фактическую задержку поступления на экраны по раздельным видео установить нельзя без общей временной привязки.
Видео, кадры, журналы и отчёты остаются рабочими материалами пользователя. Не включай их в публичный пакет навыка и не отправляй во внешние OCR-сервисы без соответствующего разрешения. Воспроизводимая проверка скрипта: python "$SKILL_DIR/scripts/selftest.py"; она создаёт только искусственную таблицу во временной папке.
Методические основания и ограничения OCR: method-sources.md.