Manual: Codificación de video (iPod Touch)

Para dar las gracias debes entrar o registrarte en el foro

Mensajes: 4851 Agradecido: 0
30 Jul 2009, 01:31# 441

hijacked, en tu caso lo mejor es evitar usar AVISOURCE. En realidad el problema no está en avisynth, sino en los xdiv. Por lo que te dice AVISOURCE, los avi no están bien creados... no se ciñen exactamente al estandar AVI, que no deja de ser un contenedor que nunca fue creado para usar codec como divx. Lo mismo sucede si por ejemplo intentamos meter un stream h264 en un avi. Es posible? Si, pero tan solo dará problemas. Si quieres evitar tener este tipo de problemas te propongo una solución mejor. Usa DirectShowSource. Por defecto usará AVISOURCE si miras el script creado. Puedes modificarlo para que use DirectShowSource:

DirectShowSource("C:\video_xdiv.avi", fps=25,audio=false)

Podría ser un ejemplo.

jmfgarcia, ni loco. Evita el uso de cualquier colección de codec. Siempre hay q saber que codec se están instalando y porqué. Tan solo recomiendo usar Haali como Splitter y como codec ffdshow. Con esas dos cositas tienes el 90% de cualquier video. Lo que quedaría en todo caso sería si se desea usar algún codec con aceleración hardware o un spliter para flv, pero poco más.

Mi Blog sobre iPod/iPhone, Nueva dirección -> http://blog.theliel.es
Repositorio -> theliel.es/repo/repo.xml (proximamente)

Como hacer preguntas inteligentes

No contesto MP, lo que se quiera preguntar en un post o hilo nuevo
Gracias  
Etiquetado en:
Mensajes: 275 Agradecido: 0
02 Ago 2009, 21:04# 442
Theliel escribió:hijacked, en tu caso lo mejor es evitar usar AVISOURCE. En realidad el problema no está en avisynth, sino en los xdiv. Por lo que te dice AVISOURCE, los avi no están bien creados... no se ciñen exactamente al estandar AVI, que no deja de ser un contenedor que nunca fue creado para usar codec como divx. Lo mismo sucede si por ejemplo intentamos meter un stream h264 en un avi. Es posible? Si, pero tan solo dará problemas. Si quieres evitar tener este tipo de problemas te propongo una solución mejor. Usa DirectShowSource. Por defecto usará AVISOURCE si miras el script creado. Puedes modificarlo para que use DirectShowSource:

DirectShowSource("C:\video_xdiv.avi", fps=25,audio=false)

Podría ser un ejemplo.

jmfgarcia, ni loco. Evita el uso de cualquier colección de codec. Siempre hay q saber que codec se están instalando y porqué. Tan solo recomiendo usar Haali como Splitter y como codec ffdshow. Con esas dos cositas tienes el 90% de cualquier video. Lo que quedaría en todo caso sería si se desea usar algún codec con aceleración hardware o un spliter para flv, pero poco más.


mm ok interesante me va a ahorrar tiempo, gracias
Imagen
Imagen
Imagen
Imagen
Imagen
Imagen
Gracias  
Mensajes: 1904 Agradecido: 0
29 Oct 2009, 03:02# 443

hola theliel, pues siguiendo esta guia quiero convertir un video .TS para formato ipod, antes tenia el pack de k-lite y pues ya lo desinstale y tale instale ffdshow, haali, etc., bueno el problemas es que cuando reprodusco mpeg2 y ts me aparecen como unas lineas cuando hay movimiento y tal, cosa que no me pasava antes con el k-lite, sabras si hay alguna solucion a esto?

gracias

Imagen
Gracias  
Mensajes: 4851 Agradecido: 0
29 Oct 2009, 21:00# 444

claro.

Lo que te sucede se llama "entrelazamiento". TS es MPEG2-TS y MPEG2 a secas suele ser MPEG2-PS. En ambas circunstancias son MPEG2 y al 99% el contenido en dichos codec y formato está entrelazado. A día de hoy el entrelazado no tiene razón de ser, es una lacra de los tiempos antiguos que aun se continua teniendo. Si no sabes que es te lo resumo rápidamente:

Una pelicula no son mas que una sucesión de imágenes. Para dar efecto de video se debe de emitir a un mínimo de 20fps. PAL es un formato que emite a 25FPS, es decir, 25 imágenes en un segundo. Así decimos que esa peli o video está en 25p. La P especifica "progresivo", es decir, imágenes consecutivas. Pero igualmente tb existe el estandar 50i, es decir, 50 (ya no son frames, sino campos) entrelazados, y su funcionamiento es diferente. Reproducir un video por ejemplo a 25p tan solo es decodificar las imágenes y poner una imagen detrás de otra. Listo. En cambio reproducir 50i no implica decodificar las imágenes y poner un campo detrás de otro. En este caso, cada imagen es dividida en dos campos. Un video en 50i dispone de 50 campos, pero solo 25 frames. Cada frame se divide en dos campos, el campo par y el campo impar. De cada frame por tanto se extraen todas las lineas pares y se escriben todas de nuevo en lo que llamamos un campo par una debajo de la otra (el cual por lo tanto tiene la mitad de resolución). Se realiza después lo mismo para el campo impar. Lo que tenemos son 50 imágenes que tienen la mitad de la resolución vertical, y se disponen de la siguiente manera: campo_par1, campo_impar1, campo_par2, campo_impar2... hasta completar en este cao los 50 campos (para un segundo de video). Esto en realidad no es así, el proceso es precisamente el inverso, se parte de los campos para formar los frames, pero es más facil explicarlo asi.

Una cámara que graba contenido en entrelazado no se descompone un frame en dos campos, sino que la cámara graba 50 campos por segundos. Es decir, imagina que la camara solo graba 1 campo por segundo. 1º segundo campo par dle primer frame, 2º segundo campo impar del frame segundo... esto es lo mismo aunque se graben 50 campos por segundo. Ventaja? La cámara tan solo tiene que ser capaz de capturar la mitad de resolución vertical. Una fracción de segundo más tarde, 1/50, captura el otro campo. Claro, si la imagen es estática, al componer con ambos campos el frame final la imagen es perfecta. Pero si hay movimiento un campo no coincidirá con el siguiente, y aparecerá precisamente el efecto que comentas de "lineas". ¿Que sucede al reproducir contenido entrelazado? El reproductor sabe que tiene q ir representando un campo tras otro, de forma que uno son lienas pares y el otro lineas impares. Aquellos frames formados por campos en los que la imagen no cambió, la imagen es o será perfecta. Pero que sucede si el campo par es la imagen de un perro, pero una fracción de segundo despues, el plano cambia y tenemos delante una piedra? Al componer la imagen nos saldrá algo raro, veremos lineas raras o incluso efectos raros.

Conclusión? Si quieres visionar cualquier contenido entrelazado correctamente, el reproductor o el codec que se use debe de aplicar algun desentrelazado. Existen multitud de técnicas que ahora no vamos a entrar en ellas. Pero para que lo imagines, una técnica simple sería representar tan solo los campos partes o los campos impares. El reprodcutor lee los campos saltandose uno, y para evitar la diferencia de resolución se hace un upscaling de x2 en la vertical. Otro desentrelazado simple seria fusionar cada campo par con el campo impar delaten o detrás de él, el que mejor corresponda, y ya tienes contenido progresivo... y si quieres un resultado perfecto, o lo mejor posible, sería necesario ya realizar un desentrelazado temporal, una tecnica mucho más compleja que requiere más recursos. Bueno pues todo esto se selecciona normalmente en el reproductor que estes usando.

Si usas por ejemplo VLC para reproducir, le das a video, desentrelazado y selecionas el que desees. Si usas Windows Media Player creo que no te da la opción, pero quizás el codec con el que reproduces el contenido MPEG si la tenga. Piensa que por defecto ffdshow no está configurado para usarse para el contenido MPEG. Si uas un reproductor como WMP, tendrás que ir a Configuración de Video de FFdshow. En codec buscar MPEG2 y cambiar el disable por el suyo. Una vez realizado esto, cuando estés reproduciendo el video en cuestión podrás acceder a las oopciones de ffdshow y activar el desentrelazado.

En la codificación de video el entrelazado es un problema siempre. Menos mal que ya todo el contenido HD se crea en progresivo, lo que nos dice que el contenido entrelazado morirá poco a poco.

Mi Blog sobre iPod/iPhone, Nueva dirección -> http://blog.theliel.es
Repositorio -> theliel.es/repo/repo.xml (proximamente)

Como hacer preguntas inteligentes

No contesto MP, lo que se quiera preguntar en un post o hilo nuevo
Gracias  
Mensajes: 1904 Agradecido: 0
30 Oct 2009, 01:50# 445

Excelente, gran explicacion, aunque no creo haber compredido todo, lo de los campos es un poco confuso pero si mas o menos entendi, en cuanto al entrelazado tengo que aplicar un desentralizador mediante el ffdshow? bueno intentare eso. Me imagino que eso tambien aplica para los codecs de linux, verdad?

bueno muchas gracias por tu ayuda, eres todo un capo.

Imagen
Gracias  
Mensajes: 4851 Agradecido: 0
30 Oct 2009, 15:14# 446

Hay decodificadores MPEG qur por defecto aplican desentrelazados, otros que no. En caso de ffdshow ni siquiera por defecto decodifica el contenido MPEG. El desentrelazado es una opción o del codec o del reproductor. Si usas por ejemplo WMP no tienes la opción. Si usas por ejemplo VLC la tienes en el mismo reprodcutor. Si usas ffdshow como codec para MPEG, podrás configurar en ffdshow el desentrelazador que necesites. Y si, esto es igual en linux, en Windows o en el OS que quieras.

Sobre los campos y frames comprendo que sea un poco lioso. Te lo pongo mas facil. Imagina una camara de video que graba a una velocidad de 50 imágenes por segundo a una resolución de 500*500 (para que sea facil verlo). Si capta 50 imágenes en un segundo a esa resolución, significa que entre una imagen y otra hay un intervalo de tiempo de 1/50 segundos, ¿cierto? Es decir, que cada imagen es diferente a la anterior por ser tomada cronológicamente de forma diferente, a menos que lo que se esté apuntando sea algo completamente estático y por lo tanto muchas de esas 50 imágenes sean perfectamente iguales.

Teniendo ahora esto en cuenta, el resultado de la grabación sería contenido progresivo de 50p si colocamos las 200 imágenes tomadas (4 segundos) una tras otras. Tendríamos como resultado un video de 4 segundos, con 200 frames y de una resolución de 500*500

Ahora imagina que cuando la cámara graba esas imágenes, lo hace todo igual solo que cada imagen q captura tienen la mitad de resolución vertial, pongamos por tanto 500*250. Sí. tenemos solo la mitad de la resolución, pero seguro que la cámara tendrá un hardware y una lente más sencilla y barata. Despues de 4 segundos de grabación lo que tenemos son las mismas 200 imágenes, cierto? pero todas ellas con la mitad de resolucion vertical. Ahora si suponemos que la primera imagen tiene en numero 1 y la ultima el numero 200, cojemos y vamos fusionando la primera con la segunda, la tercera con la cuarta, la quinta con la sexta... pero no las fusionamos así como así, sino que las entrelazamos. Es decir, se descomponen las imágenes en forma de filas de pixeles. Las imágenes con numero impares digo que son los campos impares, y las imágenes pares digo que son las lineas pares. De cada dos campos (o imágenes de la mitad de resolución), compongo una nueva imagen intercalando fila a fila los píxeles de las otras. Una fila de pixxeles de la primera, una fila de la segunda, una fila de la primera... Hasta componer una imagen que al entrelazarlas ambas tendrá una resolución de 500*500

Cuando termina todo el proceso lo que tendré será igualmente una grabación de 4 segundos, pero ya no serán 50 imágenes por segundo, sino que serán 25 imágenes por segundo. De 200 imágenes (campos) he obtenido 100 frames. El problema? está claro, que cuanta más diferencia exista entre un campo o el siguiente, al entrelazarse ambas imágenes los defectos de la imagen seran mayores, y d hay al efecto de lienas raras.

Esto en realidad no es exactamente así, dado que la cámara q graba de forma entrelazada, aunque graba efectivamente a mitad de resolución vertical, no graba siempre lo mismo, es decir... cuando graba cada campo, grabar de forma automática o las lineas pares o lineas impares, uan vez pares otra vez impartes... haciendo que el entrelazado sea mejor, pero sufre el mismo problema, que es el tempora. Dado que cada campo es tomado 1/50 segundos despues, al entrelazarse es imposible que la calidad sea perfecta. En progresivo da igual, se captura la imagen completa, despues otra... y una tras otra te da el video. En entrelazado cada imagen se compone de la sucesión de dos imágenes capturadas en tiempos diferentes, con lo que si es un plano en el que hay movimiento, la calidad decae drásticamente, dado que al conformar los dos campos la imagen completa, se apreciarán dichas diferencias temporales... es decir, el efecto de lineas raras

Mi Blog sobre iPod/iPhone, Nueva dirección -> http://blog.theliel.es
Repositorio -> theliel.es/repo/repo.xml (proximamente)

Como hacer preguntas inteligentes

No contesto MP, lo que se quiera preguntar en un post o hilo nuevo
Gracias  
Mensajes: 1 Agradecido: 0
03 Nov 2009, 15:46# 447

wwwwwwwwwwooooooooooooooooowwwwwwwwww que manual te aventaste gracias

Gracias  
Mensajes: 4851 Agradecido: 0
03 Nov 2009, 17:48# 448

En el momento que terminen de actualizar a la versión estable de Megui, actualizaré gran parte del contenido para los tiempos que corren ;), que ya tiene un año o dos el manual y en estas cosas eso es una eternidad

Mi Blog sobre iPod/iPhone, Nueva dirección -> http://blog.theliel.es
Repositorio -> theliel.es/repo/repo.xml (proximamente)

Como hacer preguntas inteligentes

No contesto MP, lo que se quiera preguntar en un post o hilo nuevo
Gracias  
Mensajes: 275 Agradecido: 0
07 Feb 2010, 17:23# 449
Theliel escribió:En el momento que terminen de actualizar a la versión estable de Megui, actualizaré gran parte del contenido para los tiempos que corren ;), que ya tiene un año o dos el manual y en estas cosas eso es una eternidad


no te olvides de adpatarlo para win 7 64 bits porque tu manual de ahora me genera incompatibilidades con el wmp, saludos, estare esperando el remake =D>=D>
Imagen
Imagen
Imagen
Imagen
Imagen
Imagen
Gracias  
Mensajes: 4851 Agradecido: 0
07 Feb 2010, 19:34# 450

De cuando en cuando lo voy haciendo... pero tengo muchas cosas en la cabeza y por desgracia no me da tiempo a hacerlo todo.
Lo que si te aseguro es que Win7 x64 100% perfecto.

No se me ha olvidado el manual, es simplemente tiempo, lo siento.

Mi Blog sobre iPod/iPhone, Nueva dirección -> http://blog.theliel.es
Repositorio -> theliel.es/repo/repo.xml (proximamente)

Como hacer preguntas inteligentes

No contesto MP, lo que se quiera preguntar en un post o hilo nuevo
Gracias  

Publicidad
Publicidad