Skip to main content

Extracts frames from .mov files

Project description

agl-frame-extractor

Description

agl_frame_extractor is a Python package designed to extract individual frames and metadata from .MOV video files. This package is highly useful for researchers and clinicians who require frame-by-frame analysis of video data. With applications ranging from medical research to training simulations, the package aims to improve standards and classifications in gastrointestinal endoscopy by enhancing objectivity and reproducibility.

Features

  • Extracts individual frames from .MOV files and saves them as PNG images.
  • Gathers video metadata including total number of frames, frames per second, and video duration.
  • Offers optional multithreading support for faster frame extraction.
  • Generates a log file to record the extraction process.

Installation

To install this package, clone the repository and run the following command in the repository root:

pip install -e .

Usage

Basic Usage

from video_frame_extractor.extractor import VideoFrameExtractor

input_folder = "input_videos"
output_folder = "output_frames_metadata"

extractor = VideoFrameExtractor(input_folder, output_folder)
extractor.extract_frames_and_metadata()

# If you want to extract png files instead of jpgs:
input_folder = "input_videos"
output_folder = "output_frames_metadata"

extractor = VideoFrameExtractor(input_folder, output_folder, image_format='png')
extractor.extract_frames_and_metadata()

Multithreaded Usage

To enable multithreading for faster frame extraction:

from video_frame_extractor.extractor import VideoFrameExtractor

input_folder = "input_videos"
output_folder = "output_frames_metadata"

extractor = VideoFrameExtractor(input_folder, output_folder, use_multithreading=True)
extractor.extract_frames_and_metadata()

Dependencies

  • OpenCV
  • tqdm

Logging

The package generates a log file video_frame_extraction.log in the directory where it is executed. This log file contains detailed information about the extraction process.

Contributing

We welcome contributions to improve this package. Please follow the standard GitHub pull request process. Make sure to document your code thoroughly, keeping in mind that the package targets an academic audience focused on research.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agl_frame_extractor-0.2.0.tar.gz (2.8 kB view hashes)

Uploaded Source

Built Distribution

agl_frame_extractor-0.2.0-py3-none-any.whl (3.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page