This project aims to build a comprehensive suite of tools for advanced video understanding, enabling semantic search, content-based analysis, and interactive chat functionalities with video content.
Currently, the suite includes modules for video ingestion and temporal segmentation.
Module 1: Video Ingestion & Preprocessing (src/video_ingestion)
Module 2: Temporal Video Segmentation (src/scene_segmentation)
all-MiniLM-L6-v2).cd video_analysis_project
uv venv
source .venv/bin/activate # For Linux/macOS
# On Windows: .venv\Scripts\activate
uv pip install -e .
This command installs the project in editable mode along with all dependencies specified in pyproject.toml.Demo scripts are provided in the scripts/ directory to showcase the functionality of each module. Ensure your virtual environment is activated.
Video Ingestion Demo:
Processes a sample video (a dummy video will be created if one doesn't exist) and saves outputs to processed_videos_output_module2_1/.
python scripts/run_ingestion_demo.py
Scene Segmentation Demo:
First, it ensures the necessary video ingestion outputs exist (running ingestion if needed), then processes the video for shot detection and scene grouping. Outputs are saved to processed_videos_output_module2_2_scenes/.
python scripts/run_scene_segmentation_demo.py
The scene segmentation quality is highly dependent on parameters found in scripts/run_scene_segmentation_demo.py when calling segment_video_into_scenes. Key parameters to experiment with include:
num_keyframes_per_shot: Number of frames averaged for a shot's visual feature. (Recommended: 3-5)scene_similarity_threshold: Threshold (0-1) for scene breaks. Lower values lead to longer, fewer scenes.modality_weights: Dictionary defining the influence of visual, audio, and textual similarities.shot_detector_threshold (for PySceneDetect): Controls shot detection sensitivity.This project is licensed under the MIT License (as specified in pyproject.toml).
1 commits
Python
99.3%
This project aims to build a comprehensive suite of tools for advanced video understanding, enabling semantic search, content-based analysis, and interactive chat functionalities with video content.
Currently, the suite includes modules for video ingestion and temporal segmentation.
Module 1: Video Ingestion & Preprocessing (src/video_ingestion)
Module 2: Temporal Video Segmentation (src/scene_segmentation)
all-MiniLM-L6-v2).cd video_analysis_project
uv venv
source .venv/bin/activate # For Linux/macOS
# On Windows: .venv\Scripts\activate
uv pip install -e .
This command installs the project in editable mode along with all dependencies specified in pyproject.toml.Demo scripts are provided in the scripts/ directory to showcase the functionality of each module. Ensure your virtual environment is activated.
Video Ingestion Demo:
Processes a sample video (a dummy video will be created if one doesn't exist) and saves outputs to processed_videos_output_module2_1/.
python scripts/run_ingestion_demo.py
Scene Segmentation Demo:
First, it ensures the necessary video ingestion outputs exist (running ingestion if needed), then processes the video for shot detection and scene grouping. Outputs are saved to processed_videos_output_module2_2_scenes/.
python scripts/run_scene_segmentation_demo.py
The scene segmentation quality is highly dependent on parameters found in scripts/run_scene_segmentation_demo.py when calling segment_video_into_scenes. Key parameters to experiment with include:
num_keyframes_per_shot: Number of frames averaged for a shot's visual feature. (Recommended: 3-5)scene_similarity_threshold: Threshold (0-1) for scene breaks. Lower values lead to longer, fewer scenes.modality_weights: Dictionary defining the influence of visual, audio, and textual similarities.shot_detector_threshold (for PySceneDetect): Controls shot detection sensitivity.This project is licensed under the MIT License (as specified in pyproject.toml).
1 commits
Python
99.3%