This project is a web application that allows the conversion of video files from a specific format (incompatible with web standards) to a format compatible with modern browsers. The application enables users to upload a video, perform the conversion, and watch the converted video directly in the browser. The application uses Python and Flask for the backend, Amazon S3 for file storage, and MoviePy for video conversion.
- Video Upload: Web interface for video file uploads.
- Video Conversion: Converts videos to a browser-compatible format (e.g., from AVI to MP4).
- S3 Storage: Videos are stored in Amazon S3 before and after conversion.
- Video Playback: Users can watch the converted video directly in the browser.
- Python 3
- Flask: Web framework used to create the application.
- MoviePy: Library for video conversion.
- Amazon S3: Cloud file storage.
- Python-dotenv: To securely manage environment variables.
Before you begin, make sure you have the following tools installed:
- Python 3.8+
- pip (Python package manager)
- Git
-
Clone the repository:
git clone https://github.com/your-username/your-repository.git cd your-repository
-
Create and activate a virtual environment:
python3 -m venv venv source venv/bin/activate # For Linux/MacOS venv\Scripts\activate # For Windows
-
Install the dependencies:
pip install -r requirements.txt
-
Configure environment variables by creating a
.env
file in the root of the project:AWS_ACCESS_KEY_ID=your-access-key-id AWS_SECRET_ACCESS_KEY=your-secret-access-key S3_BUCKET_NAME=your-bucket-name S3_REGION=your-region
-
Run the application locally:
python app.py
-
Access the application in the browser:
http://127.0.0.1:5000