diff --git a/services/imajin-video/service/src/api/app.py b/services/imajin-video/service/src/api/app.py index ef57c30c..05b8843b 100644 --- a/services/imajin-video/service/src/api/app.py +++ b/services/imajin-video/service/src/api/app.py @@ -22,9 +22,10 @@ from detection.face_detector import FaceDetector from jobs.job_store import JobStore from jobs.protect_job_store import ProtectJobStore from pipeline.protection_processor import ProtectionProcessor +from pipeline.transcode_processor import TranscodeProcessor from pipeline.video_processor import VideoProcessor -from .routes import detect, health, invisible_protect, media, process, recordings +from .routes import detect, health, invisible_protect, media, process, recordings, transcode # --------------------------------------------------------------------------- # Structured logging @@ -87,12 +88,14 @@ async def initialize_components() -> None: detector=detector, protect_job_store=protect_job_store, ) + transcode_processor = TranscodeProcessor(job_store=job_store) lifespan.set_state("detector", detector) lifespan.set_state("job_store", job_store) lifespan.set_state("protect_job_store", protect_job_store) lifespan.set_state("processor", processor) lifespan.set_state("protection_processor", protection_processor) + lifespan.set_state("transcode_processor", transcode_processor) logger.info("imajin-video service ready") @@ -134,6 +137,7 @@ def create_app() -> FastAPI: app.include_router(health.router) app.include_router(process.router) + app.include_router(transcode.router) app.include_router(invisible_protect.router) app.include_router(media.router) app.include_router(recordings.router) @@ -150,6 +154,7 @@ def create_app() -> FastAPI: "face_disguise": "POST /face-disguise", "invisible_protect": "POST /invisible-protect", "protections": "GET /protections", + "transcode": "POST /transcode", "job_status": "GET /jobs/{job_id}", "protect_job_status": "GET /protect-jobs/{job_id}", "media_videos": "GET /media/videos",