diff --git a/README.md b/README.md index ed73249..f0edd62 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,17 @@ - **uv** for lightning-fast dependency management - **ruff** for code quality and formatting + + + + + +### 🌐 **360° Video Support** *(Optional)* +- **Spherical video detection** and metadata extraction +- **Projection conversions** (equirectangular, cubemap, stereographic) +- **360° thumbnail generation** with multiple viewing angles +- **Spatial audio processing** for immersive experiences + @@ -74,11 +85,45 @@ ### Quick Install ```bash -# Using uv (recommended - fastest!) +# Basic installation (standard video processing) uv add video-processor -# Or with pip +# With 360° video support +uv add "video-processor[video-360]" + +# With spatial audio processing +uv add "video-processor[spatial-audio]" + +# Complete 360° feature set +uv add "video-processor[video-360-full]" + +# Or using pip pip install video-processor +pip install "video-processor[video-360-full]" +``` + +### Optional Features + +#### 🌐 360° Video Processing +For immersive video processing capabilities: +- **`video-360`**: Core 360° video processing (py360convert, opencv, numpy, scipy) +- **`spatial-audio`**: Spatial audio processing (librosa, soundfile) +- **`metadata-360`**: Enhanced 360° metadata extraction (exifread) +- **`video-360-full`**: Complete 360° package (includes all above) + +#### 📦 Dependency Details +```bash +# Core 360° processing +uv add "video-processor[video-360]" +# Includes: py360convert, opencv-python, numpy, scipy + +# Spatial audio support +uv add "video-processor[spatial-audio]" +# Includes: librosa, soundfile + +# Complete 360° experience +uv add "video-processor[video-360-full]" +# Includes: All 360° dependencies + exifread ``` ### Development Setup @@ -90,6 +135,9 @@ cd video_processor # Install with all development dependencies uv sync --dev +# Install with dev + 360° features +uv sync --dev --extra video-360-full + # Verify installation uv run pytest ``` diff --git a/pyproject.toml b/pyproject.toml index 8192723..9cb095f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,6 +28,30 @@ dev = [ "pytest-cov>=4.0.0", ] +# Core 360° video processing +video-360 = [ + "py360convert>=0.1.0", # 360° projection conversions + "opencv-python>=4.5.0", # Advanced image processing + "numpy>=1.21.0", # Mathematical operations + "scipy>=1.7.0", # Scientific computing for spherical geometry +] + +# Spatial audio processing for 360° videos +spatial-audio = [ + "librosa>=0.9.0", # Audio analysis and processing + "soundfile>=0.11.0", # Multi-channel audio I/O +] + +# Enhanced metadata extraction for 360° videos +metadata-360 = [ + "exifread>=3.0.0", # 360° metadata parsing +] + +# Complete 360° video package +video-360-full = [ + "video-processor[video-360,spatial-audio,metadata-360]" +] + [tool.hatch.build.targets.wheel] packages = ["src/video_processor"]