KamoCRM

Audio - una miniatura de forma de onda en la carga, picos y transcripciones bajo demanda

FeatureConversionService
Se descapó
23 de septiembre de 2026 a las 8:21 UTC
Autor
Kamo
Compromit
d2e504a

Un archivo de audio subido cayó a través de la ruta de Docs PDF, que no puede abrir uno, por lo que cada La carga de audio terminó "Conversión fallida" con una teja en blanco. El audio ahora toma su propia rama, como vídeo: transmitido a cero (nunca en el montón), decodificado ONCE en picos, y su página-0 miniatura extraída de esos picos en Java. No el showwavespic de ffmpeg, que tiene todos decodificados marco hasta el final del archivo: medido en 298 MB para un MP3 y 546 MB de 30 minutos durante una hora, encendido un hilo sin atar por carga en una vaina de tamaño para documentos; el decodificar en streaming alcanza los picos de 54 MB. FLAC, que la tabla del MIME Las tiendas como binaria genérica, se reconocen por su extensión. ******************* - GET /peaks - la duración y una forma de onda de 1.600 cubos (base64 de picos de 0 a 255). leer como arroyos y sólo se mantiene un corto por ventana de 50 ms, por lo que una hora cuesta 72.000 cortos; el decodificador del navegadorAudioData se quedaría sobre un gigabyte por la misma hora. Almacenado al lado de la archivo como archivo como .datId.peaks.v1.json, por lo que se calcula una vez por contenido. - POST.GET /transcript, una transcripción cronocondiada de la transcripción de susursper-asr (vad-filter on), ejecutada como un trabajo en un hilo virtual con su estado en .datId.transcript.v.v.json, que cualquiera de las réplicas puede leer (una mesa de trabajo en memoria sería invisible para la otra vaina). Un trabajo por vaina a la vez: Sitero-asr es una réplica de CPU compartida con el buzón de voz y la transcripción de las reuniones. Corriendo el trabajo reescribe su marcador cada minuto de su propio hilo (unido antes de que se escriba el resultado), así que un trabajo cuya vaina murió se lee como fallido después de tres golpes perdidos en lugar de bloquear al autor fuera para un tiempo de espera; ?restart=true reemplaza una transcripción terminada. Medido contra el servicio en vivo: una grabación de 2 min 7 s tomó 25 s. Ambos requieren VIEW-DOCUMENTS y el nivel de acceso a las imágenes, y sirven sólo a Recursos Humanos: buzones de voz, grabaciones de llamadas y notas de voz de chat cada una lleva una regla por registro en DocsService que este servicio no puedo ver, por lo que se quedan 404 hasta que algo que los necesita trae esa regla. La construcción también recoge los ayí de audio MIME de la biblioteca compartida de kamo: M4A, WAV, OGG y AAC subidas estaban siendo rechazados como desajuste de MIME.

Todos los cambios

Como lo que ves enviaste?

Todo llega a su espacio de trabajo por sí solo. Comience en el plan gratuito y lea esta página de nuevo en un mes.

Arranzar gratis para siempreVer Precios