Skip to content

Releases: cappelletto/videostrip

v0.9.3 Meshroom core + dev maintenance

27 Sep 20:08

Choose a tag to compare

🚀 videostrip v0.9.3

This release marks a stabilization milestone for videostrip, separating the Meshroom plugin into its own repository and solidifying the CLI + core library for long-term use in underwater video transect processing.

🔑 Highlights

  • Meshroom plugin split:
    The Meshroom node has moved to [videostrip-meshroom](https://github.com/cappelletto/videostrip-meshroom).
    videostrip now focuses purely on the CLI and core library.
  • Stable CLI API:
    Arguments and output schema (frames.csv, summary.yaml) are locked at Schema v1.
    Future changes will maintain backward compatibility.
  • Bundled OpenCV 4.12:
    Deterministic builds via vendored OpenCV; avoids system ABI conflicts.
    Licenses included in share/licenses/opencv/.
  • Cross-platform CI/CD:
    Continuous builds & tests on Linux + Windows.
    Prebuilt binaries available in release assets.
  • Enhancement pipeline:
    Configurable pre-export image enhancement (contrast, gamma, CLAHE, grayworld).
  • Improved packaging:
    Optional DEB/TAR packages install into /opt/videostrip (avoids overwriting system libraries).

📦 Assets

  • Linux: videostrip-v0.9.3-Linux-x86_64.tar.gz, .deb

  • Windows: videostrip-v0.9.3-win64.zip

  • Includes:

    • videostrip_cli binary
    • libvideostrip_core.a (static core library)
    • Configs + licenses

v0.9.0

14 Sep 16:25

Choose a tag to compare

Core feature complete public release under Apache 2.0 license

v0.8.2

14 Sep 15:56
f3d34df

Choose a tag to compare

Full Changelog: v0.7.1...v0.8.2

📦 Release Notes — v0.8.2

🚀 New Features

  • Image Enhancement Module

    • Introduced a modular enhance/ pipeline with YAML-driven configuration.
    • Supports configurable enhancement sequence (contrast, gray-world white balance, gamma, CLAHE).
    • CLI override syntax for rapid testing.
    • Enhancement stage executes before feature extraction/export.
  • Feature Density Normalization

    • Added grid-based feature density normalization (#23).
    • Provides more uniform feature distribution for SfM workflows.
    • Includes configuration structures and working implementation.
  • Documentation & Packaging

    • Added manpage target in CMake build system.
    • Updated README with enhancement pipeline usage and feature list.
    • Listed packaging and manpages as supported features.

🛠 Fixes & Improvements

  • Patched yaml-cpp detection across Linux/Nix environments.
  • Fixed missing CONFIG stage in top-level CMake.
  • Corrected enhancement sequence call ordering and enable flag propagation.
  • Enhanced EnhanceStage.process() to handle 8/16-bit grayscale and multi-channel images.
  • Disabled CLAHE test for grayscale deterministic inputs (non-reproducible).
  • Fixed namespace issues in enhancement units.
  • Added 3 unit tests for enhancement pipeline (config, stage, ops).
  • Re-enabled YAML container for enhancement config.

🔧 Chores & Maintenance

  • Promoted enhancement code into its own <enhance> module.
  • Refined CMake structure and removed stale TODOs.
  • Added TODO notes for missing dependencies (system-wide yaml).
  • Updated .gitignore for generated docs.

📑 Versioning

  • v0.7.1 → v0.8.0: Initial enhancement pipeline, CMake manpage target.
  • v0.8.0 → v0.8.1: Test suite integration for enhancement.
  • v0.8.1 → v0.8.2: Grid-based feature density normalization, bug fixes, expanded docs.

Stable Metadata Integration: MVP+ release with locked Schema v1, reproducible metadata outputs (CSV + YAML)

06 Sep 10:53

Choose a tag to compare

📦 Release v0.6.0 — Stable Metadata Integration

Highlights

This release delivers the first stable contract (Schema v1) for frame extraction metadata, ensuring repeatability, reproducibility, and downstream compatibility with SfM/MVS pipelines.

🚀 New Features

  • Schema v1 locked for output contract:
    • frames.csv with per-frame metadata (frame_idx, timestamp_ms, output_image, feature_count, quality_score, georef).
    • summary.yaml with schema version, run info, configuration snapshot, and list of extracted images.
    • Stable file/folder layout: images/, features/, frames.csv, summary.yaml, run.log.
  • MetadataWriter module (videostrip_core/io/metadata_writer):
    • Centralized CSV + YAML writing.
    • Append-safe CSV (row written immediately per frame).
    • YAML written once at run completion.
  • VideoFrameExtractor::run refactor:
    • Integrated MetadataWriter for schema v1 outputs.
    • Removed legacy writeMetadataCSV() / writeSummaryYAML() functions.
    • Guarantees reproducible metadata even if errors occur during run.
  • Logging:
    • Errors, warnings, and run completion messages consistently recorded in run.log.

🛠 CI/CD & Testing

  • Added unit tests for schema writers (CSV + YAML regression).
  • GitHub Actions now builds, runs smoke tests, and validates schema outputs.
  • Both Linux and Windows targets covered.

📚 Documentation

  • Updated user guide with schema v1 contract.
  • Provided sample YAML config and usage examples.

Upgrade Notes

  • Consumers of metadata must use frames.csv and summary.yaml (schema v1). These formats are stable going forward.
  • Old ad-hoc CSV/YAML functions have been retired.

Next Steps

  • Add optional frame enhancement filters (CLAHE, WB).
  • Introduce grid-based feature density normalization as an experimental mode.
  • Expand Windows CI/CD to cover feature parity tests with Linux.

✅ This release marks the first stable MVP+ slice: reliable frame extraction, reproducible metadata, and direct downstream compatibility with Meshroom/Metashape pipelines.