InicioInfo¿Mejor desentrelazado de video? No nos engañemos

¿Mejor desentrelazado de video? No nos engañemos

Info11/23/2014
Tengo una cámara que filma el video entrelazado. En realidad no sé si lo filma así (su sensor internamente) pero así lo presenta a su salida. Y eso que es digital miniDV con 3CCD, una de las que mejor calidad tienen.
La verdad que no entendía bien por qué usa video entrelazado y la respuesta es sencilla: Ocupa la mitad de ancho de banda. Con lo que aparenta “mantener” la calidad ocupando la mitad de espacio (o ancho de banda).
Pero ahora es a lo que quería ir: No nos dejemos engañar, la supuesta “mantención” de calidad es casi una mentira, en realidad es una ilusión óptica…
Y acá viene lo interesante. Y aunque pareciera que es algo más que sabido la verdad es que poca gente lo entiende bien.
Puedes buscar en internet información por muchos sitios y si bien están encarando bastante bien el tema del desentrelazado y tienen sus razones y todo. Hasta ahí todo bien, pero nadie habla de para qué fue inventado originalmente el video entrelazado y cómo es que se muestra en la pantalla original (y por qué lo hicieron así?).

¿Cómo se muestra el video entrelazado?Lo más normal es que una búsqueda en internet te devuelva algo como esto:
[center] [/center]
Si bien es un fotograma real de un video entrelazado, así no es como se ve en una pantalla de TV entrelazado!
El problema al momento de querer desentrelazar video es que nos olvidamos de cómo se aprovechó la idea original. Y el entrelazado se vale de tres cosas:
[ul][li]El sistema visual del ser humano[/li][li]La forma de las celdas de la pantalla[/li][li]Y la permanencia del fósforo de la pantalla[/li][/ul]Se basa en el principio de que el sistema visual del ser humano no puede interpretar con detalle los movimientos rápidos pero sí las imágenes estáticas.
Nuestro cerebro interpreta cambios rápidos en la imagen y nos hace entender que es algo que está en movimiento. Al mismo tiempo que aunque pierde calidad (porque obtenemos la mitad de la información al ser entrelazado) el cerebro al detectar movimiento no percata detalles.
El fósforo ayuda a mantener una permanencia de imagen en la pantalla para que no se desvanezca totalmente y no tengamos una sensación de parpadeo.
Cuando el cerebro deja de detectar movimiento espera obtener detalles visuales. El sistema entrelazado al dibujar los dos campos sin diferencia temporal nos puede mostrar una imagen con mayor resolución (el doble que si estuviera en movimiento).
Por si no sabes bien lo que es entrelazado y como funciona mejor
En los televisores de antes, los de tubos CRT, no se dibujaba la imagen de un tirón, sino que se hacía en dos pedazos. Primero las líneas impares y luego las líneas pares. O también llamados campos (campo superior y campo inferior).
Los tubos están compuestos de una película de fósforo en el frente que hace que la luz que genera se mantenga un tiempo suficiente encendida. O sea, cada puntito en el tubo se ilumina por un haz de electrones que viaja, pero si no estuviera el fósforo esa luz se borraría rápido entonces no veríamos algo “pintado” sino que veríamos un puntito que se mueve. Para eso sirve el fósforo.
[center] [/center]
Ahora no es que queda iluminado siempre, sino que igual se va desvaneciendo pero apenas se está por desvanecer completamente llega de nuevo el haz de electrones y dibuja la imagen que sigue. Y así hace todo el tiempo, primero las líneas impares y luego las líneas pares. De esa forma logra mantener la imagen dibujada constantemente.
[center] devideo [/center]
Ahora, cada vez que dibuja una imagen de líneas, el tiempo va pasando, entonces si al momento de dibujar las pares pasó algo distinto, ahora lo que va a dibujar va a estar corrido con lo anterior (con lo que dibujó antes en las impares). Eso se hace así para que no se pierda la sensación de movimiento, o sea, que no se pierda la fluidez en el movimiento. Porque imaginate que no lo hiciera lograríamos ver las cosas que se mueven medio atrancadas. Ese efecto de trancado se nota si a un video entrelazado lo desentrelazan con un desentrelazador común y le mantienen la velocidad de fotos por segundo. Porque para obtener fluidez en movimiento deberían duplicar la velocidad de fotos por segundo (ya que así es como logra dar esa sensación el entrelazado).
Ahora, cada imagen (de línea par o de línea impar) se dibuja a 30 fotos por segundo. Al dibujar dos (una impar y otra par) nosotros tenemos la sensación de que se ven a 60 fotos por segundo. Por eso se mantiene una fluidez en los movimientos (el movimiento va a 60). Porque las cosas que cambian con el tiempo nuestro cerebro las percibe a esa velocidad de 48 a 60 fotos por segundo. A menos de 48 empezaría a notar imágenes trancadas y a más de 60 no habría diferencia en la fluidez de los movimientos. Por eso se usan esos valores.
En cambio si dibuja una imagen impar, luego la par, y las dos están en el mismo tiempo se va a dibujar un dibujo completo. O sea, porque no hay movimiento, no hay cambios de una imagen a otra. Entonces ahora vemos una imagen estática pero con más detalles (porque gracias a todo el sistema y la permanencia de nuestra retina nos da la sensación de que estamos viendo algo constante y estático).
Interpretación visualmente[center] desestrelazado [/center]
Fijate en la imagen izquierda, se nota que están las dos imagenes (la impar y la par) juntas, ves que hay partes donde se ve una corrida con la otra (se ve feo)? Eso es porque hubo un movimiento entonces en un tiempo (mientras iba por las impares) sucedió algo, y cuando pasó a las pares sucedió otra cosa. Pero en la parte del fondo de la foto completa (la primera que está arriba del todo) como las cosas están quietas (la parte del paredón), las dos veces que se dibujaron las imágenes todo era continuado, por eso se ve completa y bien (fotito a la derecha). Se observa con más detalles, no? (No consideres que está pixelada eso es porque le hice “zoom” para que se aprecie la diferencia entre las líneas). Observa mejor la foto primera, la grande, la completa del video , ahí se nota mejor (tiene la calidad original).
[center] enganemos [/center]
Acá te muestro como sería una imagen par y una impar. A groso modo, esto no es como se ve en un TV de tubo.
Los de arriba son de un pedazo del cuadro de foto del video . Fijate como molesta a la vista, no? Eso es porque en ese ejemplo no hay ningún efecto de fósforo. Es como si no existiera eso y se vería así todo rayado. Sin mencionar que si fuera animada se vería como a continuación (pero un poco más rápido: 60 por segundo, este está a 50 por segundo aunque quizá tu pc no lo logre mostrar a esa velocidad porque no es un video y le puede costar más trabajo):
[center] [/center]
Igual algo se nota y ya ves como el coche está moviéndose. Pero también se ve mucho un efecto de rejilla. El sistema de visión del humano alcanza a detectarlo porque faltaría algo que lo ayude un poco.
Presiona ESC para detener todos los movimientos (si te molestan). O aleja tu vista de ahí jaja.
Televisores entrelazadosUn tubo de CRT de televisor. O sea, acuérdate que estamos hablando de televisores no de monitores de PC porque para eso se inventó el entrelazado. Bueno, un tubo de televisor dibuja como se ve a continuación:

La disposición de las líneas puede ser esa pero los que yo vi de cerca las tenían tipo panal. En el dibujo de ejemplo arriba se encuentran alineadas. En el dibujo de abajo son fotos reales de una pantalla de TV entrelazada (de la habitación, jeje) y de mi monitor TV/LCD samsung. La distancia a la que fue tomada la foto es prácticamente la misma, fijate que el LCD tiene más “puntitos” por el mismo espacio que el TV. Obviamente eso es porque tiene más resolución.
[center] Nonos [/center]
Como ves un televisor de esos es muy distinto a un monitor de PC y TVs modernos tipo LCD y Led. Actualmente los televisores son iguales que los monitores de PC. Hoy día casi que no hay diferencia entre un monitor o TV. Pero ninguno es entrelazado, y ahí es donde viene el problema si vas a trabajar con material entrelazado en la PC.
Ese tipo de pantallas no tenían pixeles, tenían tipo un panal o celdas que es distinto a un cuadradito (pixel). Entonces la forma en que se veían las cosas sobre esa pantalla era diferente. La trampa estaba en que todo se basaba en ilusión óptica dandole la sensación al espectador de que estaba viendo algo de buen detalle y buena fluidéz de movimiento. Cuando en realidad era mentira jaja.
A continuación te muestro un ejemplo de cómo un televisor entrelazado podría representar la foto anterior.
[center] [/center]
Todavía se ven rayas. Pero menos notorias. Y menos molesto, verdad? (mucho mejor)
Lo que simulé en la imagen anterior fue sólo el efecto del fósforo del TV (aunque en realidad no es así, pero es muy similar al efecto que produciría en nuestra vista). Haciendo que los campos impares sean totalmente visibles (porque se acaban de dibujar recién) y los pares menos visibles (un 50%) porque se dibujaron anteriormente (pero gracias al fósforo y nuestra retina todavía los vemos).
Me acabo de dar cuenta que en mi cámara (hablando en jerga de video ) los campos inferiores son los que envia primero. En la jerga de video se le dicen campos y pueden ser de superiores (top) o inferiores (bottom). O sea: top field o bottom field, respectivamente. Pero también impares y pares, donde los impares son  superiores y los pares son inferiores.
Bueno, la imagen arriba la estás viendo estática pero el sistema de video entrelazado fue creado para funcionar en continuo cambio y no quedarse estancado como visualmente se ve la imagen anterior. Así que en un televisor aunque todo parezca quieto en realidad siempre van a haber cambios de luz porque se estarían dibujando continuamente los campos.
¿Cómo desentrelazar mejor entoces?Entonces que podemos hacer. Podemos simular eso con la PC y obtener así un desentrelazado similar a lo que veríamos en un TV. Te vuelvo a repetir: Como la imagen en una pantalla estaría en continuo cambio de luz, hacer esto a un video no da la misma sensación que al mirar la foto estática de arriba. Sino que las partes estáticas se notarían aunque una pequeña sensación de algo raro, se notaría más  la sensación de detalle o claridad. Y las partes en movimiento aunque también den una pequeña sensación de algo extraño (como rayada) se alcanzarían a notar movimientos fluidos. Muy parecido a un TV (o casi igual).
La idea acá no es obtener una imagen perfecta de alta calidad como una foto estática sino que es obtener la misma sensación que se obtendría al mirar el video en un TV entrelazado. Al fin y al cabo la señal está especialmente preparada para ser mostrada de esa forma. no?
¿Por qué busco esa sensación en vez de calidad fotográfica?Si, por qué no mejor usar un desentrelazador como yadif o deint o mejor aún TempGaussMC o QTGMC que generan una imagen como una foto nítida sin ningún rayado extraño.
Porque busco la máxima calidad que puedo obtener de mi video entrelazado sin perderlo.
Y esos desentrelazadores además de que son muy lentos estarían sintetizando las partes faltantes haciéndome perder el video original. Prácticamente estarían haciendo el mismo trabajo que hace nuestro cerebro al mirar el video entrelazado en un tv entrelazado.
Quiero decir que el sistema de video entrelazado se creó así, bajo ese principio, no con la idea de obtener video progresivo a través de él. Por lo tanto conseguir un video progresivo de calidad a través de un video entrelazado es casi imposible. Por el simple hecho de que nos falta información porque nuestra cámara no es capaz de almacenar esa información (no significa que no sea capaz de capturarla pero sí seguro que la procesa y la almacena entrelazada para ahorrar espacio y ancho de banda). Al hacer eso ya está perdiendo datos en dos cosas: Resolución espacial y resolución temporal.
Ese es el efecto indeseado de guardar el video en formato entrelazado. Sacrifica la mitad de cada cosa (tiempo o definición) y no se pueden obtener las dos a la máxima calidad, o una o la otra, pero no ambas.
Y la solución para su proyección o mostrado es una sola: Una pantalla entrelazada.
No hay otra forma más eficiente de mostrarlo o representarlo si se quiere obtener el 100% de calidad a partir de ese formato.
Porque por más que existen algoritmos de desentrelazado muy buenos que logran obtener una calidad muy buena de imagen, lo que hacen en resumen es sintetizar la información que falta, pero esa información en el video original nunca existió.
Detectan movimiento, aplican borrosidad, donde y como mezclar el punto del campo con los subyacentes, detectan las diferencias de pixel, etc. Y así un montón de procesos complejos todos para obtener un resultado sintético que no es igual a como se pretendió mostrar en un TV entrelazado de verdad.
Entonces parte de la imagen que se obtiene a partir de esos desentrelazadores es sintética y no existe en el video original.
¿Cómo conseguir un video no entrelazado de calidad y no sintético?Lamentablemente la única solución es obteniendo una cámara (o si se puede modificando la tuya) que almacene el video en esa forma directamente (que trabaje con video progresivo y no entrelazado). Cualquier conversión de entrelazado a no entrelazado siempre será sintética o de menor calidad porque la idea se sustenta en el sistema de visión del ser humano y en el ahorro de ancho de banda. O saldrá con menos detalle visual / resolución, o saldrá con menos detalle de movimiento / temporal. Nunca podrán estar los dos juntos en un video entrelazado (aunque por supuesto que sí combinados pero no en la totalidad del cuadro).
Así que la calidad real de ese material es esa. No se le puede pedir más.
Mi experienciaLlevo un par de años tratando de obtener la mejor calidad del mundo (aunque suene exagerado) desentrelazando mis videos y nunca lo logré y nunca lo voy a lograr (al menos con esos desentrelazadores no).
Hasta que me puse a investigar bien como era el asunto. Y me di cuenta de a poco que por más que intentara de una u otra manera lo único que obtenía eran imágenes aproximadas o sintéticas del video original pero nunca podía obtener la calidad original (ni mejor ni peor).
Entonces pensé cómo podía trabajar con eso. Y la respuesta más obvia es: Trabajalo así como está, entrelazado. Lógico, no?
Pero entonces como las pantallas de la PC son progresivas (no entrelazadas) no podía después verlo bien al video .
Y entonces dónde lo puedo ver? Pues en un TV que sea entrelazado.
Y cómo se ve en un TV entrelazado? Y claro, no se ve igual de definido que en la pantalla de mi PC, pero si esa es la calidad original! Es la máxima calidad que se puede conseguir de ese video , mejor no se va a poder ver!
Ahí me fui dando cuenta que mi material no era de tanta calidad como suponía. Y yo pensaba que en la PC lo estaba viendo con peor calidad pero la realidad es que lo estaba viendo incorrectamente.
O sea, el video entrelazado es así, no es mejor que eso que se ve en un TV. Entonces desentrelazarlo no mejoraría su calidad (aunque por momentos fui un tonto y lo creí).
La solución definitiva era simular el TV. Así que podría convertir el video al modo simulado directamente o preparar un filtro para el momento de ser reproducido y ya ahí podría reproducirlo en una pantalla progresiva, y verlo tal cual lo vería en un TV viejo con la calidad que tiene y sin poder pedirle más porque esa es su calidad.
Confusión entre calidad visual y calidad del origen desestrelazado Resulta que por ahí se espera que el video entrelazado en la PC se vea perfecto, como te parece que se supone se ve en un TV entrelazado. La realidad es que en esos TV tampoco se ve tan perfecto pero por la técnica que utiliza nos hace la sensación de que sí.
He visto gente que quiere convertir sus videos con esos algoritmos complejos y nunca obtienen una calidad como esperan o sino les tarda demasiado y tampoco quieren eso. Yo les puedo decir que: PIDEN DEMASIADO!
El video original no tiene esa calidad que esperan. Aunque en la pantalla del monitor parezca un video de 640×480 en realidad la calidad de escenas en movimiento es la mitad de alto (240). La única calidad que siempre se conserva es a lo ancho. Pero a lo alto se pierde.  Y sólo en imágenes estáticas se obtiene la máxima calidad “que debería siempre tener”. Esa es la calidad que quizá muchos esperamos que conserve el video pero no siempre lo va a lograr porque es entrelazado. Al menos en las partes en movimiento no lo lograríamos.
Para obtener un mejor resultado yo les sugiero que empleen el método de simulación de tv entrelazado. Que voy a describir a continuación. Y dejen que su cerebro sintetize el resto (que lo hace mejor y más rápido que una PC).
Técnicas de simulación de TV entrelazadoTécnica simpleLa primer técnica, y la única y más directa que se me ocurre, es como ya te mostré más arriba: Ayudar a la retención en la retina en los cambios rápidos. Y se simula haciendo que el campo anterior se muestre a menor intensidad. Más precisamente un 50% de intensidad. Pero duplicando los fotogramas, uno por cada campo simulado.
[center] enganemos [/center]
Por supuesto que esta técnica dobla la velocidad del video por duplicar los fotogramas, o sea, pone un campo y medio por cada fotograma, para obtener el efecto deseado.
Observa que aunque en “Cuadro simulado” se ven aún rayas, la sensación de movimiento es buena aunque sea una imagen estática. Estando en reproducción es aún mejor.
Esta técnica permite también recuperar el video original sin alteraciones en lo absoluto. Ya que sí o sí va a dibujar cada campo completo sin alteración. Lo único que hace sintético es adicionar el campo anterior con menos intensidad, pero el campo anterior ya se vio a intensidad completa en el fotograma anterior, así que no perdemos nada de información.
Esta técnica sería una de las más rápidas.
Ventajas:[ul][li]Es suficientemente rápida[/li][li]Permite recuperar el video original entrelazado[/li][li]Sin pérdida de datos[/li][li]Imagen suficientemente nítida y con fluidez de movimiento[/li][li]Efecto similar a verlo en un TV entrelazado[/li][/ul]Desventajas:[ul][li]Se alcanzan a observar rayas o como si se viera a través de una rejilla[/li][li]El nivel de brillo disminuye casi a la mitad (aunque esto puede ser ventajoso)[/li][/ul]Que disminuya el nivel de brillo por ahí es útil. En realidad la imagen no pierde su brillo, el efecto se observa porque ahora está entre rayas y la luz que emite se separa a la mitad pero sigue emitiendo la misma intensidad porque no hemos tocado para nada el campo. La ventaja es que “cansa” menos a la vista, a su vez que mantiene alta nitidez.
Se podría también tomar como desventaja que en realidad no es ultra rápido quizá como se espera y que no creo que sea útil para aplicar en tiempo real salvo que tengas un procesador demasiado rápido (depende a qué nivel se implemente el filtro).
Yo por ahora no lo he programado de ninguna forma entonces estaba pensando en usar imágenes PNG volcadas al disco al mismo timepo que lanzaría otra rutina que se encargaría de ir armando el video del otro lado. O sea, esos procesos son lentos, pero otro (como un filtro para mplayer) puede ser mucho más rápido.
Por otro lado también requiere 60 fotos por segundo así que sería algo exigente para cualquier reproductor o PC. Pero si lo quisieras reproducir en un DVD hogareño puedes volverlo a entrelazar que no perderías nada de calidad.
Técnica panalNo he hecho la prueba aquí pero la idea es simular la pantalla del TV lo más parecido posible.
Como ya viste en una foto (sino igual te la muestro acá de nuevo) la pantalla de la TV entrelazada tiene tipo un panal de avejas. No son cuadritos como los pixeles de los LCD o Led.
[center] [/center]
Entonces la idea consistiría en acomodar cada pixel del fotograma de esa forma, igual que como lo acomoda el TV entrelazado en su pantalla.
Fijate que no están alineados sino que están uno al medio de otro. O sea, la mitad de uno cruza con el borde de otros dos y así (tipo ladrillos). No están formando una línea vertical directa aunque sí horizontal.
Para poder lograr el mismo efecto tendría que acomodar los pixeles de la imagen de tal forma que queden así. La única forma es haciendo más grandes los pixeles de la imagen (porque los del LCD están alineados tipo una rejilla y no uno a la mitad del otro). Haciéndolos más grandes (ocupando un grupo de 4 píxeles del LCD) se pueden acomodar de tal forma que se logren disponer de esa manera como si fuera la pantalla de un TV.
Ventajas:[ul][li]Permite recuperar el video original entrelazado[/li][li]Sin pérdida de datos[/li][li]Imagen casi idéntica a como se vería en una TV[/li][li]Sin el efecto rayado[/li][li]La disminución del nivel del brillo sería menor[/li][/ul]Desventajas:[ul][li]Más lento que el anterior.[/li][li]Se obtendrían fotogramas de más resolución que el video original ocupando más espacio y ancho de banda (al menos 4 veces más)[/li][/ul]Como ves la técnica panal más bien pretende evitar el efecto rayado. Pero ocuparía casi 4 veces más que el video original (en lugar de sólo el doble).
Con esta técnica se obtendría mucho mejor fidelidad de imagen. La imagen sería lo más fiel posible a un TV entrelazado.
A su vez podemos valernos de dos opciones o formas de hacer el proceso:[ol][li]Doblando los fotogramas y simulando el fósforo para ayudar a la retina.[/li][li]O con la misma velocidad de fotogramas simplemente distribuir la información de los campos en panal.[/li][/ol]La primera sería lo correcto, obtendríamos la simulación completa de un TV entrelazado, pero nuestro video ocuparía como 4 veces más.
La segunda nos permite disminuir a la mitad el requisito de espacio, o sea, ocuparía sólo 2 veces más en lugar de 4. Además de que la velocidad de reproducción de fotogramas por segundo sería menos exigente (25 o 30 por segundo). En lugar de la completa que se necesitan 60.
Con las PC de hoy día yo diría que conviene utilizar el más completo ya que si la PC es capaz de reproducir HD de seguro puede reproducir este video sin problemas. Sería un equivalente en exigencia de procesamiento a un HD sólo que en realidad lo veríamos como un SD jaja. Que mal pero es la realidad. Lamentablemente esa es la desventaja de reproducir entrelazado en un medio progresivo.
Un poco de historia del entrelazadoEl entrelazado fue inventado para poder cumplir con el compromiso de calidad de imagen y velocidad de movimiento al enviar las señales de TV por el aire.
Si se quería tener calidad de imagen se iba a necesitar un ancho de banda que en esa época era difícil o costoso de obtener (para la fabricación de los tubos de los TV y demás equipos). Ya que para manejar una imagen completa de esa definición y velocidad requería un tubo CRT que pudiera reaccionar a esa velocidad (esos eran los de deflexión electrostática y eran muy costosos). Además de la circuitería y todo lo demás que también tendría que trabajar con esa exigencia. Exigencia que era costosa.
Entonces la solución que encontraron fue la de entrelazar la señal. Primero enviarían las líneas impares y luego las pares. Pero a la misma velocidad.
De esa forma podían tener las dos cosas: Calidad y velocidad, al mismo tiempo que ocupaba la mitad del ancho de banda en el aire.
Fue así como nació el modo de video entrelazado que fue el que se utilizó (y las señales de video analógicas de TV siguen siendo así) en televisión hasta hace ¿poco? o ¿mucho? En realidad es de hace mucho pero aún las señales analógicas de TV utilizan ese sistema.
El sistema está estandarizado en PAL y NTSC.
Todo eso sucedió como en los 40′
Y como a mediados de los 70′ fue que se empezó a popularizar la TV a color.
Puedes citar una fuente del NTSC aquí: 
Muy buena información al respecto pero en inglés.
Actualización 11-06-2012:
ÉxitoHe logrado desentrelazar con la técnica primera (la simple) y fue todo un éxito. El video se ve mejor de lo que esperaba (en realidad se ve como debería verse).
Las zonas quietas mantienen nitidez y las zonas con movimiento se ven fluidas.
Además de que al rayarlo con líneas más oscuras (un 50% del campo anterior) su nivel de brillo ha bajado casi a la mitad pero gracias a eso permite mantener una sensación de nitidez o calidad.
El script lo hice en perl y utiliza ImageMagick. Si si, muy raro, no? Jeje. Por ahora no me largué a programar un filtro en mplayer porque lo encontré bastante complicado. Tengo que dedicarle más tiempo y estudiar como funcionan los filtros en mplayer para poder hacerlo. Pero sería mi siguiente paso para tener algo más directo y no tener que recurrir a tantos archivos.
Pero por ahora este script hace el trabajo completamente y lo hace muy bien. No desperdicia nada porque almacena cada marco o fotograma en un formato compatible con el video original, o sea, en YUV. Así que los fotogramas al volcarse al disco ocupan lo que tienen que ocupar (y no demás), ya que mantiene el espacio de color.
Hasta que descubrí como hacer eso! Me llevó bastante tiempo e investigación.
Por ahora convierte de DV video a MJPEG. No pude convertir a dvvideo de nuevo porque se pierde mucha calidad. Al parecer DV video no está preparado para 60 FPS de marcos progresivos. Entonces aunque logra hacer el trabajo pierde calidad.
Si sabés cómo especificarle a ffmpeg que haga un DV video a 60 (en realidad 59,94) FPS sin perder calidad, te agradecería que me lo enseñaras 
Acá te muestro el resultado (le quité el audio porque no viene al caso pero el script te coloca el audio y todo):




El script:

#!/usr/bin/perl

# Desentrelazador de video NTSC 720x480
# La técnica que empleé aquí es la de 50% desvanecimiento del
# campo anterior. Conservando el tamaño pero duplicando la
# velocidad.
# La idea es simular una pantalla de TV entrelazada.

# Más detalles en https://anyeos.wordpress.com/2012/06/11/mejor-desentrelazado-de- video -no-nos-enganemos

# Este trabajo lo entrego bajo licencia:
#
# DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
# Version 2, December 2004
#
# Copyright (C) 2004 Sam Hocevar < [email protected] >
#
# Everyone is permitted to copy and distribute verbatim or modified
# copies of this license document, and changing it is allowed as long
# as the name is changed.
#
# DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
# TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
#
# 0. You just DO WHAT THE FUCK YOU WANT TO.

# Autor: Anyeos < [email protected] >
# WP: https://anyeos.wordpress.com
#
# Por supuesto, sería genial que me mencionaran ya que yo fui quien
# "inventó" esta técnica.
# -- Anyeos (2012)

my $ video = $ARGV[0];
#my $aspect = $ARGV[2];

if (-z $ video )
{
print "Debes especificar el archivo de video a desentrelazar.n";
exit 1;
}

print "Archivo de video : $videon";

my $tmpdir = "/tmp/".rand(999999);
print "Directorio de trabajo: $tmpdirn";

`mkdir -p $tmpdir`;
`mkdir -p "$tmpdir/deinttv"`;

print "Generando marcos...";
`mplayer -ao pcm:file="$tmpdir/$ video .wav" -vo pnm:pgmyuv:outdir=$tmpdir -vf format=YV12 -aspect 3:2 -fps 1000 "$ video " > /dev/null 2>&1`;
print "OKn";

my $dimpar;
my $dpar;
for ($a = 0; $a <= 479; $a=$a+2)
{
$b=$a+1;
$dpar .= "-draw 'line 0,$a 720,$a' ";
$dimpar .= "-draw 'line 0,$b 720,$b' ";
}

# Especifica el color de la línea para desentrelazar los campos
my $color = "rgba(0,0,0, 0.5)";

my $fn = 0;

print "Desentrelazando los campos de los marcos...n";
opendir(DIR, $tmpdir);
@marcos = sort(grep { /.pgmyuv$/i && -f "$tmpdir/$_" } readdir(DIR));
for ($m = 0; $m < @marcos; $m++)
{
my $marco = "$tmpdir/".$marcos[$m];

$fn++;
$sfn1 = sprintf("%08d", $fn);
$fn++;
$sfn2 = sprintf("%08d", $fn);
# Adquiero el campo par
`convert $marco -alpha on -strokewidth 1 -fill '$color' $dpar $tmpdir/deinttv/$sfn1.pgmyuv`;
# Adquiero el campo impar
`convert $marco -alpha on -strokewidth 1 -fill '$color' $dimpar $tmpdir/deinttv/$sfn2.pgmyuv && rm $marco`;

if (($fn % 100) == 0)
{
print "fotograma $fn...n";
}
}
closedir(DIR);
print "$fn fotogramas en totaln";
print "Listo!n";

print "Generando video final...";
`ffmpeg -r 60000/1001 -f image2 -i $tmpdir/deinttv/%08d.pgmyuv -i $tmpdir/$ video .wav -acodec pcm_s16le -pix_fmt yuv420p -vcodec mjpeg -qscale 2 "deint-$ video .avi" && rm -f -r $tmpdir || echo "Hubo un error al decodificar, los archivos temporales se dejaron intactos (deberás borrarlos manualmente)."`;
print "Listo! El video 'deint-$ video .avi' fue generado.n";
NOTA: Actualizaré este artículo cuando tenga un filtro hecho para mencoder.
NOTA2: No creo que llegue a hacer eso con mencoder, en su lugar prefiero desarrollar un software de edición de video con capacidad de editar entrelazado e incluirle estas técnicas.
Datos archivados del Taringa! original
32puntos
386visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
2visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

m
medlacress🇦🇷
Usuario
Puntos0
Posts12
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.