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.
- 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.
- React.js: Provides a dynamic and user-friendly interface.
- Node.js: Handles YouTube subtitle extraction using third-party APIs.
- Flask: Manages AI processing and API integration with OpenAI GPT.
- OpenAI GPT: Segments and summarizes video subtitles into topic-based insights.
The project architecture consists of three main components:
- Frontend (React.js): Displays input forms, segmented content, and results in a visually appealing manner.
- Backend (Flask): Processes subtitles and interacts with OpenAI GPT to generate segmented content.
- Node.js Service: Extracts subtitles from YouTube videos, which are then passed to the Flask backend for processing.
git clone https://github.com/Efe-Eroglu/youtube-automatic-content-segmentation.git
cd youtube-segmentation
python run.py
cd subtitle-service
node subtitleFetcher.js
cd frontend
Install Dependencies
npm install
Start The Server
npm start
- Open the application in your browser at
http://localhost:3000
. - Enter a YouTube Video URL in the left panel.
- Click Fetch Subtitles to retrieve subtitles for the given video.
- Click Segment Video to process the subtitles and generate topic-based content segmentation.
- View the segmented topics and their respective timestamps displayed in the right panel.
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.
- Fork the repository.
- Create a new branch:
git checkout -b feature/YourFeatureName
. - Make your changes and commit them:
git commit -m 'Add your feature here'
. - Push to the branch:
git push origin feature/YourFeatureName
. - Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.