1.0.0 • Published 5 months ago

@shipworthy/video-processor v1.0.0

Weekly downloads
-
License
-
Repository
-
Last release
5 months ago

@shipworthy/video-processor

A core video processing library for converting long-form videos into engaging short-form content. This package provides the underlying functionality used by the video-to-shorts CLI tool, including frame extraction, scene analysis, and video segmentation.

Overview

The video processor handles the heavy lifting of processing and analyzing video files. It extracts frames at configurable intervals, performs parallel analysis, and segments the video based on content quality. Its modular design allows for easy customization of analysis criteria and processing parameters.

Features

  • Extracts frames at configurable intervals
  • Supports parallel frame analysis for improved performance
  • Integrates with OpenAI GPT-4 Vision for scene classification
  • Segments videos to identify and isolate important content
  • Modular and extensible architecture

Installation

To install the package as a standalone dependency, run:

yarn add @shipworthy/video-processor

or using pnpm:

pnpm add @shipworthy/video-processor

If you're working within the video-to-shorts monorepo, this package is managed via Yarn workspaces.

Usage

Below is a basic example of how to use the video processor in your project:

import { processVideo } from '@shipworthy/video-processor';

// Process a video with specified options
processVideo('path/to/video.mp4', {
  frameInterval: 30,
  parallelFrames: 4,
  // Additional configuration options
})
  .then(result => {
    console.log('Video processed successfully!', result);
  })
  .catch(err => {
    console.error('Error processing video:', err);
  });

Refer to the source code and inline documentation for more details on available configuration options and API usage.

Development

To get started with development:

  1. Clone the repository and navigate to the project root.
  2. Install dependencies:
yarn install
  1. Build all packages (or just the video-processor package):
yarn build
  1. Run tests:
yarn test

Make sure to run commands from the project root to respect the Yarn workspaces setup.

Testing

To run tests specifically for the video-processor package, use:

yarn test --filter @shipworthy/video-processor

Contributing

Contributions are welcome! Please refer to the main project's CONTRIBUTING.md for guidelines on how to contribute.

License

This project is licensed under the terms specified in the LICENSE file. If no LICENSE file is present, please refer to the project's main repository for licensing details.