From c9428228687412d35e6228c3260f43b8a2906f90 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 7 Mar 2026 02:36:01 +0000 Subject: [PATCH 1/3] Initial plan From 7efa9cbd891c40b63c206fdb4c4d18cb743857d9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 7 Mar 2026 02:45:11 +0000 Subject: [PATCH 2/3] Add video document type support (10_video) with Whisper transcription and OpenCV frame extraction Co-authored-by: fnusatvik07 <177245849+fnusatvik07@users.noreply.github.com> --- README.md | 6 +- pyproject.toml | 4 + .../10_video/01_whisper_transcription.py | 335 ++++++++++++++++ .../10_video/02_frame_extraction.py | 366 ++++++++++++++++++ unstructured_documents/10_video/__init__.py | 0 .../10_video/sample_docs/generate_samples.py | 214 ++++++++++ .../10_video/sample_docs/lecture.mp4 | Bin 0 -> 206972 bytes .../10_video/sample_docs/short_clip.mp4 | Bin 0 -> 10934 bytes unstructured_documents/README.md | 6 +- 9 files changed, 929 insertions(+), 2 deletions(-) create mode 100644 unstructured_documents/10_video/01_whisper_transcription.py create mode 100644 unstructured_documents/10_video/02_frame_extraction.py create mode 100644 unstructured_documents/10_video/__init__.py create mode 100644 unstructured_documents/10_video/sample_docs/generate_samples.py create mode 100644 unstructured_documents/10_video/sample_docs/lecture.mp4 create mode 100644 unstructured_documents/10_video/sample_docs/short_clip.mp4 diff --git a/README.md b/README.md index ac5f045..e19f0d8 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ The definitive single-repository guide for parsing and preparing documents for R ### [Unstructured Documents](unstructured_documents/) -9 document types, 26+ extraction methods, all with working Python code and sample documents: +10 document types, 28+ extraction methods, all with working Python code and sample documents: | Type | Methods | Key Libraries | |------|---------|---------------| @@ -19,6 +19,7 @@ The definitive single-repository guide for parsing and preparing documents for R | Email (EML) | stdlib email parsing, structured extraction | email (stdlib) | | Markdown / Text | Chunking strategies, AST parsing, semantic chunking | mistune | | EPUB | ebooklib extraction, full text pipeline | ebooklib | +| Video | Whisper transcription, keyframe extraction | openai-whisper, opencv | ### [Advanced Methods](advanced_methods/) @@ -42,6 +43,9 @@ uv sync # Install optional OCR dependencies uv sync --extra ocr +# Install optional video dependencies (Whisper + OpenCV) +uv sync --extra video + # Install advanced parsing libraries (pick what you need) uv sync --extra docling # IBM Docling uv sync --extra unstructured # Unstructured.io diff --git a/pyproject.toml b/pyproject.toml index 6858d9f..ea1d565 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -58,3 +58,7 @@ llamaparse = [ marker = [ "marker-pdf>=1.0", ] +video = [ + "openai-whisper>=20231117", + "opencv-python-headless>=4.8", +] diff --git a/unstructured_documents/10_video/01_whisper_transcription.py b/unstructured_documents/10_video/01_whisper_transcription.py new file mode 100644 index 0000000..662878b --- /dev/null +++ b/unstructured_documents/10_video/01_whisper_transcription.py @@ -0,0 +1,335 @@ +""" +Video transcription using OpenAI Whisper. + +Whisper is a general-purpose speech recognition model from OpenAI. +It can transcribe audio in multiple languages with word-level timestamps. +For video files, we first extract the audio track, then run Whisper on it. + +Requirements: + - System: ffmpeg must be installed on the OS + macOS: brew install ffmpeg + Ubuntu: sudo apt-get install ffmpeg + Windows: https://www.gyan.dev/ffmpeg/builds/ + - Python: pip install openai-whisper + +Strengths: High accuracy, multilingual, word-level timestamps, fully local. +Weaknesses: Requires ffmpeg, GPU recommended for speed, large model downloads. + +Usage: + uv run python unstructured_documents/10_video/01_whisper_transcription.py +""" + +import subprocess +import sys +import tempfile +from pathlib import Path + +# Allow imports from project root +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) + +from unstructured_documents.shared.chunking import ( + chunk_by_characters, + chunk_by_sentences, + preview_chunks, +) + +# --------------------------------------------------------------------------- +# Paths +# --------------------------------------------------------------------------- +SAMPLE_DIR = Path(__file__).resolve().parent / "sample_docs" +LECTURE_VIDEO = SAMPLE_DIR / "lecture.mp4" + + +def check_whisper_available() -> bool: + """Check if openai-whisper and ffmpeg are available.""" + try: + import whisper # noqa: F401 + + return True + except ImportError: + print("=" * 60) + print("openai-whisper is NOT installed.") + print("=" * 60) + print() + print("Install it with:") + print(" uv sync --extra video") + print(" # or: uv pip install openai-whisper") + print() + print("You also need ffmpeg on your system:") + print(" macOS: brew install ffmpeg") + print(" Ubuntu: sudo apt-get install ffmpeg") + print(" Windows: https://www.gyan.dev/ffmpeg/builds/") + print() + return False + + +def check_ffmpeg_available() -> bool: + """Check if ffmpeg is available on the system.""" + try: + result = subprocess.run( + ["ffmpeg", "-version"], + capture_output=True, + text=True, + ) + return result.returncode == 0 + except FileNotFoundError: + print("=" * 60) + print("ffmpeg is NOT installed.") + print("=" * 60) + print() + print("Install it:") + print(" macOS: brew install ffmpeg") + print(" Ubuntu: sudo apt-get install ffmpeg") + print(" Windows: https://www.gyan.dev/ffmpeg/builds/") + print() + return False + + +def extract_audio(video_path: Path, output_path: Path | None = None) -> Path: + """ + Extract audio track from a video file using ffmpeg. + + Converts the audio to 16kHz mono WAV, which is the format Whisper expects. + If output_path is not specified, creates a temporary file. + """ + if output_path is None: + output_path = Path(tempfile.mktemp(suffix=".wav")) + + subprocess.run( + [ + "ffmpeg", + "-i", + str(video_path), + "-vn", # No video + "-acodec", + "pcm_s16le", # 16-bit PCM + "-ar", + "16000", # 16kHz sample rate + "-ac", + "1", # Mono + "-y", # Overwrite + str(output_path), + ], + capture_output=True, + check=True, + ) + return output_path + + +def transcribe_video(video_path: Path, model_size: str = "base") -> dict: + """ + Transcribe a video file using Whisper. + + Extracts audio from the video, then runs Whisper speech recognition. + Returns a dict with the full transcript text, language, and segments. + + Model sizes (accuracy vs speed tradeoff): + - tiny: ~1GB RAM, fastest, lower accuracy + - base: ~1GB RAM, good balance (recommended to start) + - small: ~2GB RAM, better accuracy + - medium: ~5GB RAM, high accuracy + - large: ~10GB RAM, highest accuracy + """ + import whisper + + model = whisper.load_model(model_size) + + # Whisper can handle video files directly if ffmpeg is available + result = model.transcribe(str(video_path)) + + return { + "text": result["text"].strip(), + "language": result.get("language", "unknown"), + "segments": [ + { + "start": seg["start"], + "end": seg["end"], + "text": seg["text"].strip(), + } + for seg in result.get("segments", []) + ], + } + + +def transcribe_with_timestamps( + video_path: Path, model_size: str = "base" +) -> list[dict]: + """ + Transcribe video and return timestamped segments. + + Each segment includes start time, end time, and text. + Useful for creating time-indexed chunks for RAG so users + can be directed to the exact moment in the video. + """ + result = transcribe_video(video_path, model_size) + return result["segments"] + + +def extract_metadata(video_path: Path) -> dict: + """ + Extract video metadata using ffprobe (part of ffmpeg). + + Returns duration, resolution, frame rate, codec, and file size. + """ + result = subprocess.run( + [ + "ffprobe", + "-v", + "quiet", + "-print_format", + "json", + "-show_format", + "-show_streams", + str(video_path), + ], + capture_output=True, + text=True, + ) + + if result.returncode != 0: + return {"error": "ffprobe failed", "file": str(video_path)} + + import json + + probe = json.loads(result.stdout) + + metadata = { + "filename": video_path.name, + "file_size_bytes": int(probe.get("format", {}).get("size", 0)), + "duration_seconds": float(probe.get("format", {}).get("duration", 0)), + "format": probe.get("format", {}).get("format_long_name", "unknown"), + } + + # Find video stream info + for stream in probe.get("streams", []): + if stream.get("codec_type") == "video": + metadata["width"] = stream.get("width") + metadata["height"] = stream.get("height") + metadata["fps"] = stream.get("r_frame_rate", "unknown") + metadata["video_codec"] = stream.get("codec_name", "unknown") + break + + # Find audio stream info + for stream in probe.get("streams", []): + if stream.get("codec_type") == "audio": + metadata["audio_codec"] = stream.get("codec_name", "unknown") + metadata["sample_rate"] = stream.get("sample_rate", "unknown") + metadata["channels"] = stream.get("channels", 0) + break + + return metadata + + +def format_timestamp(seconds: float) -> str: + """Convert seconds to HH:MM:SS format.""" + h = int(seconds // 3600) + m = int((seconds % 3600) // 60) + s = int(seconds % 60) + return f"{h:02d}:{m:02d}:{s:02d}" + + +def demo_metadata(): + """Show video metadata extraction.""" + print("=" * 70) + print("1. VIDEO METADATA EXTRACTION (ffprobe)") + print("=" * 70) + + metadata = extract_metadata(LECTURE_VIDEO) + for key, value in metadata.items(): + print(f" {key:20s}: {value}") + + +def demo_transcription(): + """Show full video transcription using Whisper.""" + print("\n" + "=" * 70) + print("2. FULL TRANSCRIPTION (Whisper)") + print("=" * 70) + + result = transcribe_video(LECTURE_VIDEO, model_size="base") + print(f"\nDetected language: {result['language']}") + print(f"Transcript length: {len(result['text']):,} characters") + print(f"\nFull transcript:") + print(result["text"][:500]) + if len(result["text"]) > 500: + print("...") + + +def demo_timestamped_segments(): + """Show timestamped transcription segments.""" + print("\n" + "=" * 70) + print("3. TIMESTAMPED SEGMENTS (Whisper)") + print("=" * 70) + + segments = transcribe_with_timestamps(LECTURE_VIDEO, model_size="base") + print(f"\nTotal segments: {len(segments)}") + for seg in segments[:10]: + start = format_timestamp(seg["start"]) + end = format_timestamp(seg["end"]) + print(f" [{start} -> {end}] {seg['text']}") + + if len(segments) > 10: + print(f" ... and {len(segments) - 10} more segments") + + +def demo_chunking(): + """Show how to chunk transcribed text for RAG.""" + print("\n" + "=" * 70) + print("4. CHUNKING TRANSCRIPT FOR RAG") + print("=" * 70) + + result = transcribe_video(LECTURE_VIDEO, model_size="base") + text = result["text"] + print(f"\nTranscript length: {len(text):,} characters") + + # Strategy 1: Character chunks + print("\n--- Strategy: Character Chunking (500 chars, 50 overlap) ---") + char_chunks = chunk_by_characters(text, chunk_size=500, overlap=50) + preview_chunks(char_chunks, max_preview=2, max_chars=150) + + # Strategy 2: Sentence-based chunks + print("\n--- Strategy: Sentence Chunking (5 sentences per chunk) ---") + sent_chunks = chunk_by_sentences(text, sentences_per_chunk=5, overlap_sentences=1) + preview_chunks(sent_chunks, max_preview=2, max_chars=150) + + # Summary comparison + print("\n--- Chunking Strategy Comparison ---") + print(f" {'Strategy':<25s} {'Chunks':>8s} {'Avg Size':>10s}") + print(f" {'-'*25} {'-'*8} {'-'*10}") + for name, chunks in [ + ("Character (500)", char_chunks), + ("Sentence (5/chunk)", sent_chunks), + ]: + sizes = [len(c) for c in chunks] + avg = sum(sizes) / len(sizes) if sizes else 0 + print(f" {name:<25s} {len(chunks):>8d} {avg:>10.1f}") + + +if __name__ == "__main__": + if not LECTURE_VIDEO.exists(): + print(f"ERROR: {LECTURE_VIDEO} not found.") + print("Run generate_samples.py first:") + print( + " uv run python unstructured_documents/10_video/sample_docs/generate_samples.py" + ) + sys.exit(1) + + # Always show metadata (requires only ffprobe) + if check_ffmpeg_available(): + demo_metadata() + else: + print("Skipping metadata demo (ffmpeg/ffprobe not available).") + + # Transcription demos require Whisper + if check_whisper_available() and check_ffmpeg_available(): + demo_transcription() + demo_timestamped_segments() + demo_chunking() + + print("\n" + "=" * 70) + print("Done. Whisper provides accurate speech-to-text for video RAG.") + print("For visual content extraction, see 02_frame_extraction.py") + print("=" * 70) + else: + print("\nSkipping transcription demos (Whisper or ffmpeg not available).") + print("Install with: uv sync --extra video") + print("Also install ffmpeg on your system (see docs above).") diff --git a/unstructured_documents/10_video/02_frame_extraction.py b/unstructured_documents/10_video/02_frame_extraction.py new file mode 100644 index 0000000..6133c89 --- /dev/null +++ b/unstructured_documents/10_video/02_frame_extraction.py @@ -0,0 +1,366 @@ +""" +Video frame extraction using OpenCV. + +Extract frames from video files for visual analysis in RAG systems. +Keyframes capture visual content (slides, diagrams, scenes) that text +transcription alone would miss. Combine with Whisper transcripts for +comprehensive video understanding. + +Requirements: + - Python: opencv-python-headless (or opencv-python) + +Strengths: No external services needed, fast, precise frame control. +Weaknesses: Frames are images (need vision model for text description), + keyframe detection is heuristic-based. + +Usage: + uv run python unstructured_documents/10_video/02_frame_extraction.py +""" + +import sys +from pathlib import Path + +# Allow imports from project root +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) + +from unstructured_documents.shared.chunking import ( + chunk_by_characters, + preview_chunks, +) + +# --------------------------------------------------------------------------- +# Paths +# --------------------------------------------------------------------------- +SAMPLE_DIR = Path(__file__).resolve().parent / "sample_docs" +LECTURE_VIDEO = SAMPLE_DIR / "lecture.mp4" + + +def check_opencv_available() -> bool: + """Check if OpenCV is available.""" + try: + import cv2 # noqa: F401 + + return True + except ImportError: + print("=" * 60) + print("opencv-python-headless is NOT installed.") + print("=" * 60) + print() + print("Install it with:") + print(" uv sync --extra video") + print(" # or: uv pip install opencv-python-headless") + print() + return False + + +def extract_metadata(video_path: Path) -> dict: + """ + Extract video metadata using OpenCV. + + Returns basic video properties: duration, frame count, resolution, FPS. + For more detailed metadata (codecs, audio info), use ffprobe + (see 01_whisper_transcription.py). + """ + import cv2 + + cap = cv2.VideoCapture(str(video_path)) + if not cap.isOpened(): + return {"error": f"Cannot open video: {video_path}"} + + metadata = { + "filename": video_path.name, + "width": int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)), + "height": int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)), + "fps": cap.get(cv2.CAP_PROP_FPS), + "frame_count": int(cap.get(cv2.CAP_PROP_FRAME_COUNT)), + "duration_seconds": ( + cap.get(cv2.CAP_PROP_FRAME_COUNT) / cap.get(cv2.CAP_PROP_FPS) + if cap.get(cv2.CAP_PROP_FPS) > 0 + else 0 + ), + "codec": int(cap.get(cv2.CAP_PROP_FOURCC)), + } + + cap.release() + return metadata + + +def extract_frames_at_interval( + video_path: Path, + interval_sec: float = 1.0, + output_dir: Path | None = None, +) -> list[dict]: + """ + Extract frames at regular time intervals. + + Good for: slide-based videos, lectures, presentations where content + changes at predictable intervals. + + Returns list of dicts with frame index, timestamp, and file path. + If output_dir is None, frames are not saved to disk (metadata only). + """ + import cv2 + + cap = cv2.VideoCapture(str(video_path)) + if not cap.isOpened(): + return [] + + fps = cap.get(cv2.CAP_PROP_FPS) + total_frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT)) + frame_interval = max(1, int(fps * interval_sec)) + + frames = [] + frame_idx = 0 + + while True: + ret, frame = cap.read() + if not ret: + break + + if frame_idx % frame_interval == 0: + timestamp = frame_idx / fps if fps > 0 else 0 + frame_info = { + "frame_index": frame_idx, + "timestamp_sec": round(timestamp, 2), + "width": frame.shape[1], + "height": frame.shape[0], + } + + if output_dir is not None: + output_dir.mkdir(parents=True, exist_ok=True) + filename = f"frame_{frame_idx:06d}.png" + filepath = output_dir / filename + cv2.imwrite(str(filepath), frame) + frame_info["file_path"] = str(filepath) + + frames.append(frame_info) + + frame_idx += 1 + + cap.release() + return frames + + +def extract_keyframes( + video_path: Path, + threshold: float = 30.0, + output_dir: Path | None = None, +) -> list[dict]: + """ + Extract keyframes based on scene change detection. + + Compares consecutive frames using mean absolute difference. + When the difference exceeds the threshold, the frame is considered + a scene change / keyframe. + + Good for: videos with distinct scenes, slide transitions, topic changes. + The threshold controls sensitivity (lower = more keyframes detected). + + Returns list of dicts with frame index, timestamp, change score, and + optionally the saved file path. + """ + import cv2 + import numpy as np + + cap = cv2.VideoCapture(str(video_path)) + if not cap.isOpened(): + return [] + + fps = cap.get(cv2.CAP_PROP_FPS) + keyframes = [] + prev_gray = None + frame_idx = 0 + + while True: + ret, frame = cap.read() + if not ret: + break + + gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) + + if prev_gray is not None: + diff = cv2.absdiff(prev_gray, gray) + change_score = float(np.mean(diff)) + + if change_score > threshold: + timestamp = frame_idx / fps if fps > 0 else 0 + frame_info = { + "frame_index": frame_idx, + "timestamp_sec": round(timestamp, 2), + "change_score": round(change_score, 2), + "width": frame.shape[1], + "height": frame.shape[0], + } + + if output_dir is not None: + output_dir.mkdir(parents=True, exist_ok=True) + filename = f"keyframe_{frame_idx:06d}.png" + filepath = output_dir / filename + cv2.imwrite(str(filepath), frame) + frame_info["file_path"] = str(filepath) + + keyframes.append(frame_info) + + # Always capture first frame as a keyframe + elif frame_idx == 0: + timestamp = 0.0 + frame_info = { + "frame_index": 0, + "timestamp_sec": 0.0, + "change_score": 0.0, + "width": frame.shape[1], + "height": frame.shape[0], + } + + if output_dir is not None: + output_dir.mkdir(parents=True, exist_ok=True) + filepath = output_dir / "keyframe_000000.png" + cv2.imwrite(str(filepath), frame) + frame_info["file_path"] = str(filepath) + + keyframes.append(frame_info) + + prev_gray = gray + frame_idx += 1 + + cap.release() + return keyframes + + +def build_frame_descriptions(keyframes: list[dict]) -> str: + """ + Build a text representation of extracted keyframes. + + Creates a structured text from keyframe metadata that can be + chunked and embedded for RAG. In production, you would use a + vision model (GPT-4o, Claude, etc.) to describe each frame's + visual content. + + This function creates placeholder descriptions from metadata. + Replace with vision model calls for real applications. + """ + lines = [] + for i, kf in enumerate(keyframes): + timestamp = kf["timestamp_sec"] + mins = int(timestamp // 60) + secs = int(timestamp % 60) + lines.append( + f"[{mins:02d}:{secs:02d}] Keyframe {i + 1}: " + f"Scene at {kf['timestamp_sec']}s " + f"(change score: {kf.get('change_score', 'N/A')}, " + f"resolution: {kf['width']}x{kf['height']})" + ) + + return "\n".join(lines) + + +def demo_metadata(): + """Show video metadata extraction.""" + print("=" * 70) + print("1. VIDEO METADATA EXTRACTION (OpenCV)") + print("=" * 70) + + metadata = extract_metadata(LECTURE_VIDEO) + for key, value in metadata.items(): + print(f" {key:20s}: {value}") + + +def demo_interval_extraction(): + """Show frame extraction at regular intervals.""" + print("\n" + "=" * 70) + print("2. FRAME EXTRACTION AT INTERVALS (every 1 second)") + print("=" * 70) + + frames = extract_frames_at_interval(LECTURE_VIDEO, interval_sec=1.0) + print(f"\nExtracted {len(frames)} frames at 1-second intervals") + for f in frames[:5]: + print( + f" Frame {f['frame_index']:>6d} | " + f"t={f['timestamp_sec']:>6.2f}s | " + f"{f['width']}x{f['height']}" + ) + if len(frames) > 5: + print(f" ... and {len(frames) - 5} more frames") + + +def demo_keyframe_detection(): + """Show keyframe extraction based on scene changes.""" + print("\n" + "=" * 70) + print("3. KEYFRAME DETECTION (scene change)") + print("=" * 70) + + keyframes = extract_keyframes(LECTURE_VIDEO, threshold=30.0) + print(f"\nDetected {len(keyframes)} keyframes (threshold=30.0)") + for kf in keyframes[:10]: + print( + f" Frame {kf['frame_index']:>6d} | " + f"t={kf['timestamp_sec']:>6.2f}s | " + f"change={kf['change_score']:>6.2f} | " + f"{kf['width']}x{kf['height']}" + ) + if len(keyframes) > 10: + print(f" ... and {len(keyframes) - 10} more keyframes") + + +def demo_frame_descriptions(): + """Show how to build text from keyframes for RAG chunking.""" + print("\n" + "=" * 70) + print("4. KEYFRAME DESCRIPTIONS FOR RAG") + print("=" * 70) + + keyframes = extract_keyframes(LECTURE_VIDEO, threshold=30.0) + descriptions = build_frame_descriptions(keyframes) + print(f"\nGenerated descriptions for {len(keyframes)} keyframes:") + print(descriptions) + + # Chunk the descriptions for embedding + print("\n--- Chunking Frame Descriptions ---") + chunks = chunk_by_characters(descriptions, chunk_size=300, overlap=30) + preview_chunks(chunks, max_preview=3, max_chars=200) + + +def demo_threshold_comparison(): + """Compare different keyframe detection thresholds.""" + print("\n" + "=" * 70) + print("5. THRESHOLD COMPARISON") + print("=" * 70) + + print(f"\n {'Threshold':>10s} {'Keyframes':>10s} Notes") + print(f" {'-'*10} {'-'*10} {'-'*30}") + + for threshold in [10.0, 20.0, 30.0, 50.0, 80.0]: + keyframes = extract_keyframes(LECTURE_VIDEO, threshold=threshold) + note = "" + if threshold <= 10: + note = "(very sensitive, many frames)" + elif threshold <= 30: + note = "(balanced)" + else: + note = "(less sensitive, fewer frames)" + print(f" {threshold:>10.1f} {len(keyframes):>10d} {note}") + + +if __name__ == "__main__": + if not check_opencv_available(): + print("Skipping frame extraction demos (OpenCV not available).") + sys.exit(0) + + if not LECTURE_VIDEO.exists(): + print(f"ERROR: {LECTURE_VIDEO} not found.") + print("Run generate_samples.py first:") + print( + " uv run python unstructured_documents/10_video/sample_docs/generate_samples.py" + ) + sys.exit(1) + + demo_metadata() + demo_interval_extraction() + demo_keyframe_detection() + demo_frame_descriptions() + demo_threshold_comparison() + + print("\n" + "=" * 70) + print("Done. OpenCV provides fast, local frame extraction for video RAG.") + print("Combine with Whisper transcripts (01_whisper_transcription.py)") + print("for comprehensive video understanding.") + print("=" * 70) diff --git a/unstructured_documents/10_video/__init__.py b/unstructured_documents/10_video/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/unstructured_documents/10_video/sample_docs/generate_samples.py b/unstructured_documents/10_video/sample_docs/generate_samples.py new file mode 100644 index 0000000..0468e3c --- /dev/null +++ b/unstructured_documents/10_video/sample_docs/generate_samples.py @@ -0,0 +1,214 @@ +""" +Generate sample video files for testing video extraction methods. + +Creates short videos with text overlays and spoken-word style content +that can be used to demonstrate transcription and frame extraction. + +Requirements: + - Python: opencv-python-headless (or opencv-python) + +Usage: + uv run python unstructured_documents/10_video/sample_docs/generate_samples.py +""" + +import sys +from pathlib import Path + +SAMPLE_DIR = Path(__file__).resolve().parent + + +def check_opencv_available() -> bool: + """Check if OpenCV is available.""" + try: + import cv2 # noqa: F401 + + return True + except ImportError: + print("=" * 60) + print("opencv-python-headless is NOT installed.") + print("=" * 60) + print() + print("Install it with:") + print(" uv sync --extra video") + print(" # or: uv pip install opencv-python-headless") + print() + return False + + +def generate_lecture_video(): + """ + Generate a sample 'lecture' video with text slides. + + Creates a short video (10 seconds, 1 fps) with text frames simulating + a lecture about machine learning. Each frame displays different content, + providing material for both frame extraction and (simulated) transcription. + """ + import cv2 + import numpy as np + + output_path = SAMPLE_DIR / "lecture.mp4" + + # Video settings + width, height = 640, 480 + fps = 1 + fourcc = cv2.VideoWriter_fourcc(*"mp4v") + writer = cv2.VideoWriter(str(output_path), fourcc, fps, (width, height)) + + slides = [ + { + "title": "Introduction to Machine Learning", + "body": "Machine learning is a subset of AI that enables\n" + "systems to learn from data without being\n" + "explicitly programmed.", + }, + { + "title": "Supervised Learning", + "body": "The model learns from labeled training data.\n" + "Common algorithms: Linear Regression,\n" + "Decision Trees, Neural Networks.", + }, + { + "title": "Unsupervised Learning", + "body": "The model finds patterns in unlabeled data.\n" + "Common algorithms: K-Means Clustering,\n" + "PCA, Autoencoders.", + }, + { + "title": "Deep Learning", + "body": "Neural networks with many layers can learn\n" + "complex representations. Used in image\n" + "recognition and NLP.", + }, + { + "title": "Training Process", + "body": "1. Prepare data\n" + "2. Choose architecture\n" + "3. Train with backpropagation\n" + "4. Evaluate on test set", + }, + { + "title": "Applications", + "body": "Image recognition, natural language processing,\n" + "recommendation systems, autonomous vehicles,\n" + "medical diagnosis.", + }, + { + "title": "RAG Systems", + "body": "Retrieval-Augmented Generation combines\n" + "document retrieval with language models\n" + "for accurate, grounded answers.", + }, + { + "title": "Document Parsing for RAG", + "body": "Extract text from PDFs, DOCX, HTML, images,\n" + "and video. Chunk the text and embed it\n" + "for vector search.", + }, + { + "title": "Video in RAG Pipelines", + "body": "Transcribe audio with Whisper.\n" + "Extract keyframes for visual context.\n" + "Chunk transcript for retrieval.", + }, + { + "title": "Summary", + "body": "Machine learning enables intelligent systems.\n" + "RAG makes LLMs more accurate.\n" + "Video is a rich source for RAG.", + }, + ] + + for slide in slides: + # Create a dark blue background + frame = np.zeros((height, width, 3), dtype=np.uint8) + frame[:] = (80, 50, 20) # Dark blue-gray (BGR) + + # Draw title + cv2.putText( + frame, + slide["title"], + (30, 60), + cv2.FONT_HERSHEY_SIMPLEX, + 0.8, + (255, 255, 255), + 2, + ) + + # Draw separator line + cv2.line(frame, (30, 80), (width - 30, 80), (200, 200, 200), 1) + + # Draw body text (handle newlines) + y_offset = 130 + for line in slide["body"].split("\n"): + cv2.putText( + frame, + line.strip(), + (40, y_offset), + cv2.FONT_HERSHEY_SIMPLEX, + 0.55, + (220, 220, 220), + 1, + ) + y_offset += 35 + + writer.write(frame) + + writer.release() + print(f" Created: {output_path.name} ({len(slides)} frames, {width}x{height})") + return output_path + + +def generate_short_clip(): + """ + Generate a very short video clip (3 seconds) for quick testing. + + Creates a simple video with colored frames and text, useful for + verifying that extraction pipelines work before running on longer videos. + """ + import cv2 + import numpy as np + + output_path = SAMPLE_DIR / "short_clip.mp4" + + width, height = 320, 240 + fps = 1 + fourcc = cv2.VideoWriter_fourcc(*"mp4v") + writer = cv2.VideoWriter(str(output_path), fourcc, fps, (width, height)) + + colors_and_text = [ + ((40, 40, 120), "Frame 1: Hello World"), + ((40, 120, 40), "Frame 2: RAG Pipeline"), + ((120, 40, 40), "Frame 3: Video Parsing"), + ] + + for color, text in colors_and_text: + frame = np.zeros((height, width, 3), dtype=np.uint8) + frame[:] = color + cv2.putText( + frame, + text, + (15, height // 2), + cv2.FONT_HERSHEY_SIMPLEX, + 0.5, + (255, 255, 255), + 1, + ) + writer.write(frame) + + writer.release() + print(f" Created: {output_path.name} (3 frames, {width}x{height})") + return output_path + + +if __name__ == "__main__": + if not check_opencv_available(): + sys.exit(1) + + print("Generating sample video files...") + print() + + generate_lecture_video() + generate_short_clip() + + print() + print("Done. Sample videos are ready for extraction demos.") diff --git a/unstructured_documents/10_video/sample_docs/lecture.mp4 b/unstructured_documents/10_video/sample_docs/lecture.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..54ce50ee4105b081eadbce7178c150a131489bea GIT binary patch literal 206972 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

@z>3ukiVmR3vv1>;gabL`?F2 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 literal 0 HcmV?d00001 diff --git a/unstructured_documents/10_video/sample_docs/short_clip.mp4 b/unstructured_documents/10_video/sample_docs/short_clip.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..2bad79a9e2760a1efa1903efe35bcc87bb1f2bfa GIT binary patch literal 10934 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 ZM+SLmmrjq292o`Bd~~7tc<#u>{{c|RE?ocs literal 0 HcmV?d00001 diff --git a/unstructured_documents/README.md b/unstructured_documents/README.md index 2a2a6c4..cbc5025 100644 --- a/unstructured_documents/README.md +++ b/unstructured_documents/README.md @@ -18,6 +18,7 @@ uv run python unstructured_documents/06_images_ocr/sample_docs/generate_samples. uv run python unstructured_documents/07_email/sample_docs/generate_samples.py uv run python unstructured_documents/08_markdown_txt/sample_docs/generate_samples.py uv run python unstructured_documents/09_epub/sample_docs/generate_samples.py +uv run python unstructured_documents/10_video/sample_docs/generate_samples.py # Run any extraction script uv run python unstructured_documents/01_pdf/01_pypdf_extraction.py @@ -36,6 +37,7 @@ uv run python unstructured_documents/01_pdf/01_pypdf_extraction.py | 7 | **Email (EML)** | [07_email](07_email/) | 2 | 2 | email (stdlib) | | 8 | **Markdown / Text** | [08_markdown_txt](08_markdown_txt/) | 3 | 3 | mistune, csv (stdlib) | | 9 | **EPUB (Ebooks)** | [09_epub](09_epub/) | 2 | 2 | ebooklib, BeautifulSoup | +| 10 | **Video** | [10_video](10_video/) | 2 | 2 | openai-whisper, OpenCV | ## Decision Matrix: Which Parser for Which Situation? @@ -78,6 +80,7 @@ uv run python unstructured_documents/01_pdf/01_pypdf_extraction.py | Markdown | mistune AST parsing + heading-aware chunking | | Plain text | Recursive character splitting | | EPUB | ebooklib + BeautifulSoup | +| Video | Whisper transcription + OpenCV frame extraction | ## Shared Utilities @@ -130,7 +133,8 @@ unstructured_documents/ ├── 06_images_ocr/ # OCR for images (2 methods) ├── 07_email/ # Email parsing (2 methods) ├── 08_markdown_txt/ # Markdown/text parsing (3 methods) -└── 09_epub/ # EPUB ebook parsing (2 methods) +├── 09_epub/ # EPUB ebook parsing (2 methods) +└── 10_video/ # Video parsing (2 methods) Each folder contains: ├── README.md # Comprehensive guide for that document type From f42c5d50f22318a87a262c91a271316c0d889665 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 7 Mar 2026 02:47:04 +0000 Subject: [PATCH 3/3] Fix insecure tempfile.mktemp usage - use NamedTemporaryFile instead Co-authored-by: fnusatvik07 <177245849+fnusatvik07@users.noreply.github.com> --- unstructured_documents/10_video/01_whisper_transcription.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/unstructured_documents/10_video/01_whisper_transcription.py b/unstructured_documents/10_video/01_whisper_transcription.py index 662878b..8569f1c 100644 --- a/unstructured_documents/10_video/01_whisper_transcription.py +++ b/unstructured_documents/10_video/01_whisper_transcription.py @@ -93,7 +93,9 @@ def extract_audio(video_path: Path, output_path: Path | None = None) -> Path: If output_path is not specified, creates a temporary file. """ if output_path is None: - output_path = Path(tempfile.mktemp(suffix=".wav")) + tmp = tempfile.NamedTemporaryFile(suffix=".wav", delete=False) + output_path = Path(tmp.name) + tmp.close() subprocess.run( [