Implement video processing module with FFmpeg conversion, OpenCV metadata extraction, and file system repository

- Added FFmpegVideoConverter for video format conversion using FFmpeg.
- Implemented NoOpVideoConverter for scenarios where FFmpeg is unavailable.
- Created OpenCVMetadataExtractor for extracting video metadata.
- Developed FileSystemVideoRepository for managing video files in the file system.
- Integrated video services with dependency injection in VideoModule.
- Established API routes for video management and streaming.
- Added request/response schemas for video metadata and streaming information.
- Implemented caching mechanisms for video streaming.
- Included error handling and logging throughout the module.
This commit is contained in:
Alireza Vaezi
2025-08-04 16:44:53 -04:00
parent 28400fbfb8
commit 37553163db
41 changed files with 4497 additions and 38 deletions

View File

@@ -0,0 +1,18 @@
"""
Video Presentation Layer.
Contains HTTP controllers, request/response models, and API route definitions.
"""
from .controllers import VideoController, StreamingController
from .schemas import VideoInfoResponse, VideoListResponse, StreamingInfoResponse
from .routes import create_video_routes
__all__ = [
"VideoController",
"StreamingController",
"VideoInfoResponse",
"VideoListResponse",
"StreamingInfoResponse",
"create_video_routes",
]