Inspiration Road-camera recordings can contain glare, dark sections, or frames with little detail. Before using a clip in an experiment, researchers need to locate these changes and inspect the original frames. Road Video Check makes that first pass easier while keeping the footage on the user's computer.

What it does Open a local video or the built-in synthetic demo. The app samples one frame per second, marks intervals worth reviewing, and links each flag to its frame and measurements. CSV and JSON exports preserve timestamps, values, flags, settings, and limitations.

The current version handles browser-supported clips up to two minutes and 200 MiB. It measures average brightness, very bright pixels, and local detail. These are review heuristics, not driving-safety scores. Smooth scenes can trigger a low-detail flag without being blurred, and brief events can fall between samples. How it was built The application uses HTML, CSS, JavaScript, and the browser's video and Canvas APIs. A small Node.js server runs it locally without package installation or a build step. There is no account, API key, video upload, or remote inference service.

Codex assisted with implementation, tests, and documentation under human direction. AI helped build the software; the running application uses deterministic image measurements, not an AI model. The repository includes its scope, requirements, technical specification, checklist, and code map.

Challenges A real video-decoding test exposed a black sample at time zero. The sampler was corrected to seek explicitly and wait for seeking to finish before drawing the frame. Initial feedback also showed that selection changes were too subtle. The interface was reorganized around the viewer, timeline, and inspector, with persistent active states and clearer feedback.

Accomplishments The prototype completes one useful workflow: open a clip, find a flagged interval, inspect its frame, and export the evidence. Twenty automated tests passed. Agent browser checks covered the generated demo, an actually decoded local test video, frame selection, invalid input, and downloaded reports.

What the build taught us The decoding issue showed why a generated-image demo cannot replace testing a real video file. Measurement logic and media integration need different checks. Keeping the frame, timestamp, threshold, and exported value connected made the problem easier to diagnose and the output easier to interpret.

What's next

Test the workflow on more user-owned clips, calibrate thresholds for different cameras, and explore adjustable sampling. The aim is to improve this small inspection loop without turning it into a full dataset-management system.

Built With

Share this project:

Updates

Submission history