Ver la versión completa : Xvid: Pruebas y configuración
Akui to Higeki
15/02/2006, 02:14
Empezaré presentándome: Soy Akui, y soy un GP2Xero. (Ahora es cuando vosotros decís: "Hola, Akui"). En realidad, solo lo soy desde el viernes. El jueves fui a la página de HG pensando en comprarme un Supercard para la DS, más que nada con el homebrew en mente, y cuando estaba a punto de dar al botón, ví que aquella consola que había oído que iba a salir, que era como la GP32 pero mejor, había salido ya. Así que investigué un poco, y decidí que si era homebrew lo que quería, por poco más me llevaba una consola entera, así que abandoné la Supercard, y pillé la GP2X. Creo que no me voy a arrepentir.
(Lo siento por la chapa. La verdad, es que ahora que hay tanta gente nueva igual deberíais poner un topic de presentaciones como en otros foros.)
Bueno, al grano. He decidido que mi primer post fuera sobre un tema del que no he leído mucho en estos foros, la codificación en XVID.
Veréis, desde el viernes he estado haciendo pruebas con mis series, buscando la mejor forma de recomprimirlas y eso, y cuales podría reproducir sin recomprimir y eso. La GP2X (¿debería decir el mplayer de la GP2X?) reproduce XVID sin problemas, excepto usando ciertas opciones avanzadas. Esto es lo que he encontrado:
B-frames: Parece que los reproduce correctamente.
QPEL: No lo soporta.
GMC (3 puntos): No lo soporta. La pantalla se queda en negro y el audio sigue reproduciendo.
Lo cual es algo decepcionante, pero con mi experiencia en reproductores de salón, nada sorprendente.
No he probado aún bitrate máximo ni formato anamórfico (un poco estúpido con esta pantalla, pero...) ya os contaré.
También veo que mucha gente está codifcando sus vídeos basándose en el bitrate, lo cual está muy bien si quieres que todos tus vídeos ocupen una cantidad de megas determinada, pero si el tamaño no importa (je) yo recomiendo codificar a calidad constante,.
Me explico: Si de un vídeo sabes la duración y el bitrate, sabes el tamaño que va a ocupar. Pero si no necesitas un tamaño concreto, es mejor hacer la codificación a calidad constante. Si no lo haces así, al promediar el bitrate tendás escenas que no requieren mucho bitrate con más del que deberían, y escenas que requieran más con menos del necesario, lo que da lugar a los famosos macrobloques (los cuadros gordotes). Muchos ni los notarán en una pantalla tan pequeña, pero los fans del anime pueden notarlos y mucho en los subtítulos, por ejemplo.
Sin embargo, si codificas con un quantizer constante, lo que le estás diciendo al codec es que quieres que todo el vídeo se vea con la misma calidad de imagen, y que le dé bitrate a las escenas según sea necesario para alcanzar un valor matemático que se supone que mide la calidad.
Por ejemplo, a q2 (quantizer 2) se supone que el vídeo es casi perfecto, no merece la pena bajar a 1, ya que prácticamente solo subes el tamaño. q3 es peor que q2, y q4 es peor que q3.
Vamos con un caso más práctico. Yo tengo aquí mismo un episodio de anime que ocupa 175mb y lo quiero bajar de resolución pero no quiero bajar mucho la calidad. Entonces lo que hago es el resize del video (por ejemplo con avisynth) y luego pongo el quantizer a 2. Al final el episodio con el audio se me queda en unos 100 mb, que es casi la mitad y se ve de pm. Incluso se podría poner en la tele aún con esa resolución tan pequeña. Pero supongamos que quiero bajar más el tamaño. Entonces pondría quantizer 5 por ejemplo, y con eso sin bajar la calidad de audio para nada, se quedaría en 65mb con audio y todo. Y la verdad es que lo acabo de hacer y se ve que ha bajado la calidad, pero de manera constante, es decir, que todo el vídeo se ve por igual, algo borrosillo, pero en general bien. Y los subtítulos se entienden. Sin embargo, si hago una codificación a 300 de bitrate, hay escenas que se ven muy bien, y escenas que se ven fatal, sobre todo las rápidas, o en las que hay un montón de cositas moviéndose a la vez.
En fin, que como seguro que por aquí habrá gente que controle del tema, me gustaría saber su opinión. Creo que no hay una forma mejor o peor de hacer estas cosas, pero está bien conocer todas las alternativas.
Si interesa, podría hacer un tuto del proceso. No es muy diferente a la otra manera, solo cambia lo del quantizer, pero si alguien quiere me pongo a ello.
Y bueno, como ya me he presentado, ahora me voy a poner a leer más topics y a contestar en ellos. Un foro más pa la cole ;)
PD: Siento que mi primer post sea tan largo. Intentaré contenerme para el futuro.
Empezaré presentándome: Soy Akui, y soy un GP2Xero. (Ahora es cuando vosotros decís: "Hola, Akui").Hola, Akui!
PD: Siento que mi primer post sea tan largo. Intentaré contenerme para el futuro.Si son tan didacticos como este, no importa el tamaño. A partir de ahora solo codificare a Q2 ^^
Vienbenido ha hecta, nuectra comunidaz :abeber: :brindis:
Felicidades, has hecho un magnífico primer post en el foro! Aiiins si todos los novatos hicieran estas cosas, la vida seria perfecta :) :quepalmo:
En serio, personalmente no domino mucho del tema de video, y veo que tu si que sabes. Por eso te pido si puedes hacer un tutorial expandido sobre el tema.
Es que yo siempre tiraba de recomprimir según el bitrate y poca cosa más. Me ha gustado mucho lo del Quantizer :D. Hay otras cosillas así en general que sepas y que puedan ser útiles?
Gracias! [wei2]
Akui to Higeki
15/02/2006, 02:59
En serio, personalmente no domino mucho del tema de video, y veo que tu si que sabes. Por eso te pido si puedes hacer un tutorial expandido sobre el tema.
Pues ahora me pongo a ello. Veo que hay otro tutorial de pasar de dvd a GP2X, así que el mío lo haré de pasar de un .avi a otro de menor tamaño. Luego mezclando lo mejor de los dos mundos, creo que estará todo cubierto. Bueno, en realidad, ni de coña, porque esto del vídeo es muy amplio. Yo la verdad es que no soy ningún experto, pero en su día me peleé con todas las opciones de los codecs. Intentaré hacerlo lo más "pofesional" posible, pero que se entienda.
Es que yo siempre tiraba de recomprimir según el bitrate y poca cosa más. Me ha gustado mucho lo del Quantizer . Hay otras cosillas así en general que sepas y que puedan ser útiles?
Así a bote pronto, pues no. Lo único que por regla general hay que evitar cambiar la resolución con el virtualdub y procurar hacerlo con avisynth, y que la resolución siempre hay que procurar que sean múltiplos de al menos 8, o mejor aún 16 o 32, para que el códec pueda hacer bien su trabajo. Pero bueno, a ver si para mañana puedo poner el tutorial con todo explicadito y eso.
Muchas gracias por la bienvenida ^_^
Snakefd99cb
15/02/2006, 04:18
Pues ahora me pongo a ello. Veo que hay otro tutorial de pasar de dvd a GP2X, así que el mío lo haré de pasar de un .avi a otro de menor tamaño. Luego mezclando lo mejor de los dos mundos, creo que estará todo cubierto. Bueno, en realidad, ni de coña, porque esto del vídeo es muy amplio. Yo la verdad es que no soy ningún experto, pero en su día me peleé con todas las opciones de los codecs. Intentaré hacerlo lo más "pofesional" posible, pero que se entienda.
Así a bote pronto, pues no. Lo único que por regla general hay que evitar cambiar la resolución con el virtualdub y procurar hacerlo con avisynth, y que la resolución siempre hay que procurar que sean múltiplos de al menos 8, o mejor aún 16 o 32, para que el códec pueda hacer bien su trabajo. Pero bueno, a ver si para mañana puedo poner el tutorial con todo explicadito y eso.
Muchas gracias por la bienvenida ^_^
Yo he subido ahora uno de ARCalculator y XviD ¿con que trabajas tu?
Salu2
JoviJuan
15/02/2006, 15:06
De cara a reducir el tamaño está muy bien lo de calidad constante, aunque esto también se puede conseguir con un bitrate determinado en varias pasadas.
Pero lo que quiero comentar es que para este tipo de pantallas, como las de las PDAs, que son pequeñas y no muy rápidas en lo que a refresco de pantalla se refiere, lo que se puede hacer es reducir el framerate a la mitad. Yo lo suelo hacer con virtualdub, la calidad apenas se resiente (incluso mejora porque a igual bitrate toca más a cada frame) y se puede reducir bastante el tamaño (se puede bajar el birate del video hasta 150-200 kbps).
Hola, Akui :) y gracias por la información
Yo en esto del video voy pez y me he puesto a buscar en Wikipedia y he encontrado estas definiciones a palabros que has usado y yo no sabía ni que existían
B-frames, o fotogramas bidireccionales, que almacenan entre dos fotogramas, uno anterior, y otro posterior, su compresión suele ser superior a los cuadros llave (keyframes) y p-frames.
Quater pixel (Q-pel), se trabaja con una precisión doble en los vectores de movimiento de los bloques en la compensación del movimiento, es más útil en resoluciones bajas.
Global motion compensation (GMC) o compensación global de movimiento, que entra en juego en giros de cámara y zoom, consiste en almacenar los vectores de movimiento de forma global (en relación a unos pocos), y consiguiendo hacer que muchos valgan 0, reduciendo su tamaño.
pero ¿que es el formato formato anamórfico del que hablas ?
Snakefd99cb
15/02/2006, 19:50
Hola, Akui :) y gracias por la información
Yo en esto del video voy pez y me he puesto a buscar en Wikipedia y he encontrado estas definiciones a palabros que has usado y yo no sabía ni que existían
B-frames, o fotogramas bidireccionales, que almacenan entre dos fotogramas, uno anterior, y otro posterior, su compresión suele ser superior a los cuadros llave (keyframes) y p-frames.
Quater pixel (Q-pel), se trabaja con una precisión doble en los vectores de movimiento de los bloques en la compensación del movimiento, es más útil en resoluciones bajas.
Global motion compensation (GMC) o compensación global de movimiento, que entra en juego en giros de cámara y zoom, consiste en almacenar los vectores de movimiento de forma global (en relación a unos pocos), y consiguiendo hacer que muchos valgan 0, reduciendo su tamaño.
pero ¿que es el formato formato anamórfico del que hablas ?
Pues al tema de 16:9 que ya si le ponemos al video las franjas no aprovechamos la pantalla.
Aunque si rescalamos a 4:3 no tiene por que verse en la pantalla de la maquina, las caras aplatanadas.
Salu2
Yo uso SUPER para codificar los videos para la GP2X, pero no se como aplicar lo que explicas en el. Estoy leyendo el hilo y probare ese sistema en Virtual Dub en cuanto me sea posible (es decir, en cuanto tenga una SD mas grande, que con 256 megas no voy a ningun lado).
Genial el post, que se me olvidaba [wei6]
Joe-Kerr
15/02/2006, 22:27
Hola Akui, bienvenido al foro.
Lo que dices es completamente cierto, pero solo cuando codificas usando una sola pasada
Haciendo 2 pasadas el codec distribuye el los bits lo largo de las escenas segun la complejidad de cada una. La llamada curva de bitrate, por eso, aun indicandole al Xvid que me comprima a 700kbs, en algunas escenas puede subir a 1500 y en otras bajar a 200, como ha mencionado JoviJuan. Se trata de que el bitrate medio de toda la pelicula sea 700, no constante.
Tu metodo es perfectamente valido, pero poco eficaz. Cuando hago un video para la gp2x, quiero controlar el tamaño del archivo manteniendo la maxima calidad, con un quantizer fijo, eso no es viable. Lo mejor es siempre las dos pasadas, he estado haciendo pruebas con Futurama, y se obtiene una calidad excelente, con un bitrate de tan solo 165 (JoviJuan dixit).
Por cierto esto son los quantizers que yo uso.
I-frames: 2- 6
P-frames: 2-10
B-frames: 4-12
Segata Sanshiro
15/02/2006, 22:45
Gracias por el análisis, podrías además decir el firmware de tu GP2X y la tarjeta usada?
Akui to Higeki
15/02/2006, 23:56
Uf, qué de cosas.
Me esperaba la respuesta de las dos pasadas. Es un tema de controversia y discusión eterna en foros como doom9, y aquí no iba a ser menos. Sí, a dos pasadas hay una distribución de bitrate, pero para mí ese es el problema, que hay frames a por ejemplo quantizer 2 y frames a quantizer 5, y eso se nota (o puede que yo sea muy quisquilloso). Si lo que se quiere es una calidad constante, hay que codificar a quantizer constante. El problema es que no controlas el bitrate, ni el máximo ni el medio, y por lo tanto no controlas el tamaño.
Bueno, eso relativamente. Con el enc se puede analizar la compresibilidad bastante aproximadamente, y subir o bajar de quantizer en consecuencia. Incluso si se quiere aumentar la compresibilidad (o sea bajar el tamaño) sin disminuir el quantizer se puede recurrir a las famosas matrices (como la excelente SixofNine).
Para los "expertos" ;) que quieran ver algunas de esas discusiones en doom9 podría poner unos links, pero no sé muy bien si están permitidos, así que de momento os pongo los números de los topics (para que lo pongáis en la barra de direcciones del navegador, no sé si me explico):
t=95390
t=87376
t=82811
t=84086
En estos topics habla gente como Teegedeck, sysKin o Didée, pesos pesados del desarrollo del codec, a favor de este método.
Por ejemplo, este es sysKin, desarrollador del XVID:
As for original question, single-pass gives in theory better quality. This is because the quality is trully constant. Second pass always fluctuates quality a bit to accomodate its bitrate curve, and this never matches real video perfectly - so the quality is not perfectly constant.
Pero nunca os fiéis de lo que ponga en un foro, ni de lo que diga yo, ni nadie. Lo mejor es probar y ver qué es lo que os gusta más.
Para cuestiones de portabilidad es posible que se necesiten tamaños concretos, pero si eso no es importante (y si se pueden conectar discos duros en un futuro es posible que así sea), creo que codificar a calidad constante es una alternativa muy válida.
Es más, haciendo dos pasadas, la primera se hace a calidad constante, y luego ya se hace la segunda con la famosa curva.
Además, haciendo dos pasadas se tarda el doble, y estamos hablando al fin y al cabo de una recompresión.
Formato anamórfico: Esto podría llevarme horas explicarlo, pero intentaré hacerlo de forma breve. Se trata de respetar al máximo el formato de un DVD, sin estirar ni achatar la imagen. Luego en tiempo real al decodificar se "estira" para una pantalla panorámica, o se ponen las barras negras arriba y abajo, en una pantalla "cuadrada". Esto lo debería hacer el reproductor automáticamente.
Hoy he estado muy ocupado, así que aún no he podido comprobar si la gp2x lo soporta correctamente, o estira la imagen al reproducir.
Más...
Yo he subido ahora uno de ARCalculator y XviD ¿con que trabajas tu?
El ARCalculator lo probé, pero no me convenció. Yo directamente .avs y virtualdub. Leeré tu tuto con interés e intentaré hacer uno que no se solape con ninguno de los existentes. Tal vez simplemente ponga el proceso de codificación. O puede que me pase al ARCalculator ;)
Por cierto, siento usar tantos palabros, me salen sin darme cuenta :)
Ah, se me olvidaba, bajar el framerate no es para mí, pero también es muy buena idea.
Joe-Kerr
16/02/2006, 03:36
Son dos puntos de vista diferentes pero igual de validos.
Para mi lo principal es con un tamaño determinado tratar de obtener la maxima calidad. Si para ello necesito dos pasadas, bienvenidas sean. Con un quantizer constante, eso no es posible, pero es totalmente cierto lo que dices. Si usamos q=2 deberia darnos incluso más calidad que con dos, tres o 27 pasadas. Pero nos daría un tamaño de fichero enorme.
Los chequeos de compresibilidad son muy buena idea. La primera vez que hice "Los Otros", no sabia nada de ellos y use la regla de los 0.2 bits por pixel. El resultado es que la pelicula me ocupo solo 550 megas en vez de 700. Es una forma muy buena de saber hasta que punto puedes reducir el tamaño sin que influya en la calidad de la imagen.
Con lo que ya me has dejao alucinao, es con el tema de las matrices, kiyo eres un maquina! :rever: :rever: Yo las matrices no las he tocado en la vida, Porque no tedría NPI de lo que estaria haciendo, pero tambien porque con la matriz estandar (H263) me da unos resultados excelentes. Lo que si que toqueteaba a menudo eran los quantizers de los distintos tipos de frames.
Por cierto tengo que probar el enc que has mencionado. A ver que tal funciona. Y a mi tambien me gusta usar avisynth y virtualdub a pelo. Aunque mis scripts son lo mas simple del mundo, raro es que use mas de 3 lineas [wei5] [wei5]
Yo quiero un manual con screens de como hacer eso que dices con el virtual dub, que todo esto que has dicho me ha sonado a chino pero el resultado me guuuuusta :D:D
Bienvenido! ;-)
Hola, yo al igual que Joe-Kerr opino que es mejor usar 2 pasadas, pero lógicamente no hay nada absoluto, y el mejor método dependería de cada uso y de cada uno (como siempre, como todo :P )
Principalmente se pueden dar dos "casos":
Uno reduce cierta peli para verla en la consola. No le importa mucho cuánto ocupe, porque no va a ser algo definitivo y cuando la vea la va a borrar: usa quantizer.
Un grupo de ripeo distribuye una serie de animación para la gp2x: le interesa obtener la máxima calidad puesto que va a ser distribuída y no se trata de hacer una chapucilla; además normalmente se pretende mantener un mismo tamaño para todos los episodios: usan doble pasada con un bitrate adecuado.
Y sobre las matrices, se ha jugado mucho con ellas, y se sigue haciendo, encontrando configuraciones especialmente efectivas para según qué tipo de vídeos, pero el problema es que modificar la matriz de compresión suele cargarse la compatibilidad con los reproductores de salón, quien quiera ver las pelis en su DVD-DivX (como yo :)) que no modifique las matrices :D
Akui to Higeki
18/02/2006, 01:47
Completamente de acuerdo contigo, daesir.
Yo las pelis que ripeo para ver en el reproductor de sobremesa las ripeo a q2, porque no me importa lo que ocupen, los DVD-R son baratos. Si tuviera que distribuir episodios a 175 mb usaría dos, o si tuviera que ripear pelis a 700 mb, pero para mí uso personal ese límite no tiene mucho sentido.
Haré un testeo de compatibilidad de matrices para nuestra consola un día que tenga ganas, que me raspé mucho con los que hice para mi Pioneer.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.