React Video Editor Pro is a powerful, web-based video editing tool built with React and Next.js. This project allows users to create and edit videos with features like timeline editing, text overlays, and sound integration.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
- Node.js (v14.0.0 or later)
- npm (v6.0.0 or later)
-
Clone the repository:
git clone https://github.com/your-username/react-video-editor-pro.git -
Navigate to the project directory:
cd react-video-editor-pro -
Install the dependencies:
npm install -
Create a
.env.localfile in the root directory and add your configuration:NEXT_PUBLIC_PEXELS_API_KEY=your_pexels_api_key_here NEXT_PUBLIC_DISABLE_RENDER=falseEnvironment Variables:
NEXT_PUBLIC_PEXELS_API_KEY: Your Pexels API key for accessing stock videos and imagesNEXT_PUBLIC_DISABLE_RENDER: Set to"true"to disable video rendering functionality (optional, defaults to false)
You can obtain a free Pexels API key by:
- Going to https://www.pexels.com/api/
- Signing up for a Pexels account
- Copying your API key from the dashboard
-
Start the development server:
npm run dev -
Open http://localhost:3000 with your browser to see the result.
The project is organized with version-specific components and pages:
/versions: Contains markdown files for each version's changelog./app/versions: Contains version-specific pages./components/editor: Contains version-specific editor components.
Each version of the React Video Editor is contained in its own folder under /components/editor. For example, version 1.0.0 is located at /components/editor/version-1.0.0/ReactVideoEditor.tsx.
To create a new version:
- Create a new folder under
/components/editorwith the version number. - Copy the latest version's
ReactVideoEditor.tsxfile into the new folder. - Make your changes and improvements to the new version.
- Create a new page for the version under
/app/versions. - Add a new markdown file in the
/versionsfolder with the changelog for the new version.
This project uses Remotion for video rendering on AWS Lambda, providing a scalable and efficient solution for processing video edits.
To enable video rendering capabilities:
- Follow the Remotion Lambda Setup Guide to configure your AWS environment
- Set up your AWS credentials and Lambda function
- Deploy your Remotion site to AWS S3
For a detailed walkthrough of integrating Remotion with Next.js, check out this comprehensive guide.
Video rendering can be tricky to get right initially. Some common pitfalls to watch out for:
- Lambda Memory Issues: The most common problem is insufficient memory allocation. Start with at least 2048MB and adjust based on your video processing needs.
- Timeout Errors: Complex renders may require increased Lambda timeout settings.
- Asset Loading: Ensure all assets (fonts, images, etc.) are properly uploaded and accessible to Lambda.
Refer to the Remotion documentation for detailed troubleshooting guidance and best practices.
The main page of the application displays a version changelog. Users can navigate to specific versions of the editor by clicking on the corresponding version link.
This project is licensed under the React Video Editor Pro (RVE) License. For detailed terms and conditions, please visit our License Page.
React Video Editor Pro utilizes Remotion for video rendering capabilities. Please note:
-
For commercial use, you must obtain:
- A React Video Editor Pro license
- A separate Remotion license
-
The React Video Editor Pro license does not include Remotion licensing rights. For Remotion licensing information, please refer to their official license terms.
Ensure compliance with both licenses before deploying to production.