Skip to content

Sagar1205b/VideoSummarizer

Repository files navigation

Video Summarization Service

Overview

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.

image image image image image

Features

  • 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.

How It Works

  1. The Spring Boot application sends either:
    • A YouTube video link, or
    • An uploaded video file.
  2. The Python service:
    • Downloads or receives the video.
    • Extracts and transcribes audio.
    • Generates a summary using a Hugging Face model.
  3. The Spring Boot application receives and returns the summary to the user.

Components

  • 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.

Workflow

  • YouTube URL flow: Spring Boot → Python Service → Video Download → Transcription → Summary → Response.
  • Upload flow: Spring Boot → Python Service → Audio Extraction → Transcription → Summary → Response.

Requirements

  • Java 17+ for Spring Boot.
  • Python 3.10+ for backend service.
  • Internet connection for model loading and YouTube downloads.

Usage

  1. Start the Python backend service.
  2. Start the Spring Boot application.
  3. Use the Spring Boot API endpoints to:
    • Summarize a YouTube video by providing its link.
    • Summarize a locally uploaded video file.

Output

The output is a concise, AI-generated summary of the video content.
Responses are returned in structured JSON format for easy integration.


Security Considerations

  • Validate input URLs to prevent misuse.
  • Limit the size of uploaded files.
  • Handle potentially long processing times for large videos.

Future Enhancements

  • 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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages