Ir al contenido

Ingeniería de subtítulos

Un servidor para el salón debe leer subtítulos PGS

PGS, VobSub y los archivos sin un subtítulo utilizable revelan si un servidor conserva la sincronización, el texto y una verdadera velada en el sofá.

Diagrama que muestra los tres caminos de subtítulos de Quven, texto, reconocimiento óptico de imagen y reconocimiento de voz, que convergen en una reproducción WebVTT sincronizada

El menú de subtítulos es un buen lugar para comprobar cuánta solidez tiene realmente la reproducción de un servidor multimedia. Ábrelo sobre un remux de Blu-ray, intenta traducir la única pista decente, y descubrirás enseguida cuánto de la cadena que hay detrás se improvisó. Es la prueba que nos impusimos con Quven.

Todas las páginas de producto dicen «subtítulos compatibles». Sin embargo, con un remux cuya única buena pista es PGS, esa casilla puede significar un vídeo que se queda cargando, un flujo de subtítulos vacío o una pista que se desfasa a mitad de la película. ¿Qué fuente llega entonces a qué cliente, y qué hace el servidor cuando no es texto plano?

Lo que parece una sola función resultó ser tres sistemas que se encuentran en el reproductor, construidos en el orden en que aparecieron los problemas: la traducción de texto a texto para las pistas que ya existen, el reconocimiento óptico de los subtítulos de imagen de Blu-ray y DVD, y el reconocimiento de voz local para un archivo que carece de un punto de partida utilizable. Los tres producen una pista de texto sincronizada.

Los subtítulos de texto no son automáticamente el caso fácil

Una pista SubRip, WebVTT o ASS incrustada parece sencilla, aunque los fallos empiezan antes de que un traductor haya visto una sola palabra, al elegir qué pista leer. Un mismo archivo puede contener varios idiomas, un comentario, una pista solo de carteles y flujos duplicados con metadatos que mienten, así que tomar el primer flujo fracasaría en la mayoría de los discos. El paso de selección descarta, por tanto, las pistas inservibles y las de solo forzados cuando se piden los diálogos completos, y prefiere la más densa de las que cumplen. Y si eliges tú mismo una mala fuente, el fallo aparece donde puedes verlo, de forma deliberada, porque cambiar en silencio a otra pista haría imposible depurar el problema.

Después llega la parte poco vistosa, que son las tareas. Una traducción puede abarcar miles de réplicas, de modo que un reinicio a mitad retoma el trabajo, dos personas que piden lo mismo gastan la cuota una sola vez, y el resultado tardío de una tarea cancelada no regresa convertido en una pista nueva.

PGS y VobSub son un problema de procesamiento de imagen, no de formato de texto

Los PGS de Blu-ray, los VobSub de DVD y los subtítulos DVB son mapas de bits sin texto: cada subtítulo es una imagen con un tiempo asociado, y el motor de renderizado debe entender la paleta, la transparencia y el momento en que se borra la imagen antes incluso de que empiece el reconocimiento óptico. El enfoque evidente, que consiste en extraer unos cuantos PNG y lanzar el reconocimiento, funciona con un archivo de prueba limpio y fracasa con la mayoría de los discos reales. Una cadena fiable realiza cinco tareas:

  • Selecciona exactamente el flujo que pediste, porque una sonda puede caer en otro.
  • Resuelve la sincronización de cada réplica a partir de los datos propios del formato, no del orden en que llegan las imágenes.
  • Ignora los fotogramas de borrado transparentes sin perder una réplica auténtica.
  • Reconoce el texto de forma local con el modelo de idioma adecuado.
  • Escribe un WebVTT válido, con marcas de tiempo siempre crecientes, que no se desmorona dos horas después en una película larga.

El texto se incorpora al mismo sistema de traducción que usa una pista de texto normal. El reconocimiento de las imágenes ocurre en tu propio servidor, y solo el texto resultante puede entrar en el camino de traducción de la nube, tras las mismas comprobaciones de consentimiento y de plan (guía de privacidad). La caché del reconocimiento se indexa por el contenido decodificado de cada réplica y por sus tiempos exactos, no por el título, de modo que dos ediciones con tiempos distintos nunca se confunden.

El reconocimiento de voz es el último recurso, no un sustituto de unos buenos subtítulos

Cuando un archivo carece de texto incrustado utilizable, de salida de imagen utilizable y de archivo contiguo, el reconocimiento de voz local interviene como último recurso y solo como tal. Un buen subtítulo redactado tiene una sincronización editorial, sabe quién habla y suele ofrecer una redacción mejor que la de un reconocedor, así que una pista existente va siempre primero, y eso no cambiará. El camino es deliberadamente local:

selected audio stream → timestamp-preserving PCM → whisper.cpp → normalised WebVTT → optional translation

El flujo de audio seleccionado importa, porque una película puede llevar diálogos doblados o un comentario. La tarea pertenece al archivo exacto que elegiste y conserva la correspondencia entre las marcas de tiempo del contenedor y las muestras PCM, o las palabras se alejan poco a poco de las personas que las dicen. La salida también se valida: se rechazan las marcas de tiempo mal formadas, las réplicas se acotan a la duración del medio y se suprimen las alucinaciones sobre los silencios, mientras que el audio temporal desaparece tanto si la tarea termina como si falla o se cancela.

El resultado es un subtítulo local validado que no depende de la nube y sigue siendo útil si una traducción posterior en la nube falla. Whisper y Silero se instalan bajo demanda, y esta función forma parte de Quven desde la versión 1.1.0.

El modelo útil es una jerarquía de fuentes

La regla del producto no es «usar siempre la IA»:

  1. Usar un subtítulo de texto redactado y apto cuando exista.
  2. En caso contrario, con Max, convertir localmente en texto un subtítulo de imagen apto.
  3. Solo entonces, ofrecer el reconocimiento de voz local a partir del flujo de audio elegido.

Cada nivel deja tras de sí un recurso de subtítulos que el reproductor puede listar y reutilizar, que sobrevive a un reinicio y que informa de su etapa, y eso es lo que necesita un servidor multimedia autoalojado para ganarse la confianza con una biblioteca que mezcla remux, DVD, ediciones multilingües y algún archivo sin ningún subtítulo. Para el flujo de trabajo en el reproductor, lee cómo traducir subtítulos con IA en Quven.

Subtítulos con Pro

Escribe el subtítulo que le falta a una película

Pro escribe un subtítulo a partir del audio en tu propio servidor, y el audio nunca sale del equipo. Max añade el editor de líneas junto con la traducción a otro idioma.

Pro 3,49 € /mes

129 €, en un solo pago.

Comunidad

Comentarios

0 comentarios

Se mostrará públicamente junto a tu comentario.

Los envíos de invitados registran datos limitados de red y dispositivo para prevenir abusos. Consulta la Política de privacidad.

Todavía no hay comentarios. Inicia la conversación.

Confirmar acción

Trae tu biblioteca de vuelta a casa.

Gratis para uso personal, para instalar en tu propio equipo en pocos minutos.