Video2Words is a web application that allows users to upload a video file and receive a transcript of the original audio along with a translated version of the transcript in their desired language. This project leverages AWS cloud services to handle transcription, translation, and secure file storage.
- Upload Video: Upload video files directly through the web interface.
- Audio Transcription: Extract audio from the video and generate a transcript using AWS Transcribe.
- Text Translation: Translate the original transcript into the desired language using AWS Translate.
- Secure Storage: Store uploaded files securely in an AWS S3 bucket.
To run the project using Docker Compose, follow these steps:
docker network create video2wordsdocker-compose up --builddocker-compose down- Ensure Node.js and FFmpeg are installed on your system:
- Download Node.js (LTS version) from https://nodejs.org/
- Download FFmpeg from https://ffmpeg.org/download.html and add it to your system's PATH.
-
Create an S3 Bucket:
- Go to the AWS Management Console.
- Navigate to S3 and create a new bucket.
- Note down the bucket name and region.
-
Set Up IAM User:
- Go to AWS IAM Console.
- Create a new IAM user.
- Assign the following policies to the user:
AmazonS3FullAccessTranslateFullAccessTranscribeFullAccess
- Download the Access Key ID and Secret Access Key.
Note: If the required policies are not present, you can create them:
- Navigate to IAM Policies in the AWS Console.
- Select Create Policy.
- Choose the necessary permissions for
S3,Translate, andTranscribeservices.
- Clone the repository:
git clone https://github.com/ShashaankS/video2words.git cd video-2-words
-
Navigate to the backend directory:
cd backend -
Create a
.envfile and add the following environment variables:AWS_ACCESS_KEY_ID=your-access-key-id AWS_SECRET_ACCESS_KEY=your-secret-access-key AWS_REGION=your-region AWS_S3_BUCKET_NAME=your-bucket-name
Use the provided
.env.examplefile as a template. -
Install backend dependencies and start the server:
npm install npm start
-
Navigate to the frontend directory:
cd video-2-words -
Install frontend dependencies and start the development server:
npm install npm run dev
Open your browser and go to:
The .env file in the backend directory should have the following format:
AWS_ACCESS_KEY_ID=your-access-key-id
AWS_SECRET_ACCESS_KEY=your-secret-access-key
AWS_REGION=your-region
AWS_S3_BUCKET_NAME=your-bucket-name