A Flask-based web application that helps users discover and filter YouTube videos based on their preferences, extract transcripts, and find moments that match specific interests.
- Search YouTube videos by topic and user preferences
- Filter videos by minimum view count
- Extract and process video transcripts automatically
- Find and highlight preferred moments in videos based on user-defined criteria
- Summarize video content using NLP models
- Python 3.7+
- Flask
- YouTube Search Python
- YouTube Transcript API
- pandas
- FAISS for similarity search
- Transformers (for summarization)
-
Clone the repository:
-
Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows, use: venv\Scripts\activate -
Install the required packages:
pip install -r requirements.txt -
Create a
.envfile with your configuration:SECRET_KEY=your-secret-key # Add any other API keys or configuration as needed
-
Start the Flask application:
python app.py -
Open your browser and navigate to
http://localhost:5000 -
Enter your search topics and preferences
-
Browse the fetched videos and explore preferred moments
app.py: Main Flask applicationyoutube_utils.py: Utility functions for fetching videos and transcriptssummarization.py: Transcript summarization functionalitysimilarity_search.py: Functions to identify preferred moments in videostemplates/: HTML templates for the web interfacestatic/: Static files (CSS, JavaScript, images)