← ArchiVist
ArchiVist Capture
Product A — Active Product B →
A
Product A · Film Digitization Node

ArchiVist
Capture

Hardware · Edge Ingest · Quality-First

Автономный edge-узел для промышленной оцифровки 35mm киноплёнки. Управляет транспортом, триггерит камеру, захватывает кадр, пишет master sequence, проводит QC и генерирует proxy. Frame drop = 0.

18
МП на кадр
0
Frame drops
24
bit / 96kHz
SHA
256 manifest
01 — Вход / Выход

Что принимает.
Что отдаёт.

Вход
  • 35mm киноплёнка
  • Оптический тракт (объектив + backlight)
  • Сигнал перфорации / датчик кадра
  • Audio input — оптическая / магнитная дорожка
  • Команды управления по USB serial
Выход
  • TIFF 16-bit или DPX sequence
  • WAV 24-bit / 96kHz — master audio
  • MP4 H.264 — proxy для просмотра
  • JSON / CSV — metadata + session log
  • SHA256 manifest — checksum каждого файла
02 — Аппаратный состав

BOM v1.
Проверенный стек.

01
Jetson Orin NXEdge compute · JetPack 6.x · основной узел
Compute
02
Basler ace 2 a2A4508-20umBAS18.4 МП · 20fps · USB 3.0 · 1" сенсор
Camera
03
Edmund TECHSPEC C Series 35mmFixed focal · locking iris + focus · C-mount
Optics
04
Smart Vision Lights LLPX BacklightОднородный backlight · OverDrive · continuous mode
Light
05
Teensy 4.1MCU для управления транспортом · USB serial · STEP/DIR
MCU
06
TMC2209Stepper driver · 2A RMS · STEP/DIR + UART · тихий режим
Driver
07
NEMA 17, 1.5–2.0A, 1.8°Шаговый мотор под TMC2209 · 42mm · стандартная позиция
Motor
08
Omron EE-SX SeriesSlot photomicrosensor · определение перфорации кадра
Sensor
09
Focusrite Scarlett Solo 4th Gen24-bit · 48kHz / 96kHz · balanced · line input
Audio
10
NVMe 2TBScratch + master storage · высокоскоростной sequential write
Storage
11
24V / 5A + 12V / 5A PSUИзолированные линии питания мотора и логики/света
Power
12
2020/2040 T-slot + Gate + RollersАлюминиевая рама · CNC gate · натяжные ролики · катушки
Mech
03 — Программные модули

Шесть модулей.
Один pipeline.

capture
Захват кадра с Basler через pylon/GStreamer
motor-control
Управление Teensy по USB serial · STEP/DIR
camera-trigger
Синхронизация trigger → sensor → capture
qc
Автоматический QC кадра: blur, exposure, geometry
audio-capture
Параллельная запись WAV через sounddevice
export
ffmpeg: sequence → proxy MP4 + SHA256 manifest
04 — Capture Pipeline

Порядок операций.

01
Команда шага → Teensy 4.1
motor-control отправляет STEP pulse на TMC2209. Settle 120ms после остановки.
motor-control · serial · 115200 baud
02
Подтверждение перфорации
Omron EE-SX подтверждает точное положение кадра. Без подтверждения — no capture.
camera-trigger · sensor · Omron EE-SX
03
Захват кадра
pylonsrc trigg ерит Basler. Exposure 8000µs, Mono8, 4508×4096px. PNG/TIFF → NVMe.
capture · basler pylon · GStreamer
04
Параллельная запись аудио
audio-capture пишет WAV непрерывно. Синхронизация по таймкоду сессии.
audio-capture · sounddevice · WAV 24/96
05
QC кадра
Автоматическая проверка: exposure, sharpness, geometry stability. Флаг при отклонении.
qc · opencv · threshold checks
06
Сборка + экспорт
ffmpeg: frame sequence + WAV → proxy MP4. SHA256 по каждому файлу. manifest.json.
export · ffmpeg · H.264 · SHA256
05 — KPI

Критерии готовности MVP.

0
Frame drops допустимо на сессию
±0
Геометрический дрейф между кадрами
No
Flicker / exposure drift
100%
Воспроизводимый master pipeline
06 — MVP v1 Roadmap

3 дня до первого кадра.

MVP v1 — Sprint
День 1 — Фундамент
  • Базовые зависимости ОС
  • Python venv + pip
  • Docker Engine + Compose
  • Ollama + Qwen2.5:1.5b
  • Структура каталогов
  • app.env + configs
День 2 — Железо
  • Basler pylon ARM64
  • gst-inspect pylonsrc
  • arecord -l · audio test
  • Teensy по USB serial
  • film-motor.service
  • film-capture.service
День 3 — Сессия
  • Тест 100 кадров
  • WAV master запись
  • Сборка proxy MP4
  • manifest.json
  • SHA256 проверка
  • Smoke QC pass
TIFF 16-bit / DPX WAV 24-bit / 96kHz MP4 proxy H.264 manifest.json SHA256 checksums session logs