This is a desktop application built with Electron and FFmpeg that allows users to visually select a crop area from the video before converting, and progress is displayed during the conversion process.
- Video Preview: Load an MP4 file and preview it within the app.
- Crop Selection: Manually select the area of the video to crop by dragging a selection box.
- Progress Tracking: A progress bar indicates the conversion process in real-time.
- Cropping with Scaling: The crop area is scaled correctly to match the original video resolution.
- Node.js: Install Node.js (https://nodejs.org/)
- FFmpeg: Install FFmpeg on your system and make sure it is accessible from the command line (https://ffmpeg.org/download.html).
-
Clone the repository or download the project files.
git clone https://github.com/your-username/video-converter-app.git cd video-converter-app
-
Install the dependencies using npm:
npm install
-
Run the application:
npm start
To package the app into a distributable format:
-
Install electron-builder:
npm install --save-dev electron-builder
-
Build the app:
npm run build
This will generate an installer for the app in the dist
directory.
- Load a video: Click the "Choose File" button to upload an MP4 video.
- Crop the video: Drag on the video preview to select the portion of the video you'd like to crop.
- Convert: Click the large "Convert" button to start the conversion process. The progress bar will display the status, and the app will notify you when the conversion is complete.
- Electron: Provides the framework for building a cross-platform desktop application.
- FFmpeg: Used to handle video conversion and cropping.
- fluent-ffmpeg: A Node.js wrapper for FFmpeg, making it easier to work with video processing.
- Ensure FFmpeg is properly installed and added to your system’s PATH.
- Video preview and crop selection work best with MP4 videos only.
This project is licensed under the MIT License.
This app was generated with the assistance of ChatGPT, an AI language model by OpenAI, which provided code snippets, explanations, and project structure.