Add optional 360° video processing dependencies

- Add video-360 extra for core 360° processing (py360convert, opencv, numpy, scipy)
- Add spatial-audio extra for spatial audio processing (librosa, soundfile)
- Add metadata-360 extra for enhanced metadata extraction (exifread)
- Add video-360-full extra for complete 360° feature set
- Update README with installation options and feature documentation
- Maintain backward compatibility with existing basic installation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Ryan Malloy 2025-09-05 09:26:30 -06:00
parent 665fa1db4b
commit 9c0bd90299
2 changed files with 74 additions and 2 deletions

View File

@ -63,6 +63,17 @@
- **uv** for lightning-fast dependency management
- **ruff** for code quality and formatting
</td>
</tr>
<tr>
<td colspan="2">
### 🌐 **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
</td>
</tr>
</table>
@ -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
```

View File

@ -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"]