This Image to Video Converter app is a web application built using Flask. It allows users to upload images, convert them into a video, and add audio to the video. The app also supports user authentication, storing images in a database, and retrieving audio files from the database.
-
Signup
- Route:
/signup - Allows users to create an account by providing a username, email, fullname, and password. The password is hashed using bcrypt before storing it in the database.
- Route:
-
Login
- Route:
/login - Allows users to log in by providing their username and password. A JWT token is generated upon successful login and stored in the session.
- Route:
-
Upload Images
- Route:
/upload_files - Allows users to upload multiple images. The images are saved to the server and stored in the database.
- Route:
-
Upload Selected Images
- Route:
/upload_seleted_files - Allows users to upload selected images. The images are saved to the server and stored in the database.
- Route:
-
Retrieve Images
- Route:
/user_profile/<username> - Retrieves all images uploaded by the user and displays them on the user's profile page.
- Route:
-
Retrieve Selected Images
- Route:
/selectedImages - Retrieves all selected images uploaded by the user and returns them as a JSON response.
- Route:
-
Create Video
- Function:
create_video - Converts the uploaded images into a video. The video is saved to the server.
- Function:
-
Add Audio to Video
- Route:
/get_audio_path - Adds audio to the created video and saves the merged video to the server.
- Route:
- Retrieve Audio Files
- Function:
retrieve_audio_files - Retrieves audio files from the database and saves them to the server.
- Function:
- User Profile
- Route:
/user_profile/<username> - Displays the user's profile with all uploaded images.
- Route:
- Logout and Delete
- Route:
/logout_and_delete - Logs out the user and deletes the selected images and merged video from the server.
- Route:
-
Database Connection
- Function:
db_config - Sets up the database connection using the provided credentials and certificate.
- Function:
-
Close Connection
- Function:
close_connection - Closes the database connection.
- Function:
-
Generate Token
- Function:
generate_token - Generates a JWT token for the user.
- Function:
-
Verify Token
- Function:
verify_token - Verifies the JWT token.
- Function:
-
Index
- Route:
/ - Renders the index page.
- Route:
-
Signup
- Route:
/signup - Handles user signup.
- Route:
-
Login
- Route:
/login - Handles user login.
- Route:
-
User Profile
- Route:
/user_profile/<username> - Displays the user's profile.
- Route:
-
Upload Files
- Route:
/upload_files - Handles image uploads.
- Route:
-
Upload Selected Files
- Route:
/upload_seleted_files - Handles selected image uploads.
- Route:
-
Retrieve Selected Images
- Route:
/selectedImages - Retrieves selected images.
- Route:
-
Create Video
- Route:
/video - Creates a video from the uploaded images.
- Route:
-
Add Audio to Video
- Route:
/get_audio_path - Adds audio to the created video.
- Route:
-
Logout and Delete
- Route:
/logout_and_delete - Logs out the user and deletes selected images and merged video.
- Route:
This app has been deployed on Render. You can access it using the following link: Image to Video Converter App
This application is part of an academic group project. It was developed by a team of students to demonstrate the integration of various technologies such as Flask, MySQL, JWT, and video processing libraries.
To use this app, follow these steps:
- Install Dependencies: Install the required dependencies using
pip install -r requirements.txt. - Set Up Database: Configure the database connection in the
db_configfunction. - Run the App: Start the Flask app using
python app.py. - Access the App: Open a web browser and navigate to
http://localhost:5007to access the app.
This Image to Video Converter app provides a comprehensive set of features for uploading images, converting them into a video, adding audio, and managing user authentication. It is designed to be a functional and user-friendly web application.