 |  | | Detección de errores en la reproducción de un Xvid/Divx |
|  |
Posted: Thu 30, Nov, 2006 22:22 | | | | Gonzakpo | | Activo | 
 |  | | Joined: 30 Sep 2006 | | Posts: 37 | | Location: Buenos Aires, Argentina | |
|  |  |  |
| Detección de los posibles errores en la reproducción de un Xvid/Divx
Este tutorial tiene como fin que ustedes mismos puedan identificar los problemas por los cuales un video (.avi) no puede se reproducido en un reproductor de DVD de salón. En nuestro caso seria el DVP5100K, pero igualmente la mayoría de los DVD manejan los mismos parámetros, por lo tanto, esta es una guía compatible con casi cualquier reproductor de DVD. También aconsejo que no lleguen a la instancia de grabar un CD/DVD y probarlo en su reproductor para ver si anda o no anda un determinado video. Sino que simplemente verifiquen todo esto que explico a continuación y de esta manera se aseguren de que su video sea compatible con su reproductor antes de grabarlo en un CD/DVD. Da la impresión de ser un proceso largo y tedioso, pero una vez que se acostumbren lo harán en 2 minutos.
Lo que generalmente dificulta la reproducción de un video Divx/Xvid en un reproductor de DVD (con soporte Divx/Xvid por supuesto) es el bad interleaved, GMC, Packed Bitstream, Qpel o simplemente errores en la estructura interna del archivo de video.
Vale aclarar que el GMC, Packed Bitstream y Qpel, NO son errores del video, sino que son simplemente opciones de los codecs Xvid/Divx que tienen como fin diversos propósitos (que no vienen al caso). Pero en el caso nuestro sí representa un problema, debido a que muchos reproductores de DVD no las soportan, es por eso que debemos quitárselas.
Como nota aparte para los que tienen el DVP5100K, este DVD de fábrica soporta Qpel, no soporta Packed Bitstream y soporta GMC pero solo hasta 1 warp point (luego explicare el significado de esto). Es por eso que buena gente como jmaraujo o umbanda se toma el trabajo de mejorar el firmware para lograr un mejor soporte de éstas y muchas otras cosas más.
Igualmente, como consejo personal, les recomiendo “limpiar” sus videos de estas opciones aunque su reproductor las soporte. Esto lo digo debido a que de esta manera, sus videos tendrán una mayor compatibilidad con la mayoría de los reproductores de DVD existentes.
A modo de ejemplo supongamos que decidís armarte una videoteca con tus películas favoritas y las grabas a CD o DVD sin siquiera fijarte si tenían Packed Bitstream, GMC o Qpel. También supongamos que tenías un super reproductor de DVD y las podías ver sin problemas (a pesar de lo anteriormente mencionado). ¿Qué pasaría ahora si ese reproductor de DVD deja de funcionar y te compras otro que NO soporta ni GMC, ni Qpel, ni tampoco Packed Bitstream? ¿Que harías con tu videoteca? ¿Simplemente la tirarías a la basura y la grabarías de nuevo? ¿Creo que seria un tanto improductivo, no?…
Lo mismo pasa si tu reproductor soporta todo, y el de tu amigo no. No le podrías prestar tus películas debido a que el DVD de tu amigo no podría reproducirlas. Es por todo esto que conviene dejarlas lo mas “Standard” posibles.
Bueno basta de introducción y empecemos:
Primero que nada, necesitan los siguientes programas:
GSpot 2.52 b01 (si bien esta no es la última versión, es la que recomiendo yo porque es más rápida y para lo que necesitamos alcanza).
Pueden descargarlo de aquí: http://www.headbands.com/gspot/gspot252dl.html
VirtualDubMod - http://virtualdubmod.sourceforge.net/
MPEG4ModifierMOD by istona 2.1.1 (bajo mi experiencia este mod del MPEG4Modifier original fue el que me dio los mejores resultados).
Lo pueden descargar de aquí: http://www.wln.com.br/stona/Mpeg4ModifierMod.by.istona.2.1.1.zip
Existen otros programas para chequear si un Divx/Xvid tiene errores o no, pero sinceramente yo nunca los utilizo. Además, esta guía no pretende convertirlos en robots, si después de realizar todos los métodos citados su video sigue generando problemas, posteen preguntando, o simplemente lean. Hay muchos programas que escanean videos en busca de errores y son muy faciles de utilizar. Por ejemplo el Divxfix o el Dr. Divx.
Una aclaracion antes de comenzar. Voy a suponer que el video que estamos intentando "corregir" no contiene ningun error propio de la estructura interna del archivo. Esta clase de errores son los que detectan programas como el Divxfix o el Dr. Divx.
Lo primero que vamos a hacer es abrir el video con el Gspot. Esto nos va a servir para poder identificar los posibles problemas.
Antes de proseguir recomiendo que sigan este tutorial de jmaraujo para configurar el Gspot y asi conseguir una mejor visualizacion de las caracteristicas del video analizado.
http://s3.phpbbforfree.com/forums/dvp5100-about425.html
Ahora supongamos que analizamos el video, y no da como resultado lo siguiente:
| Code: |
Detalles del archivo:
=====================
Archivo:
--------
Nombre de archivo: X-Men The Last Stand.avi
Tamaño (en bytes): 734,193,664
Información del Contenedor:
---------------------------
Tipo Base (ej. "AVI"): AVI(.AVI)
Subtype (ej. "OpenDML"): OpenDML (AVI v2.0),
Interleave (in ms): 42
Preload (en ms): 504
Alineación de Audio: Aligned
Número de Pistas de Audio: 1
Información de Video:
---------------------
Nombre y tipo de Códec: XviD - xvid
Duración (hh:mm:ss): 01:44:06
Cantidad de Frames: 149751
Dimensión (en píxeles): 576x240
Radio de Aspecto: -
Frames Por Segundo: 23.976
Bitrate de Video (en kbps): 803
MPEG-4: MPEG-4
Presencia de B-VOP: B-VOP
Presencia de QPel:
Presencia de GMC:
H264:
MPEG-2:
Video Entrelazado:
Video Progresivo:
Información de Audio:
---------------------
Audio Códec (ej. "AC3"): 0x0055(MP3, ISO) MPEG-1 Layer 3
Audio Sample Rate (Hz): 48000
Bitrate de Audio (en kbps): 128
Tipo de Bitrate (CBR o VBR): VBR
Canales de Audio: 2
|
Si siguieron el tutorial anterior, esta es la forma genérica en la que el Gspot les va a exportar los datos.
Con estos datos, podemos identificar (no todos) los posibles problemas. A continuación detallare las variables que nos conciernen para el análisis:
Tamaño (en bytes): Debe ser menor a 2gb, de lo contrario no podrá ser reproducido. Si esta condición no se cumple, entonces deberías partir el archivo en 2 o más pedazos.
Tipo Base (ej. "AVI"): Este es un tutorial de como solucionar problemas de reproduccion con Divx's/Xvid's por lo tanto, aqui debe decir ".AVI". (Si dice otra cosa, vas a tener que averiguar si tu reproductor la soporta, pero eso ya escapa a esta guía).
Subtype (ej. "OpenDML"): Aquí debe decir "OpenDML (AVI v2.0)". Si dice "AVI 1.0", "OpenDML 'rec list' style" u otra cosa que no sea lo que ya especifiqué, entonces ese video así como esta no es compatible con nuestro reproductor. Para solucionar esto favor de mirar la Solución 1.
Interleave (in ms): Aquí debe indicar el tiempo que dura 1 (un) video frame. Es importante destacar esto puesto que si dijera algo como Interleave: 72 ms (1.7 v.frames) estaría mal porque en vez de darte el tiempo por cada 1 video frame, te estarían dando el tiempo cada 1.7 video frames. Lo correcto es que el tiempo de interleave debe ser cada 1 frame de video, por ejemplo "1 vid frame (40ms)". Tambíen quiero aclarar que en los datos exportados solo figura el tiempo del interleave, si quieren ver cada cuantos frames esta dado ese tiempo (reitero: lo correcto es cada UN frame) deben obligadamente leerlo de la ventana principal del GSpot (mas abajo les dejo una imagen). Un interleave correcto puede ser 33 ms, 40ms o 42 ms, cada 1 video frame (solo esos tres valores, si dice otra cosa, entonces probablemente sea incorrecto). Este número va a depender del framerate del video (o "frames por segundo"). El tiempo del interleave va a coincidir (aproximadamente) con la inversa del framerate. Por ejemplo, para este archivo el Gspot nos indica el framerate de la siguiente manera: "Frames Por Segundo: 23.976". Entonces, sabremos que el interleave debe ser de 1/23.976 ("uno" dividido el framerate, para los que no son muy hábiles con las matemáticas) o sea, APROX 42 ms. Si se fijan, en el video que tome como ejemplo, el interleave me marcaba 42 ms, por lo tanto estaba bien!
En el caso de que no indique lo correcto (por ejemplo 42ms teniendo un framerate de 29.97, si hacen las cuentas verán que no concuerdan) deben recurrir a la misma solución que con el Subtype del archivo, o sea, la Solución 1. Este problema se lo conoce como "bad interleaved".
Para los que no tienen ganas de hacer cuentas:
Framerate: 29.970 -> Interleave: 33ms (cada 1 video frame)
Framerate: 25.000 -> Interleave: 40ms (cada 1 video frame)
Framerate: 23.976 -> Interleave: 42ms (cada 1 video frame)
Acá les dejo una imagen para que vean donde esta ubicado el interleave y el framerate en la ventana principal del programa. Les recomiendo que el interleave lo controlen desde la ventana principal puesto que desde los datos exportados no figura cada cuantos frames esta dado el tiempo de interleave, en cambio, desde la ventana principal SI.

Preload (en ms): Este valor debe rondar los 500 ms. Por ejemplo en el video analizado en este caso es 504, lo que significa que esta bien. Pero si dijera 200, 25 o cualquier otra cosa que no se aproxime a 500, entonces probablemente no se reproduzca correctamente. Nuevamente recurrimos a la Solución 1.
Nombre y tipo de Códec: Siguiendo la idea de esta guía, debería ser Xvid o Divx. En el caso de que no lo sea, repito lo mismo que mencione antes: "Si dice otra cosa, vas a tener que averiguar si tu reproductor la soporta, pero eso ya escapa a esta guía". Si desesperadamente quieres reproducir un archivo formato "X" (donde la "X" no es ni Xvid ni tampoco Divx), lo que se puede hacer es transformar el formato del video al soportado recomprimiendo el video con algún programa como el VirtualDubMod. Este tutorial les puede ser útil, a pesar de que no esta pensado para esto (igualmente depende de si su formato de archivo es compatible con el VirtualDubMod)
http://s3.phpbbforfree.com/forums/dvp5100-about3.html
O sino, simplemente descarguen de internet algún programa conversor de formatos de video. Hay muchísimos. Uno que usé yo un tiempo y que es muy bueno es el "Canopus Procoder", pero es de pago. Esta misma solución también es aplicable en el caso de que el Tipo Base (ej. "AVI") no indique AVI.
Dimensión (en píxeles): Los reproductores con chip Mediatek (por ejemplo el DVP5100K) pueden soportar un tamaño máximo de 720px X 540px (Aclaro que los más nuevos, modernos y caros también soportan mayores resoluciones pero me sería imposible listarlos a todos, eso lo tendrían que saber ustedes). Por lo tanto si la resolución de su video excede esas proporciones no van a poder reproducirlo correctamente. Para solucionar esto se debe hacer un "resize" del video, o sea, bajarle la resolución. Igualmente, si se trata de un video descargado de internet (por ejemplo una película), recomiendo descargar otra versión en vez de "arreglar" el que ya tenemos. De todas formas, les dejo un tutorial sobre como bajarle la resolución a un archivo Xvid/Divx.
http://forum.lowyat.net/index.php?showtopic=370696 (Las imagenes de la guía se ven demasiado chicas, pero igual se entiende).
Frames Por Segundo: El framerate debe ser 25 (PAL), 23.976 (NTSC) o 29.97 (NTSC). Dudo mucho que se crucen con algún archivo de video que no cumpla con esto.
Presencia de QPel: Aquí no debería decir nada (espacio en blanco), lo que significa que el archivo no posee Qpel. Si dijera QPel entonces el video analizado posee QPel. Como ya aclaré antes, el Philips 5100k SI soporta Qpel pero de todas formas recomiendo quitárselo. Para llevar a cabo esto deben seguir la siguiente guía:
http://s3.phpbbforfree.com/forums/dvp5100-about3.html
Presencia de GMC: Lo mismo que con el Qpel. Aquí no debería decir nada (espacio en blanco) pero si dice "GMC" entonces estaríamos en presencia de un video con GMC. El Philips 5100k lo soporta pero solo hasta "1 warp point". Si quieren saber de cuantos "warp points" es el GMC presente en ese video deben hacer lo siguiente:
1) Abran el video con el "MPEG4Modifier Mod by Istona".
2) Clickeen donde dice "Video Info"

Al apretar "Video Info" les aparecerá una solapa que dirá algo SIMILAR a esto:
| Code: |
MPEG4 Modifier
==========
Packed bitstream: No
QPel: No
GMC: Yes (3 warp points)
Interlaced: No
Aspect ratio: Square pixels
Quant type: H.263
I-VOPs: 1715 (1,16%)
P-VOPs: 40370 (27,35%)
B-VOPs: 85610 (57,99%)
S-VOPs: 19936 (13,50%)
N-VOPs: 0 (0,00%)
Max consecutive B-VOPs: 2
1 consec: 40,84%
2 consec: 59,16%
|
Como se puede ver en esa información, nos indica que tenemos un GMC de tres "warp points". Si dijera 1 (un) warp point y tuviéramos un DVD que soporte hasta 1 warp point (como es el caso del DVP5100K) sería decisión de ustedes quitárselo o no. En el caso de no tener GMC simplemente diría "NO".
Para remover el GMC deben seguir esta guía:
http://s3.phpbbforfree.com/forums/dvp5100-about3.html
Audio Códec (ej. "AC3"): El audio de un Divx/Xvid debe estar en formato MP3 o AC3 para que el mismo pueda ser reproducido por un reproductor de DVD (hay algunos que también soportan otros formatos, pero no viene al caso). En el caso de que el audio se encuentre en un formato no soportado por el DVD no les quedaría otra opción que convertir el audio a otro formato (MP3 o AC3). Esto se puede llevar a cabo con el VirtualDubMod. Acá les dejo una guía que explica como transformar el audio de un video a MP3.
http://www.divx.com/divx/windows/codec/guides/audio.php
Deben seguir los pasos que indica ahí pero solo hasta el STEP 7. En video deben poner "Direct Stream Copy". Ignoren el resto de la guía. Además necesitan descargar e instalar el LameACM para que les aparesca la opción de "Lame MP3" en el VirtualDubMod.
Lo pueden descargar de aca: http://www.rarewares.org/files/mp3/lameACM-3.97.zip
Para instalarlo hacen click derecho en el archivo "LameACM.inf" y elijan "Instalar". Listo, ya pueden elegir la opción "Lame MP3" en el VirtualDubMod.
En caso de que el audio les haya quedado desincronizado luego de transformarlo de formato, puede que esta guía les sea útil:
En el caso de una desinconización constante miren esta guía.
En el caso de una desicronización gradual miren esta otra guía (experimental).
------------------------------------------------------------------------------------------------------------------------------------------------------------------
Solución 1: La forma mas fácil de solucionar esto es abrir el archivo de video con el VirtualDubMod (si les pregunta de reescribir el header del audio a penas abren el archivo pulsen "NO"), ir a "Video" y seleccionar la opción que dice "Direct Stream Copy". Luego lo guardas con el comando "Save As" y listo. Vas a ver que cuando lo vuelvas a abrir con el Gspot, el nuevo archivo será del tipo "AVI 2.0" y además tendrá un correcto Interleave y Preload.
-¿Qué? ¿Que no lo entendiste?, Pero si es fácil! Mirá:

1) Abrís el VirtualDubMod y vas a "File".
2) Clickeas en "Open video file".
3) Buscas el video que pretendes "arreglar" en tu disco rígido y después le das a "Abrir" (o doble click sobre el video).
4) Clickeas en "Video".
5) Marcas la opción "Direct stream copy" (clickeandola por supuesto).
6) Vamos de nuevo a "File".
7) Clickeas en "Save As...".
8.) Le das un nuevo nombre a tu video "arreglado" (para que no reemplace al original) y luego clickeas en "Guardar".
Como nota aparte les recomiendo verificar SIEMPRE que el nuevo video no tenga desfasado el audio antes de borrar el original.
Hasta acá llegamos con el Gspot...
Ahora nos falta el último paso. Revisar si el video tiene o no "Packed Bitstream".
1) Abran el video con el "MPEG4Modifier Mod by Istona".
2) Miren la parte en donde dice "Packed Bitstream". Si dice "Yes" es que tiene. Si dice "NO" es que no lo posee por lo tanto pueden cerrar el MPEG4Modifier porque ya no tienen nada que hacer con él (su video esta libre de Packed Bitstream). En el caso de que diga "Yes" deben marcar la casilla donde dice "Unpack".
3) Por ultimo clickean en "Save" y guardan el archivo (sin sobrescribir el original).
4) Les recomiendo que antes de borrar el archivo original verifiquen que el nuevo no tenga desfasado el audio con respecto al video. Esto puede llegar a pasar, pero con el MOD de Istona nunca me paso por suerte.
5) Una vez que comprobaron eso ya pueden borrar el original y quedarse con su nuevo archivo libre de Packed Bitstream.

------------------------------------------------------------------------------------------------------------------------------------------------------------------
Por último, no es necesario exportar los datos del GSpot para visualzarlos. También se pueden apreciar desde la ventana misma del programa.
A continuación les muestro donde esta cada cosa de las que mencione antes:

1) Códec del video. Siguiendo la idea de la guía debería ser Xvid o Divx.
2) 
Esta partecita del programa es muy importante puesto que nos informa si tiene o no GMC, QPel y además nos da una idea de si el video tiene o no Packed Bitstream. Digo que "nos da una idea" puesto que no es 100% certero (para eso tenemos al MPEG4Modifier).
La idea es simple, cuando se encienden los "cartelitos" es que "eso" esta presente en el video. Por ejemplo, para el video de la imagen el GSpot nos informa que tiene BVOP (que no es importante, ignórenlo) y NVOP. En este caso no aparecen, pero también podría darse que un video tiene GMC y/o QPel, entonces, los cartelitos correspondientes aparecerían "prendidos".
En cuanto a lo que había mencionado del Packed Bitstream, DEBEMOS sospechar que el video lo posee si el GSpot nos marca que el video contiene NVOP (como en el ejemplo). Igualmente, que el video tenga NVOP no es condición suficiente para que tenga Packed Bitstream. Puede que tenga NVOP y NO Packed Bitstream. La única forma de saberlo con certeza es abriendo el video con el MPEG4Modifier. Eso si, si no tiene NVOP entonces tampoco tendrá Packed Bitstream.
3) Ahí nos indica el frame rate (o "frames por segundo").
4) Duración del video.
5) Tiempo de preload (en ms).
6) Tiempo de interleave (en ms) cada "X" cantidad de frames de video.
7) Subtype del contenedor AVI.
8.) Códec de Audio. Fijense que abajo donde dice "Info" también nos dice la calidad del mismo y la cantidad de canales.
9) Resolución del video.
10) Tamaño en MB o KB del archivo de video.
Llegamos al final....
Bueno, espero que esta guía les sea MUY útil. Sin mucho más que decir (menos mal!) me despido.
Suerte! Adios. | |
Last edited by Gonzakpo on Tue 05, Dec, 2006 01:51; edited 12 times in total | | | |
 | |  |
Posted: Fri 01, Dec, 2006 00:51 | | | | Gonzakpo | | Activo | 
 |  | | Joined: 30 Sep 2006 | | Posts: 37 | | Location: Buenos Aires, Argentina | |
|  |  |  |
| Un poco de teoría (cortesía de jmaraujo):
Global Motion Compensation (GMC):
Tiene que ver con la estimación del movimiento y se basa en el uso de unos vectores llamados warp-points que controlan el desplazamiento del fotograma en sus bordes (desplazamiento superior-derecho, superior-izquierdo, inferior-izquierdo y perspectiva de movimiento). El GMC de XviD usa tres warp points, el de DivX únicamente uno.
La finalidad de este parámetro es reducir el bitrate en aquellas partes del vídeo con movimientos de cámara acusados (zooms, panorámicas, travellings...), basándose en que en este tipo de fotogramas existen zonas de movimiento en común y eliminando (o poniendo en común) muchos de los vectores de movimiento de esos macrobloques.
Su uso está condicionado al empleo del VHQ a su valor máximo de 4, que es cuando más se puede aprovechar esta opción produciéndose así un efecto sinérgico, aunque no pensemos que nos va a aumentar de manera exagerada la calidad. Esta opción tampoco es compatible con los reproductores DivX de sobremesa.
1 warp point -> traslación
2 warp points -> traslación+rotación+escala
3 warp points -> transformación afín
4 warp points -> perspectiva (no permitido en XviD)
¿Qué es el famoso Packed Bitstream?
El "Packed Bitstream" ayuda a permitir el decodificado de la película sin demoras (delay) en la reproducción. Cuando está activado, los P-frames y B-frames son agrupados juntos ("packed") en un único bitstream (I)(PB)(B)(vacío)(PB)(B)(vacío)(P).
La técnica fue introducida (por defecto) por primera vez en el proceso de codificado, con el lanzamiento del códec DivX 5.0.1. El códec XviD ofrece la opción de (des)activación manual del packed bitstream.
Un XviD con Packed Bitstream (N-VOP) y más de un B-VOP consecutivo (los DivX con PB no generan problemas), no son soportados adecuadamente por la mayoría de los reproductores Mediatek. El problema sucede únicamente cuando el XviD en cuestión, tiene más de un B-VOP a la vez (con un sólo B-VOP funciona correctamente) y habitualmente genera microsaltos al video ("dropped frames") y la pérdida de sincronía de audio. Este problema ha sido solucionado en las actualizaciones de firmware de muchos reproductores.
¿Qué es el famoso "interleaving"?
A pesar de que los clips de video tienen pistas de audio y video simultáneas que se reproducen al mismo tiempo, los archivos de dichas pistas (audio y video) están contenidos en una única pista (archivo).
El "interleaving" toma pequeños trozos de audio y video y los intercala un pedazo por vez.
El reproductor, al leer el archivo "intercalado" (interleaved), recibe un poco de audio, y luego un poco de video, almacenándolos en la memoria (buffer) por un corto período de tiempo antes de reproducirlos en simultáneo.
El tamaño de esos "trozos" almacenados en memoria es esencial para una correcta reproducción del video, ya que de ser muy grandes, superarían el tamaño del buffer, lo que se traduce en pérdida de sonido (parcial -saltos de audio-, o total).
El tamaño ideal del "interleave" es cada un frame de video, el tiempo equivalente de audio. O sea: 40ms para una película de 25fps, y 42ms para una película de 23,976fps. | | | | |
 | |  |
Posted: Thu 07, Dec, 2006 08:46 | | | | diego | | Administrador | 
 |  | | Joined: 06 Feb 2006 | | Posts: 20 | | Location: Rivera - Uruguay | |
|  |  |  |
| Completísimo... si después de esto alguien no sabe como grabar una película compatible con el player, entonces es para matarlo...
Felicitaciones y muchas gracias! | | | | |
Posted: Thu 07, Dec, 2006 11:54 | | | | pablo | | Moderador | 
 |  | | Joined: 10 Feb 2006 | | Posts: 496 | | |
|  |  |  |
| MUY BUENO!
Habría que ver la forma de que cada nuevo usuario registrado en el foro, tenga que leer este post SI o SI... antes de empezar a preguntar, no les parece?  | | | | |
Posted: Thu 07, Dec, 2006 23:24 | | | | jmaraujo | | Site Admin | 
 |  | | Joined: 03 Feb 2006 | | Posts: 1920 | | Location: Rivera, Uruguay | |
|  |  |  |
| Muy bueno y muy completo... Ya te lo había agradecido personalmente, pero ahora lo hago públicamente. 
Tiene todo lo que se necesita saber, y como dice Pablo, es de lectura "obligatoria"...
Saludos!  | | | | |
Posted: Mon 11, Dec, 2006 20:50 | | | | vinyl | | Activo | 
|  | | Joined: 25 Jun 2006 | | Posts: 24 | | |
|  |  |  |
| | Excelente tutorial, felicitaciones !!! | | | | |
| Philips DVP5100K Forum Index » Tutoriales y guías | You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum | All times are GMT - 3 Hours Page 1 of 1 | | | | |