Skip to content

asritha0708/Data_Science_practicum-1

Repository files navigation

Smart Video Navigation System

Overview

The Smart Video Navigation System is a Streamlit-based web application that enables intelligent navigation and analysis of video content using automatic speech recognition and natural language processing.

It allows users to:

  • Upload or stream videos from YouTube
  • Transcribe speech automatically
  • Perform semantic search within the video
  • Generate summaries and chapters
  • Detect key moments and engagement levels
  • Create adaptive multiple-choice quizzes from the transcript
  • Visualize speech analytics

Features

  • Automatic Transcription (Whisper ASR)
  • Semantic Search (Sentence Transformers)
  • Auto Chapters & Key Moments Detection
  • Speech Analytics & Word Frequency Charts
  • Engagement Timeline (Semantic Relevance)
  • Transcript Summary
  • Auto-Generated Knowledge Test (MCQs)
  • Adaptive Difficulty Based on Performance
  • Supports File Upload & YouTube URLs

Technologies Used

  • Python 3.8+
  • Streamlit
  • Whisper (OpenAI)
  • SentenceTransformers (all-MiniLM-L6-v2)
  • scikit-learn
  • matplotlib
  • pandas
  • PyTorch
  • yt-dlp
  • FFmpeg

Project Structure

project/
│
├── main.py
├── config.py
├── transcription.py
├── search.py
├── summary.py
├── analytics.py
├── engagement.py
├── chapters.py
├── knowledge_test.py
├── video_loader.py
├── utils.py
├── requirements.txt
├── .gitignore
└── README.md



## Installation

### 1. Clone the repository

 `git clone https://github.com/yourusername/smart-video-navigation.git`
 `cd smart-video-navigation`

### 2. Create a virtual environment

`python -m venv venv`
`source venv/bin/activate   # Windows: venv\Scripts\activate`

### 3. Install dependencies

`pip install -r requirements.txt`

### 4. Install FFmpeg

`FFmpeg is required for audio extraction.`

## Windows

### Download from https://ffmpeg.org and add to PATH

### Linux
`sudo apt install ffmpeg`

### Running the Application

`streamlit run app.py`

### Open in browser

`http://localhost:8501`

### Input Methods

`Upload video file (.mp4, .mov, .avi)`

### Paste YouTube URL

## How It Works

- Extracts audio from video using FFmpeg
- Transcribes speech using Whisper
- Generates semantic embeddings
- Enables:

 - Semantic search
 - Chapter detection
 - Engagement analysis
 - Keyword statistics

## Quiz generation

- Displays visual analytics and navigation tools

## Analytics Provided

 - Speech density over time
 - Speaking pace (words per minute)
 - Top keywords (stopwords removed)
 - Semantic engagement timeline
 - Chapter segmentation

## Key moment detection

 - Knowledge Test Module
 - Automatically generates MCQs using TF-IDF
 - Difficulty adapts based on score
 - Timer-controlled questions
 - Visual result breakdown (pie chart)

About

Multimodal Approach for Transcript-Free Video Understanding and Navigation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages