Skip to content

A modern web application that extracts and segments YouTube video content based on subtitles. Built with Flask, React, and Node.js, it provides seamless integration for fetching, processing, and visualizing video subtitles into meaningful topics with timestamps.

License

Notifications You must be signed in to change notification settings

Efe-Eroglu/youtube-automatic-content-segmentation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YouTube Video Content Segmentation

Overview

The YouTube Video Content Segmentation project is a full-stack web application designed to help users analyze and summarize YouTube video content. It leverages Node.js for subtitle extraction, Flask for AI-driven segmentation using OpenAI GPT, and a React.js frontend for seamless interaction and visualization.

This tool is ideal for educators, content creators, and researchers who need structured, topic-based insights from video content.


Features

  • Subtitle Extraction: Retrieves subtitles from YouTube videos using a Node.js service.
  • AI-Powered Content Segmentation: Flask backend integrates OpenAI GPT to analyze subtitles and segment video content into topic-based sections with timestamps.
  • Interactive UI: Modern React.js frontend for fetching subtitles, segmenting videos, and visualizing structured results.
  • Dynamic and Real-Time Processing: Handles video content dynamically with immediate segmentation results.

Technology Stack

Frontend

  • React.js: Provides a dynamic and user-friendly interface.

Backend

  • Node.js: Handles YouTube subtitle extraction using third-party APIs.
  • Flask: Manages AI processing and API integration with OpenAI GPT.

AI Integration

  • OpenAI GPT: Segments and summarizes video subtitles into topic-based insights.

Architecture

The project architecture consists of three main components:

  1. Frontend (React.js): Displays input forms, segmented content, and results in a visually appealing manner.
  2. Backend (Flask): Processes subtitles and interacts with OpenAI GPT to generate segmented content.
  3. Node.js Service: Extracts subtitles from YouTube videos, which are then passed to the Flask backend for processing.

Project Overview

output

Installation

1. Clone the Repository

git clone https://github.com/Efe-Eroglu/youtube-automatic-content-segmentation.git
cd youtube-segmentation

2. Backend Setup(Flask)

python run.py

3. Subtitle Service Setup

cd subtitle-service
node subtitleFetcher.js

4. Frontend Setup

cd frontend

Install Dependencies

npm install

Start The Server

npm start

Usage

  1. Open the application in your browser at http://localhost:3000.
  2. Enter a YouTube Video URL in the left panel.
  3. Click Fetch Subtitles to retrieve subtitles for the given video.
  4. Click Segment Video to process the subtitles and generate topic-based content segmentation.
  5. View the segmented topics and their respective timestamps displayed in the right panel.

Contribution

Contributions are welcome! If you want to improve this project, feel free to fork the repository, create a feature branch, and submit a pull request.

  1. Fork the repository.
  2. Create a new branch: git checkout -b feature/YourFeatureName.
  3. Make your changes and commit them: git commit -m 'Add your feature here'.
  4. Push to the branch: git push origin feature/YourFeatureName.
  5. Open a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

A modern web application that extracts and segments YouTube video content based on subtitles. Built with Flask, React, and Node.js, it provides seamless integration for fetching, processing, and visualizing video subtitles into meaningful topics with timestamps.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published