This project enables video summarization for both YouTube videos and uploaded video files.
It uses a Python backend powered by Hugging Face models for processing and summarization, and a Spring Boot application to interact with the backend.
- Summarizes YouTube videos via URL.
- Summarizes uploaded video files.
- Uses AI-based summarization models from Hugging Face.
- Integrates seamlessly between Python backend and Spring Boot application.
- Returns concise summaries.
- The Spring Boot application sends either:
- A YouTube video link, or
- An uploaded video file.
- The Python service:
- Downloads or receives the video.
- Extracts and transcribes audio.
- Generates a summary using a Hugging Face model.
- The Spring Boot application receives and returns the summary to the user.
- Python Backend
- Handles video/audio extraction, transcription, and summarization.
- Uses Hugging Face transformer models.
- Spring Boot Application
- Provides REST API endpoints for clients.
- Forwards requests to the Python backend and returns the responses.
- YouTube URL flow: Spring Boot → Python Service → Video Download → Transcription → Summary → Response.
- Upload flow: Spring Boot → Python Service → Audio Extraction → Transcription → Summary → Response.
- Java 17+ for Spring Boot.
- Python 3.10+ for backend service.
- Internet connection for model loading and YouTube downloads.
- Start the Python backend service.
- Start the Spring Boot application.
- Use the Spring Boot API endpoints to:
- Summarize a YouTube video by providing its link.
- Summarize a locally uploaded video file.
The output is a concise, AI-generated summary of the video content.
Responses are returned in structured JSON format for easy integration.
- Validate input URLs to prevent misuse.
- Limit the size of uploaded files.
- Handle potentially long processing times for large videos.
- Add multi-language transcription and summarization.(now supported kannada hindi english)
- Offer both extractive and abstractive summary options.
- Implement caching to speed up repeated requests.