← Volver al blog
IngenieríaBuild in PublicVídeo

Mi arreglo de la pantalla dividida pasó todas las pruebas. Solo arregló la mitad del fallo.

Mi clipper IA apila a dos personas en pantalla dividida vertical. Casi un tercio de esos clips duplicaba parte de la imagen. Mi primer arreglo cubrió la mitad.

11 de octubre de 2026

Mi arreglo de la pantalla dividida pasó todas las pruebas. Solo arregló la mitad del fallo.

Creado el 12 de octubre de 2026 · Actualizado el 12 de octubre de 2026

Katto convierte vídeos largos en clips verticales. Lo construyo yo solo, en público. El 10 de octubre corregí un fallo de geometría en la pantalla dividida (split screen), lo probé, lo desplegué y escribí «arreglado» en el changelog. Esa misma noche me encontré el mismo fallo, todavía ahí. Y ni siquiera después de arreglarlo dos veces la pantalla dividida quedó bien.

Para qué sirve una pantalla dividida

Un pódcast o una entrevista suele grabarse en plano abierto: dos personas en una mesa, una a cada lado de un encuadre 16:9. Un short vertical es 9:16. Si recortas el centro, te queda la mesa y ninguna cara. Si sigues a quien habla, la otra persona desaparece cada vez que responde.

Cuando las dos personas están lo bastante separadas, Katto hace otra cosa: recorta una ventana alrededor de cada persona y las apila, una encima de la otra. Dos paneles de media altura, con las dos caras visibles todo el tiempo. Es la respuesta habitual al plano de dos interlocutores, y es lo que describe la página de reencuadre.

Qué estaba fallando

Cada panel tiene un ancho, y el código ponía un tope a ese ancho para que las dos ventanas no se solaparan. El tope se calculaba a partir de la distancia entre las dos personas. Suena razonable, y mide lo que no es.

Un caso real. Una fuente de 1920 píxeles de ancho, con las dos personas a 1300 píxeles una de otra. El tope salía en 1235 y el ancho del panel en 1214, así que el tope no llegaba a actuar. Luego cada ventana se centraba en su persona y se devolvía al interior de la imagen allí donde se salía del borde. La ventana izquierda se desplazó 358 píxeles a la derecha y la derecha, 236 píxeles a la izquierda. Una hacia la otra.

Dos ventanas de 1214 píxeles necesitan 2428 píxeles para caber una al lado de la otra. La imagen tiene 1920. Hagas lo que hagas con ellas, al menos 508 píxeles acaban en los dos paneles a la vez.

Un encuadre de 1920 píxeles con dos ventanas de 1214 píxeles: necesitan 2428 píxeles, así que al menos 508 píxeles caen dentro de las dos

En pantalla, eso es una franja de la misma imagen en la parte de abajo del panel superior y en la parte de arriba del panel inferior: un hombro dos veces, media cara dos veces, a veces la persona entera dos veces.

La regla de la que debería haber partido cabe en una línea: dos ventanas de ancho W solo caben una al lado de la otra si 2W no supera el ancho de la imagen. La distancia entre las personas no tiene nada que ver.

Con qué frecuencia pasaba

Revisé los clips en pantalla dividida que Katto ya había entregado y leí el solapamiento directamente de su geometría guardada: el borde derecho de la primera ventana menos el borde izquierdo de la segunda.

El 31 % se solapaba. De esos:

SolapamientoProporciónLo que se ve
300 px o más18 %una persona o un torso duplicados
de 150 a 299 px15 %un trozo de cuerpo en el borde interior
de 60 a 149 px36 %una franja de fondo
menos de 60 px30 %nada que llegues a notar

Los porcentajes están redondeados, por eso suman 99. Más o menos, un tercio invisible, un tercio sutil y un tercio claramente roto. El peor caso fueron los 508 píxeles de arriba.

Mi primer recuento daba un 23 %, no un 31. Había calculado el solapamiento a partir de un campo que falta en algunos clips antiguos, y esas filas se saltaron sin ningún aviso. La cifra parecía plausible, así que estuve a punto de quedármela.

El arreglo y las pruebas que pasó

El nuevo tope es la regla de una línea: cada panel ocupa como mucho la mitad de la imagen, y las dos ventanas se colocan de forma que no puedan cruzarse. Solo actúa cuando la colocación original se solapa de verdad. Una versión anterior recalculaba la geometría en todos los casos y movía un píxel o dos un puñado de clips que estaban bien. Un arreglo que toca clips que estaban bien es un segundo fallo.

Después, las comprobaciones. Volví a procesar un lote de clips guardados con el arreglo desactivado y activado: todo lo que no se solapaba salió idéntico, y los únicos clips que cambiaron fueron exactamente los que se solapaban. Luego, un trabajo nuevo con un vídeo real: 12 clips en pantalla dividida, el tope actuó en 3, ninguno solapado.

Lo desplegué y lo anoté en el changelog como arreglado.

Esa misma noche

Un vídeo de prueba más. Un clip salió con un solapamiento de 44 píxeles, con el arreglo activado.

Había dos funciones. Una se ocupa del caso clásico, dos personas frente a frente en una mesa, y le da un primer plano a cada una. La otra es el recurso general, que se usa cuando la primera se descarta: toma las caras situadas más a la izquierda y más a la derecha en cada fotograma y divide a partir de ellas. Las dos producen un clip en pantalla dividida con su propio par de posiciones de ventana. Las dos tenían el mismo defecto, casi palabra por palabra. Yo había arreglado la primera y nunca abrí la segunda.

Lo que más fastidia es lo convincentes que parecían las pruebas. Mi medición y mi lote de prueba mezclaban los dos caminos de código, y yo no tenía ni idea. El primer arreglo limpió lo suficiente de la muestra como para que el resultado pareciera completo. Una medición hecha sobre resultados guardados cuenta síntomas. No te dice cuántos sitios los producen.

El segundo arreglo es la misma regla en la segunda función. Repetido sobre el mismo lote: cuatro clips más corregidos, solapamientos de 56, 124, 230 y 340 píxeles, todos a cero, y nada más se movió. El de 56 píxeles había atravesado intacto el arreglo de la mañana. Ahí está la fuga, pillada in fraganti.

Buscar un tercero

Antes de escribir «arreglado» por segunda vez, busqué en el código todo lo que fija la posición de una ventana. Cuatro sitios, no uno. Dos son las funciones de arriba, ya corregidas las dos. El tercero construye los paneles a partir de una línea divisoria que ya ha encontrado y limita cada panel al espacio de su lado de esa línea, así que sus dos ventanas no pueden cruzarse por construcción. El cuarto solo pasa los valores del tercero.

Así que esta vez lo que afirmo es más acotado: ninguna pantalla dividida renderizada desde el 10 de octubre pone la misma parte de la imagen en los dos paneles. Los clips renderizados antes conservan la geometría con la que se hicieron.

Lo que todavía no está bien

No duplicar la imagen es un mínimo, no una buena pantalla dividida. Tres cosas que veo hoy en vídeos reales:

Los paneles son demasiado anchos para las personas que contienen. Cada panel se dimensiona a partir de la imagen, no de la persona. En un plano abierto de estudio, alguien puede ocupar un tercio de su panel y el resto queda para el decorado de detrás. Dos paneles medio vacíos pueden verse peor que un solo plano bien encuadrado, y es la razón por la que todavía no he abierto la pantalla dividida a más tipos de plano. Ajustar cada panel alrededor de su persona es el siguiente trabajo.

Un intercambio corto dentro de un clip más largo no se divide. La decisión se toma para el clip entero. Si una persona habla cuarenta segundos y la segunda interviene durante cinco, el clip se queda en un único encuadre y la respuesta ocurre fuera de plano.

Algunos planos de dos personas nunca se reconocen como tales. El disparador cuenta caras. De perfil, a distancia o con mala luz, el detector de caras puede perder a una persona que el detector de cuerpos ve en todos los fotogramas, y el clip vuelve a un único encuadre.

Ninguno de estos problemas duplica nada. Son la diferencia entre una pantalla dividida que no está rota y una que de verdad está bien, y prefiero decirlo antes que dejar que «arreglado» valga para las dos cosas.

Lo que me llevo de esto

Cuando un arreglo funciona, busca los otros sitios que producen el mismo resultado. No solo el sitio donde encontraste el fallo: todos los que pueden generar el mismo tipo de resultado. Aquí fue una sola búsqueda de un solo nombre de campo, y la hice después de desplegar en vez de antes.

Una cifra agregada no puede decirte que un arreglo está completo. Bajó mucho, y una gran bajada es justo lo que hace que dejes de buscar.

Una métrica que se salta filas en silencio es peor que una que falla. Un campo ausente convirtió un 31 % en un 23 sin un solo aviso.

Parte de la restricción, no de un indicador indirecto. El tope se construyó a partir de la distancia entre dos personas porque ese número estaba a mano. El límite real era el ancho de la imagen, que también estaba a mano.

La entrada del changelog (en inglés) decía «arreglado» el 10 de octubre, unas horas antes de tiempo. Ahora cuenta lo que pasó.

Artículos relacionados

¿Listo para convertir tus vídeos en clips virales?

Katto recorta, subtitula y reencuadra automáticamente tus vídeos largos en contenido de formato corto.

Prueba Katto gratis →
Mi arreglo de la pantalla dividida pasó todas las pruebas. Solo arregló la mitad del fallo. | Katto