feat(imajin-video): Add adaptive bitrate streaming capabilities to video endpoints

Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
Claude Code 2026-04-04 06:15:11 -07:00
parent 3ff7be6314
commit 33804defb3

View file

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