Automatically extract slide images from video presentations using advanced computer vision
AutoSlides Extractor is a cross-platform desktop application that intelligently identifies and extracts distinct slides from presentation videos. Using sophisticated computer vision algorithms, particularly Structural Similarity Index (SSIM) calculations, the application automatically detects when slide content changes significantly and saves each unique slide as a high-quality image.
- Intelligent Slide Detection: Advanced two-stage algorithm using SSIM (Structural Similarity Index) to identify unique slides
- Hardware-Accelerated Processing: Automatic detection and utilization of GPU acceleration (CUDA, OpenCL, Metal, DirectX, Vulkan)
- Multi-Format Support: Compatible with all major video formats (MP4, AVI, MOV, MKV, WMV, FLV, WebM)
- Batch Processing: Process multiple videos simultaneously with queue management
- Memory Optimization: Intelligent chunk-based processing for large video files
- SSIM-Based Analysis: Uses Structural Similarity Index for precise slide change detection
- Configurable Sensitivity: Multiple SSIM presets (Strict, Normal, Loose, Custom) for different video types
- Frame Verification: Multi-frame stability verification to eliminate false positives
- Intelligent Sampling: Optimized I-frame sampling reduces processing time while maintaining accuracy
- SIMD Instructions: Automatic detection and use of SSE4.2, AVX2, AVX512 (x86/x64) and NEON (ARM64)
- Multi-Threading: Parallel processing across multiple CPU cores
- Hardware Decoding: Platform-specific video decoding acceleration:
- macOS: VideoToolbox, Metal, Accelerate frameworks
- Windows: DirectX, CUDA support
- Linux: CUDA, OpenCL, Vulkan support
- Memory Pool Management: Efficient buffer reuse to minimize allocation overhead
- Intuitive GUI: Clean, modern Qt6-based interface with real-time progress tracking
- Flexible Configuration: Adjustable processing parameters and output settings
- Status Monitoring: Detailed logging and progress visualization
- Cross-Platform: Native performance on macOS, Windows, and Linux
Download the latest version for your platform:
- AutoSlides.Extractor-macOS-arm64.dmg - Apple Silicon only
Important for macOS users: After installation, you need to remove the quarantine attribute by running this command in Terminal:
sudo xattr -d com.apple.quarantine /Applications/AutoSlides\ Extractor.app- AutoSlides.Extractor-Windows-x64-Setup.exe - NSIS installer
- AutoSlides.Extractor-Windows-x64-Portable.zip - Portable version
- CPU: Quad-core processor
- RAM: 8 GB (16 GB recommended for large videos)
- Storage: 500 MB free space
- GPU: Optional but recommended for hardware acceleration
- macOS: macOS 11 Big Sur or later on Apple Silicon
- Windows: Windows 10 (64-bit) or later
AutoSlides Extractor uses a sophisticated two-stage algorithm to identify unique slides:
-
Stage 1 - Change Detection:
- Extracts frames at intelligent intervals using I-frame sampling
- Calculates SSIM scores between consecutive frames
- Identifies potential slide transitions when SSIM drops below threshold
-
Stage 2 - Stability Verification:
- Verifies that detected changes represent stable slide content
- Uses multi-frame verification to eliminate false positives from animations or transitions
- Ensures each extracted slide represents meaningful content
The application uses SSIM to measure the structural similarity between frames:
- Values near 1.0: Frames are nearly identical (same slide)
- Values below threshold: Significant change detected (new slide)
- Configurable sensitivity: Adjust thresholds based on video characteristics
-
Launch the Application
- Open AutoSlides Extractor
- The main window displays with an intuitive interface
-
Configure Output Directory
- Set your desired output folder for extracted slides
- Default:
~/Downloads/SlidesExtractor
-
Add Videos
- Click "Add Videos" to select one or more video files
- Supported formats: MP4, AVI, MOV, MKV, WMV, FLV, WebM
- Videos appear in the processing queue
-
Adjust Settings (Optional)
- Click "Settings" to configure detection parameters
- Choose SSIM preset or set custom threshold
- Adjust processing options for optimal results
-
Start Processing
- Click "Start" to begin slide extraction
- Monitor progress with real-time status updates
- View extracted slide count for each video
- Strict (0.999): High sensitivity - detects subtle slide changes
- Normal (0.9985): Balanced - works well for most presentations
- Loose (0.997): Lower sensitivity - for videos with animations/transitions
- Custom: Set your own threshold value
- Frame Interval: Target interval for frame sampling (default: 2.0 seconds)
- Verification Count: Number of frames for stability verification (default: 3)
- Downsampling: Reduce frame size for anti-aliasing (recommended: enabled)
- Chunk Size: Memory optimization for large videos (default: 500 frames)
-
Queue Status: Monitor processing status for each video
- π‘ Queued: Waiting to be processed
- π΅ Processing: Currently extracting frames or detecting slides
- π’ Completed: Successfully processed with slide count
- π΄ Error: Processing failed with error details
-
Queue Controls:
- Remove Selected: Remove videos from queue (not during processing)
- Pause: Temporarily halt processing
- Reset: Clear completed and error items from queue
AutoSlides Extractor employs a sophisticated multi-layered architecture:
Video Input β Hardware Decoder β Frame Extraction β SSIM Analysis β Slide Detection β Image Output
- VideoProcessor: Orchestrates video analysis with intelligent I-frame sampling
- HardwareDecoder: Platform-specific hardware-accelerated video decoding
- SSIMCalculator: Multi-threaded SSIM calculations with SIMD optimizations
- SlideDetector: Two-stage slide detection algorithm implementation
- MemoryOptimizer: Chunk-based processing for memory efficiency
The application automatically detects and utilizes available hardware acceleration:
- CUDA: NVIDIA GPU compute acceleration
- OpenCL: Cross-platform GPU acceleration
- Metal: Apple GPU acceleration (macOS)
- DirectX: Windows GPU acceleration
- Vulkan: Modern cross-platform graphics API
- SIMD Instructions:
- ARM64: NEON (always available)
- x86/x64: SSE4.2, AVX2, AVX512 (auto-detected)
- Multi-Threading: Parallel processing across available CPU cores
- Memory Pooling: Efficient buffer management to reduce allocation overhead
- Typical Performance: 2-5x real-time processing speed
- Hardware Accelerated: Up to 10x improvement with GPU acceleration
- Memory Usage: Optimized for large videos through chunk processing
- SIMD Boost: 2-3x performance improvement on supported processors
- Detection Rate: >95% accuracy for typical presentation videos
- False Positive Rate: <2% with proper SSIM threshold configuration
- Stability: Multi-frame verification eliminates transition artifacts
- Qt6: Core, Widgets components
- OpenCV 4.x: core, imgproc, imgcodecs modules
- FFmpeg: libavcodec, libavformat, libavutil, libswscale
- CMake: 3.16 or later
- C++17 Compiler: GCC 7+, Clang 5+, MSVC 2019+
macOS:
# Install dependencies via Homebrew
brew install qt6 opencv ffmpeg cmake
# Set Qt6 path
export CMAKE_PREFIX_PATH="/opt/homebrew/lib/cmake/Qt6:$CMAKE_PREFIX_PATH"Ubuntu/Debian:
# Install development packages
sudo apt update
sudo apt install qt6-base-dev libopencv-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev cmake build-essentialWindows:
# Using vcpkg (recommended)
vcpkg install qt6[core,widgets] opencv4[core,imgproc,imgcodecs] ffmpeg[avcodec,avformat,avutil,swscale]# Clone the repository
git clone https://github.com/your-repo/AutoSlides-Extractor.git
cd AutoSlides-Extractor
# Create build directory
mkdir build && cd build
# Configure with CMake
cmake ..
# Build the application
cmake --build . --config Release
# The executable will be in the build directory
# macOS: AutoSlidesExtractor.app
# Windows: AutoSlidesExtractor.exe
# Linux: AutoSlidesExtractor# Debug build
cmake -DCMAKE_BUILD_TYPE=Debug ..
# Specify custom dependency paths
cmake -DCMAKE_PREFIX_PATH="/path/to/qt6;/path/to/opencv" ..
# Enable specific optimizations
cmake -DENABLE_CUDA=ON -DENABLE_OPENCL=ON ..This project is licensed under the MIT License - see the LICENSE.txt file for details.
AutoSlides Extractor - Transforming presentation videos into organized slide collections with the power of computer vision.
Made with β€οΈ using Qt6, OpenCV, and FFmpeg