360 Secure SkillHub
360 安全技能中心

Video Table Transcriber GPT

该技能从屏幕录像中精确提取表格与事件日志:按真实网格线切分行列,逐帧核验,保留屏幕顺序并附视频、帧、时间与截图来源。适用于拍摄SCADA、触摸屏、工作站界面,以及倾斜或弯曲表格的转录、混合行修正与设备日志比对。通过Python脚本完成抽帧、切分、OCR草稿与审核账本;需在ChatGPT Work/Codex中运行,依赖NumPy、Pillow与FFmpeg,不联网、不保证100%准确,须人工视觉复核。

ciklopentan
ciklopentan
热度 7.62
最近更新 2026-09-26 11:42:27
分类:效率依赖:代码执行 / 读写文件应用场景:数据处理 / 报告撰写

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add video-table-transcriber-gpt
Metadata
name
video-table-transcriber-gpt
description
[GPT] Точное извлечение таблиц и журналов событий из видео: строки по линиям сетки, покадровая проверка, сохранение порядка и ссылок на источник. Используй для съёмки экранов, SCADA, тач-панелей, АРМ, наклонённых или искривлённых таблиц, исправления смешанных строк и сравнения журналов устройств. Требует ChatGPT Work/Codex с файлами, Python и просмотром изображений; не является готовой нативной интеграцией OpenClaw.

Video Table Transcriber GPT

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

Среда и границы метода

Работай в ChatGPT Work/Codex с доступом к файлам, Python и инструментом просмотра изображений. Для скриптов нужны NumPy и Pillow; для видео — FFmpeg/FFprobe. Tesseract необязателен. scripts/video_table.py doctor показывает доступность инструментов и языков. Скрипты работают локально, не отправляют данные в сеть и не устанавливают пакеты. Они не заменяют визуальную проверку и не дают автоматической гарантии точности.

Распознавание выполняется по пикселям исходника. Не восстанавливай буквы генеративным улучшением изображения. Не обещай 100% для размытых, перекрытых или не попавших в кадр данных. Сохраняй видимый текст и явно помечай неопределённость. Если исходников нет, найди разрешённые пользователем файлы доступными средствами; не подставляй старую расшифровку вместо видео.

Рабочий порядок

  1. Зафиксируй источники и задачу. Раздели видео по устройствам. Запиши имена, SHA-256, длительность, разрешение, частоту кадров, требуемый период и поля. Уточняй только то, что нельзя установить из видео и контекста. Предыдущую ошибочную расшифровку используй лишь как список мест для проверки.
  2. Извлеки кадры исходного разрешения. Выбирай устойчивые положения прокрутки с перекрытием соседних строк. Для нечётких мест возьми дополнительные кадры до и после. Сохраняй время кадра, а не только номер картинки. Не делай вывод о всём архиве из нескольких выборочных кадров.
  3. Осмотри таблицу. Определи колонки, направление сортировки, фильтры, верхнюю и нижнюю видимые строки. Отличай дату события от экранных часов, времени квитирования и времени видеозаписи. При движении камеры разметку предыдущего кадра проверяй заново.
  4. Разметь сетку. Открой полный кадр и увеличенные участки. Проследи каждую верхнюю и нижнюю границу по всей ширине. Два якоря подходят для прямой границы; для кривой добавь промежуточные точки. Общая коррекция перспективы допустима как подготовка, но после неё всё равно проверь строки. Разметь столбцы внутри каждой строки. Схема и команды: geometry-and-data.md.
  5. Проверь наложение и вырежи строки. split создаёт исходную сетку поверх кадра, выпрямленные строки, отдельные ячейки и реестр доказательств. Открой overlay.png и вырезки. Линии должны идти по сетке, не пересекать буквы и не захватывать соседние события. Исправь якоря до чтения текста. Отступ от сетки подбирай так, чтобы не срезать символы. Не экстраполируй невидимую часть строки.
  6. Прочитай ячейки. OCR — черновик, визуальное чтение — обязательная проверка. Для русского текста проверь наличие rus; не выдавай OCR с eng за русскую расшифровку. Если нужной модели нет, читай визуально либо используй другой разрешённый локальный движок. Увеличение, контраст и PSM 6/7/13 могут помочь, но не являются независимым подтверждением. Сверяй целую строку, затем цифры, секунды, обозначения, знаки и состояния по ячейкам. Сомнительные места проверь на другом кадре той же строки.
  7. Веди реестр проверки. Для каждого поля сохраняй буквальный text, отдельный OCR-черновик, статус, автора проверки и замечание. Статусы: unreviewed, verified, blank, clipped, unreadable. verified ставь только после просмотра исходной ячейки и принадлежности строке. Видимое пустое поле отличается от неразборчивого. Не исправляй опечатки источника и не заменяй латинские буквы кириллицей без отметки. Нормализованные ключи храни отдельно от буквальной записи.
  8. Собери последовательность. Сохраняй экранный порядок, в том числе при одинаковом времени событий. Убирай повторные появления при прокрутке только по подтверждённому перекрытию последовательностей; одинаковые сообщения могут быть отдельными событиями. Каждой итоговой строке оставь ссылку на видео, кадр, время и вырезку. См. review-and-comparison.md.
  9. Проверь полноту и результат. Проследи переходы между кадрами, первые и последние строки, смену даты и пропуски прокрутки. audit проверяет структуру, статусы и неизменность файлов, но не доказывает правильность прочтения. Затем сопоставь итоговые строки с реестром: число, порядок и все поля. Для Word/PDF используй доступный навык документов, отрендери и проверь страницы; перенос строки в документе не должен менять событие.
  10. Передай проверяемый результат. При нескольких видео сначала отдельные журналы, затем расхождения, если сравнение запрошено. Укажи охваченный период, пропуски съёмки и спорные поля; покажи конкретные доказательства каждого расхождения. Не называй архив неполным или несинхронным только по разной длине записей.

Быстрый запуск

В командах 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.