VideoSeek is an intelligent video search tool that allows users to find specific moments in YouTube videos by describing what they're looking for in natural language. Instead of manually scrubbing through videos, simply enter a text prompt and VideoSeek will take you to the relevant timestamp.
It is currently hosted on streamlit, you can test it here.
- YouTube Video Processing: Automatically downloads and processes audio from YouTube videos
- Natural Language Search: Find specific moments using everyday language
- Smart Text Matching: Utilizes advanced AI models to understand context and find relevant segments
- Instant Playback: Automatically starts YouTube playback at the matched timestamp
- User-Friendly Interface: Clean, intuitive Streamlit-based web interface
Make sure you have Python 3.7+ installed. You'll need the following packages:
pip install streamlit pillow whisper-openai yt-dlp torch sentence-transformers
- Clone the repository:
git clone https://github.com/yourusername/videoseek.git
cd videoseek
- Install dependencies:
pip install -r requirements.txt
- Run the application:
streamlit run app.py
- Open the application in your web browser
- Paste a YouTube URL into the URL input field
- Enter your search prompt describing what you want to find in the video
- Click "Submit" and wait for VideoSeek to process your request
- The video will automatically start playing at the most relevant timestamp
URL: https://www.youtube.com/watch?v=example
Prompt: "machine learning"
VideoSeek uses several powerful technologies:
- Whisper: OpenAI's speech recognition model for accurate transcription
- Sentence Transformers: For semantic text matching between prompts and transcripts
- yt-dlp: For reliable YouTube video downloading
- Streamlit: For the web interface
- Maximum video length: 30 minutes
- Downloaded audio files are automatically deleted after processing
- No user data is stored
- All processing happens locally on the server
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
- OpenAI for the Whisper model
- Sentence Transformers team
- Streamlit community
- yt-dlp maintainers
For support or queries, please open an issue in the GitHub repository.
Made with ❤️ by [Fer14]