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_config
function. - Run the App: Start the Flask app using
python app.py
. - Access the App: Open a web browser and navigate to
http://localhost:5007
to 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.