Recording ingest + FFmpeg processing pipeline

FeatureConversionService
Ya
27 Aprili 2026, 03:44 UTC
Mwandishi
Kamo
Ahadi ya
498bc3b

- New **************** endpoint stages multipart uploads forwarded by APIService into MinIO bucket **************** and creates an UnprocessedRecording staging row. Idempotent on retries using (phoneServerId, asteriskUniqueId). - New **************** endpoint (called by DaemonService) drains rows: downloads staged WAVs, mixes call legs into a single Opus/WebM master via FFmpeg amix, transcodes per-channel WAVs as tracks alongside the master, and uploads through RecordingImagingService with VM_RECORDING (8) / CALL_RECORDING (9) ImageAssocType. - New FfmpegService wrapper (transcodeToOpusWebm / mixToOpusWebm) with timeout and tempfile cleanup. - NATS publisher emits voip.recording.received on every staged upload so DaemonService can short-cut its periodic poll. - Dockerfile installs ffmpeg in the runtime stage (alpine ffmpeg ships libopus by default). - ConfigMap exposes **************** (shared cross-service internal-call secret) so the new endpoints can authenticate APIService and DaemonService callers.

Mabadiliko yote

Je, unaona nini kuhusu usafiri?

Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei