| | """ |
| | BackgroundFX Pro API Module. |
| | Provides high-level interfaces for processing, streaming, and serving. |
| | """ |
| |
|
| | from .pipeline import ( |
| | ProcessingPipeline, |
| | PipelineConfig, |
| | PipelineResult, |
| | ProcessingMode, |
| | PipelineStage |
| | ) |
| |
|
| | from .video_processor import ( |
| | VideoProcessorAPI, |
| | VideoStats, |
| | StreamConfig, |
| | VideoStreamMode, |
| | OutputFormat |
| | ) |
| |
|
| | from .batch_processor import ( |
| | BatchProcessor, |
| | BatchConfig, |
| | BatchItem, |
| | BatchReport, |
| | BatchPriority, |
| | FileType |
| | ) |
| |
|
| | from .api_server import ( |
| | app, |
| | ServerConfig, |
| | ProcessingRequest, |
| | ImageProcessingRequest, |
| | VideoProcessingRequest, |
| | BatchProcessingRequest, |
| | StreamingRequest, |
| | ProcessingResponse, |
| | JobStatus, |
| | JobManager |
| | ) |
| |
|
| | from .websocket import ( |
| | WebSocketHandler, |
| | WebSocketServer, |
| | WSMessage, |
| | MessageType, |
| | ClientSession, |
| | SessionManager, |
| | FrameProcessor, |
| | start_standalone_server |
| | ) |
| |
|
| | __all__ = [ |
| | |
| | 'ProcessingPipeline', |
| | 'PipelineConfig', |
| | 'PipelineResult', |
| | 'ProcessingMode', |
| | 'PipelineStage', |
| | |
| | |
| | 'VideoProcessorAPI', |
| | 'VideoStats', |
| | 'StreamConfig', |
| | 'VideoStreamMode', |
| | 'OutputFormat', |
| | |
| | |
| | 'BatchProcessor', |
| | 'BatchConfig', |
| | 'BatchItem', |
| | 'BatchReport', |
| | 'BatchPriority', |
| | 'FileType', |
| | |
| | |
| | 'app', |
| | 'ServerConfig', |
| | 'ProcessingRequest', |
| | 'ImageProcessingRequest', |
| | 'VideoProcessingRequest', |
| | 'BatchProcessingRequest', |
| | 'StreamingRequest', |
| | 'ProcessingResponse', |
| | 'JobStatus', |
| | 'JobManager', |
| | |
| | |
| | 'WebSocketHandler', |
| | 'WebSocketServer', |
| | 'WSMessage', |
| | 'MessageType', |
| | 'ClientSession', |
| | 'SessionManager', |
| | 'FrameProcessor', |
| | 'start_standalone_server' |
| | ] |
| |
|
| | |
| | __version__ = '1.0.0' |
| |
|
| | |
| | def start_api_server(host: str = "0.0.0.0", port: int = 8000, **kwargs): |
| | """Quick start the REST API server.""" |
| | import uvicorn |
| | from .api_server import app, config |
| | |
| | config.HOST = host |
| | config.PORT = port |
| | |
| | for key, value in kwargs.items(): |
| | if hasattr(config, key.upper()): |
| | setattr(config, key.upper(), value) |
| | |
| | uvicorn.run(app, host=host, port=port) |
| |
|
| |
|
| | def start_websocket_server(host: str = "0.0.0.0", port: int = 8001): |
| | """Quick start the WebSocket server.""" |
| | import asyncio |
| | asyncio.run(start_standalone_server(host, port)) |
| |
|
| |
|
| | def create_pipeline(**kwargs) -> ProcessingPipeline: |
| | """Create a configured processing pipeline.""" |
| | config = PipelineConfig(**kwargs) |
| | return ProcessingPipeline(config) |
| |
|
| |
|
| | def create_batch_processor(**kwargs) -> BatchProcessor: |
| | """Create a configured batch processor.""" |
| | config = BatchConfig(**kwargs) |
| | return BatchProcessor(config) |