Skip to content

Renewable-Energy-Systems/camera-log

Repository files navigation

RES Stack Assembly Recorder

A professional Material 3-inspired desktop application for logging and recording stack assembly processes. This tool allows operators to log project details, record or upload videos, and automatically overlay critical data (Battery Code, No, Operator) onto the video files.

Features

  • Streamlined Data Entry: Log battery information, operator details, and session notes.
  • Auto-Population: Intelligent lookup of battery names and session details based on the Battery Code to minimize repetitive typing.
  • Video Overlays: Automatically process videos to include semi-transparent text overlays for better traceability.
  • Search & Filter: Quickly find past recordings using a powerful search bar and field-specific filters.
  • Integrated Player: Preview recordings and take snapshots directly within the app.
  • Safety First: Background processing of videos ensures the app remains responsive, with built-in exit confirmations to prevent interrupted tasks.

Installation

Prerequisites

  • Python 3.10 or higher
  • FFmpeg: (Automatically handled by the app via imageio-ffmpeg)

Setup Steps

  1. Clone the Repository:

    git clone <repository-url>
    cd res_stack_recorder
  2. Create a Virtual Environment (Recommended):

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install Dependencies:

    pip install -r requirements.txt
    pip install PySide6  # If not in requirements.txt
  4. Run the Application:

    python app.py

First-Time Use

Upon the first launch, the application will ask you to select a Data Folder. This folder will be used to store:

  • All processed videos with overlays.
  • The SQLite database containing all records.
  • Snapshots taken from the video player.

Development & Automation

The project includes several automation scripts in the scripts/ directory to help with building and releasing the application:

  • Build Script (scripts/build.py): Uses PyInstaller to package the application into a standalone .exe. It handles assets and configuration automatically.

    python scripts/build.py
  • Release Script (scripts/release.py): A comprehensive script that:

    1. Updates the version number in core/settings.py.
    2. Runs the build process.
    3. Triggers the creation of an installer (requires Inno Setup).
    python scripts/release.py --version <new_version>
  • Upload Script (scripts/upload_release.py): Automates the process of uploading the built installer to GitHub Releases.


Technologies Used

  • UI Framework: PySide6 (Qt for Python)
  • Video Processing: MoviePy & FFmpeg
  • Database: SQLite
  • Styling: Custom Material 3 CSS for PySide6
  • Installer: Inno Setup (for generating .exe installers)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors