Tutorial mascadito para codificar videos para el GPcinema.
1-Introducción
Tras muchas experimentaciones con el virtual dub y diversos tutoriales creo haber conseguido por fin un resultado medio decente para comprimir videos con buena calidad para el GpCinema
Con esto quiero que el que no comprima videos para la gp32 sea porque no quiere, no por imposibilidad de conocimientos.
No quiere decir que sea un tutorial definitivo e inefable, pero puede servir de punto de partida para que la gente desarrole su propia técnica de codificación o mejore la que aquí explico.
La codificación en cuestión la haremos con el codec XviD y a doble pasada.
El vídeo que obtendremos está pensado para verse en el GPcinema 2 prebeta a una frecuencia de 133mhz. Si lo poneis en una versión anterior o a una frecuencia menor podreis notar ciertos errores en la reproducción.
ACTUALIZACIONES:
21-06-2004: PRIMERA VERSIÓN
10-10-2004: CORRECIÓN DE ALGUNOS MATICES Y AÑADIENDO SUBTÍTULOS
19-02-2005: ACTUALIZACIÓN A GPCINEMA 2 PREBETA Y OTRA CORRECIONES MENORES
04-07-2005: INCLUSIÓN DE LOS FICHEROS NECESARIOS COMO ARCHIVOS ADJUNTOS
PROXIMAS ACTUALIZACIONES:
CAMBIOS EN LA CAPTURAS PARA QUE SE CIÑAN AL XVID AQUI PROPORCIONADO
2-Elementos necesarios
Nos harán falta una serie de archivos que detallo aquí:
En primer lugar el codec xvid con el que comprimiremos los videos aquí
En segundo lugar, el virtual dub que lo puedes descargar de aquí: http://virtualdub.sourceforge.net/ o de aquí
(en este tutorial usaremos el VirtualDub-1.5.10, pero si hay alguna versión nueva supongo que será mejor bajar la última).
Por último, necesitamos un video para comprimir
Una vez tenemos todo lo necesario pasamos al tutorial propiamente dicho.
3-Preparando la primera pasada
Abrimos el virtual dub y cargamos un avi, nos aseguramos que video y audio estén el full processing mode en sus respectivos menús...
Ahora pulsamos en video/filters.../Add y escogemos Resize.
Si la imagen es formato TV (3:4), es decir, que el video ocupa la totalidad del monitor pondremos la resolución en 320x240.
Si la imagen es en formato panorámico (16:9) o simplemente contiene bandas negras que deseamos quitar haced lo que viene explicado en el anexo A. (lo pongo separado para no liar).
Independientente de las proporciones de la imagen en filter mode ponemos bilinear o bicubic (yo siempre uso bilinear).
Aceptamos todo y buscamos en el menu video la subopción framerate, aparecerá una ventana nueva en la que activaremos la casilla "convert to fps" y escribiremos 17.
Esos serán los cuadros por segundo que tendrá nuestra película yo recomiento entre 16 o 18 si es imagen real y de 8 a 12 si es anime.
Ahora volvemos al menu video, pero esta vez buscamos "compression", escogemos el codec XviD MPEG-4 y pulsamos el botón "configure"..
NOTA: Estas opciones podrán diferir en función del codec de XviD que tengais instalado.
Si no os aparecen todas o hay más de las que aquí nombramos simplemente configurad lo que aparezca este tutorial y el resto lo dejais igual.
Ahora saldrá la ventana XviD configuration: en el cuadro Enconding Mode escogemos 2Pass - 1st pass y acto seguido pinchamos en "Advanced options..".
En la ventana que nos aparece nos saldrán varias pestañas que configuraremos tal y como vemos en las imágenes, el resto las dejamos igual...
Pestaña Global
Pestaña Alt. Curve
Esta configuración solo necesitamos hacerla una vez, ya que la próxima vez que abramos el virtual dub nos aparecerá tal y como lo hemos puesto ahora.
Volvemos a aceptarlo todo.
Lo próximo que haremos será darle al menu audio/conversión (previamente debemos haber seleccionado full processing mode en ese mismo menu).
Nos saldrá la ventana de opciones de "audio conversion" y la configuramos tal y como aparece en la imagen, asegurándonos que activamos la casilla "High Quality".
Aceptamos, volvemos al menú audio y escogemos compression..
En la columna de la izquierda escogemos MPEG Layer-3 y en la columna de la derecha 64 kBit/s, 22,050, Stereo 8KB/s.
Para más información sobre lo que ocupará el sonido y el tamaño total del video mirar el anexo B.
En este momento pasaremos a realizar la primera pasada escogiendo en el menu file/save as AVI... e indicando un nombre de archivo
(podemos ahorrar algo de tiempo desactivando el audio: menu audio/no audio).
Esperamos que termine la primera pasada, así que si es una peli podemos irnos a tomarnos un cafelito o echarnos unos vicios a cualquier emu![]()
![]()
4-Preparando la segunda pasada
Una vez que haya terminado volvemos al menu video/compression/XviD Codec
NOTA: Estas opciones podrán diferir en función del codec de XviD que tengais instalado.
Si no os aparecen todas o hay más de las que aquí nombramos simplemente configurad lo que aparezca este tutorial y el resto lo dejais igual.
Pulsamos en configure y en la ventana escogemos 2 pass - 2nd pass Int.
En el cuadro nombrado como "Desired size(kbytes):" ponemos el tamaño que queremos que ocupe el video en kbytes (mirar el anexo B más información sobre el tamaño deseado del archivo).
Pichamos en advanced options y configuramos las pestañas tal como aparece en las imágenes...
Pestaña Quantization
Pestaña Two Pass
Comento lo mismo que antes, la configuración que pongamos permanecerá cuando volvamos a abrir el virtual dub.
Aceptamos todo y pinchamos en la opción file/save as avi... para realizar la segunda pasada. Tendremos que sobreescribir el avi resultante de la primera pasada.
(Si desactivamos antes el sonido, hay que asegurarse de que esté en la opción "source audio" para que su codificación se lleve a cabo).
Apunte de alien8: para realizar las dos pasadas de una vez, utilizaremos la cola de trabajo (Job Control). Cuando vayas a salvar ambas pasadas, activa la casilla "Don´t run this Job ....", en vez de empezar con la codificación se pondrá en espera. Una vez que hayamos configurado las dos pasadas nos vamos a Job control (F4) y le ordenamos que empiece las tareas programadas. Así podríamos incluso codificar varias películas sin necesidad de estar delante del ordenador.
5-FINAL
Unicamente ya sólo nos queda esperar que termine la compresión para luego, meter el avi en una smc con el gpcinema y disfrutar viéndolo
ANEXO A: PROPORCIONES ESPECIALES
La resolución máxima de nuestra consola es de 320x240, eso quiere decir que tenemos una proporción de pantalla equivalente a la de un monitor o a una TV, es decir 3:4.
Esta resolución será la que pongamos en resize cuando la imagen ocupe la pantalla completa, pero cuando no sea así seguiremos estás instrucciones según sea el caso.
Cuando la imagen tiene una proporción diferente a 3:4 (pantalla completa) y no tiene bandas negras
Tenemos un video en formato panorámico. Lo primero que debemos hacer es mirar la resolución del video. Una manera de verlo es (en windows) pulsar el botón derecho propiedades/pestaña detalles.
En el caso del ejemplo vemos que tiene un tamaño de 576x320. Pues bien, con esas cifras nos vamos al photoshop (o a cualquier otro programa de tratamiento de imágenes y creamos un documento nuevo con el ancho y alto dado.
Así obtenemos un equivalente de un fotograma en tamaño real. Acto seguido modificamos el documento reduciendo su ancho hasta 320 (en photoshop menu imagen/tamaño de imagen...).
Tenemos que asegurarnos que la reducción de tamaño va a ser proporcionado. En la imagen vemos que la altura se modifica automáticamente para mantener la proporción original dando un número (en este caso 178). Los tamaños obtenidos los pasamos a la opción resize del virtual dub (en este caso 320x178) manteniendo así su proporción original. En la gp32 también se verá proporcionado.
una manera más sencilla de realizar este proceso sería efectuando una simple regla de tres, pero yo no soy de ciencias y me gusta utilizar esta técnica.
Cuando la imagen tiene una proporción de 3:4 (pantalla completa) pero tiene bandas negras
Tenemos, por ejemplo, este vídeo que tiene una proporción de TV, pero vemos que hay unas bandas negras que no sirven para nada. Únicamente ocuparían más espacio a la hora de comprimir el video. Estas bandas suelen aparecer al capturar algo desde la tele o con un mal ripeado de un dvd.
Nuestra labor aquí será doble: Quitar las bandas negras y una vez hecho eso, reducir el video hasta un ancho de 320 pixeles sin perder las proporciones.
Pasamos a explicarlo más detalladamente.
Abrimos el video con el virtual dub y vamos realizando todos los pasos tal como se han explicado previamente.
Cuando necestimos añadir el filtro de resize lo hacemos poniendo lo que nos de la gana (después lo modificaremos). Al darle a aceptar, nos aparecerá en la ventana de filtros una opción llamada "cropping..." (cortar).
Pinchamos y saldrá la ventana de configuración de cropping..
Mediante los "offset" vamos ajustando hasta que no se vea nada de los bordes negros (si es preciso también ajustaremos los laterales).
Una vez quitados los bordes tenemos que reducir proporcionalmente hasta un ancho de 320. Lo podemos hacer de dos formas:
1- ajustamos el ancho a 320 (filters/resize) y el alto lo hacemos "a ojo"; o
2- capturamos una pantalla del video con el photoshop, y recortamos hasta que tengamos únicamente el fotograma sin bandas negras. Con ese recorte, nos vamos a tamaño de imagen (si es photoshop), repetimos la operación indicada en el punto anterior y transferimos las medidas que nos de al virtual dub. Con lo que obtenemos la imagen reducida y proporcionada.
ANEXO B: CALCULANDO EL TAMAÑO EXACTO DEL ARCHIVO
Calculando el tamaño del video
En "Desired size(kbytes):" hemos de introducir el peso que queremos que ocupe el video en kbytes. Es decir, si queremos que un video ocupe 4Mb, en el recuadro deberíamos poner 4096 (4x1024=4096).
Como consejo yo suelo calcularlo aplicando un Mb por minuto, de tal modo que si la peli dura 90 min yo calcularía para que me diera un video de 90 Mb mas o menos. Ojo, esta cifra sólo se refiere a la imagen. El audio lo calculamos en el siguiente punto.
Calculando el tamaño del audio
Si mantenemos la configuración de sonido que he puesto en este tutorial nos da 8k por segundo.
Entonces, tomando esta cifra, un video de 5 minutos, por ejemplo, nos ocuparía 8(k/s)x60(segundos)x5(minutos) = 2400(kbytes).
Calculando el tamaño total del video
Sólo tendríamos que sumar los tamaños de video y audio tal y cómo lo he explicado anteriormente.
Ej: Imaginemos que tenemos un videoclip que dura 4 minutos y no queremos que ocupe más de 6 megas.
El tamaño del audio es siempre el mismo: 8(kbytes/seg)x60(segundos)x4(minutos)= 1920 kbytes
Ahora calculamos el tamaño del video:
Si no queremos que supere los 6Mb (6x1024= 6144 kbytes) como habíamos comentado hemos de restar el tamaño del audio. Es decir: 6144 - 1920 = 4224 kbytes. Esa sería la cantidad que debería ocupar el video. Con lo que nos quedaría 4224(video)+ 1920(audio)= 6144(video+audio)= 6Mb.
Y con esto hemos aprendido a calcular y controlar el tamaño de un video. Espero que haya quedado claro.
Consejo: Vuelvo a comentar que sería casi obligado que los datos de imagen ocuparan un Mb por minuto, para obtener una calidad decente.
ANEXO C: SUBTITULANDO NUESTROS VIDEOS
Por demanda popular y para ayudar a la labor del encoders group voy a explicar como ver un video con subtítulos en el GPCinema:
Ya que el GPCinema no dispone de reproductor de subtítulos independientes nuestra única posibilidad es incrustar en el video los subtítulos para que siempre aparezcan.
Necesitaremos el plugin VobSub para virtualdub, lo podreis bajar de cualquiera de estos dos enlaces:
http://www.filemirrors.com/search.sr...obSub_2.23.exe
http://files.divx-digest.com/softwar...obSub_2.23.exe
Además este paquete contiene otras utilidades, como un ripeador de subtítulos de DVDs, un conversor de formatos, o un sincronizador de subtítulos. En este tútorial sólo tocaremos el plug-in del virtual dub.
Una vez instalado el vobsub, copiamos los ficheros textsub.vdf y vobsub_vd.vdf a la carpeta plugins del virtual dub. El virtualdub los cargará automáticamente la próxima vez que lo iniciemos. Para comprobar que está instalado correctamente nos iremos a video/filter.../add filter y tendríamos que verlos.
Ahora que está todo correcto abrimos el video al que deseemos incrustar los subtítulos y lo vamos configurando tal como hemos explicado, (reducir a 320x240, configurar sonido y fps, etc). Una vez que lo tenemos todo preparado y antes de dar la primera pasada añadimos el filtro de subtítulos filters/TextSub 2.23
Inmediantamente despues nos saldrá esta pantalla:
No tocamos ninguna opción y pulsamos open.. para escoger nuestro subtítulo.
Despues aceptamos todo y podremos ver en el previo que ya aparecen los subtítulos incrustados
Si nos gustan como quedan, sin más dilación procederemos a las dos pasadas de rigor y ya tendremos nuestro video con los subs.
Puede que prefiramos los subs en otro tamaño, fuente, o color. Si fuera el caso tendríamos ir de nuevo a video/filters, hacer click en TextSub 2.23 y pinchar en el botón Configure..
Nos volverá a salir la pantalla para escoger subtítulos, pero esta vez en vez de open.. le damos a styles..
En esta pantalla podremos configurar el estilo del subtítulo: la fuente, la sombra, el borde, los colores, el alineamiento, etc. No tiene previsualización, así que habrá que calcular a ojo.
Aquí vemos que la resolución de la gp no es excusa para decir que los subtítulos se van ver pequeños, simplemente configuradlo a vuestro gusto.
ANEXO D: OTRAS CONSIDERACIONES
Seguramente os encontreis muchas veces que el virtual dub da problemas al abrir y/o trabajar con cierto tipo de videos. La solución es tratar de convertirlo a otro formato con otro programa (por ejemplo pasarlo a mpg) para ver si así el virtual dub acepta leerlos o usar una de las modificaciones del virtual dub (gracias por el apunte javili23) como son, por ejemplo, el nandub, el virtualdubmod, el virtualdubmpeg-2 (que lee videos codificados en mpeg-2), o incluso el virtualdub 1.3 que aunque es oficial, es el último con soporte asf y wmv.
El virtual dub cuenta con plug-ins para borrar logos, codificar un video con un audio externo y varias aplicaciones más, pero todo eso se sale un poco de este tutorial, por eso no lo explico, pero sólo doy esta nota al margen para que sepais que nuestros videos geperos pueden disfrutar de esos plug-ins.
PARA TERMINAR
Espero que este tutorial sirva para realizar vuestras propias codificaciones e incluso obtener una técnica más depurada de compresión. Esto no es una fórmula absoluta poseedora de la verdad total para hacer videos para el gpcinema, cada uno puede aportar su granito de arena en este mundo complejo y abierto.
Si teneis dudas, sugerencias o se os ocurre alguna manera de mejorar el tutorial, sólo teneis que postear.
Que lo disfruteis.
P.D.: Espero no haberme colado con la longitud.![]()
Marcadores