7. COMPRIMIENDO EN TIEMPO NO-REAL

    Aunque con equipos potentes es posible comprimir en tiempo real con buenos resultados de calidad, es indudable que si dejamos al ordenador trabajar "a su ritmo" con cada cuadro en lugar de dejarle tan sólo 0.04 segundos que dura cada cuadro en tiempo real, obtendremos resultados mucho mejores. Evidentemente, si vamos a trabajar con programas de compresión en tiempo no-real deberemos realizar primero las capturas sin compresión, es decir, en RGB. Aunque la pérdida de calidad en compresión YUV es difícil de apreciar a simple vista, hemos te tener en cuenta que todos los programas de compresión la utilizan y si le damos al programa de catura en tiempo no real un original ya comprimido en YUV no podrá realizar bien su trabajo puesto que parte de su labor ya estará hecha y, posiblemente, no de la forma en que el programa la hubiera realizado si él hubiera hecho la compresión. Por tanto, es importante usar capturas en RGB sin compresión antes de comprimirlos con estos programas.

    Con los programas de compresión en tiempo no-real podremos, o bien reducir el tamaño de una captura preservando el máximo de calidad posible, o bien producir un "render" o versión final de una edición. Son muy famosos los "plug-in" (extras) para Premiere con los que podremos "exportar" la versión final de nuestros vídeos usando alguno de estos programas de compresión en tiempo no-real.

Volver al índice

7.1 TMPEnc (http://www.tmpgenc.com/)

    No creo que me pille las manos si digo que actualmente (Ver 0. Acerca de...) TMPEnc es la utilidad de compresión que mejores resultados da, tanto en calidad como compresión, aunque eso sí... se toma su tiempo. Al igual que VirtualDub, TMPEnc también permite modificar los ficheros antes o después de capturarlos. Lo único que se le echa en falta a TMPEnc es que no ofrezca ningún plug-in (extra) para poder realizar versiones finales (renders) directamente desde Adobe Premiere. Al igual que con VirtualDub, tan sólo explicaré las opciones más comunes, dejando el resto para vuestra experimentación u otros manuales.

Volver al índice

7.1.1 File

    - New project (nuevo proyecto), Open project (abrir proyecto), Save project (guardar proyecto): TMPEnc se inicia por defecto con los parámetros de la última sesión. Pinchad en "New project" para limpiar todo.

    - Preview (vista previa): Esta vista previa es del vídeo a comprimir y *NO* de cómo quedará el vídeo comprimido.

    - Output to file (salida a fichero): Aquí podemos elegir el formato de salida: MPEG, AVI, WAVE o secuencia de imágenes.

    - Batch encode (tanda de compresión):Ya he dicho que TMPEnc se toma su tiempo para comprimir. Normalmente dejaremos el ordenador comprimiendo unas cuantas  horas mientras dormimos, nos vamos al trabajo, de juerga, o lo que sea. Como el ordenador estará unas "horillas" encendido podemos aprovechar para que, en lugar de un sólo archivo, empiece por uno y conforme acabe pase a otro y a otro, etc. Para eso necesitaremos primero guardar los proyectos que queramos añadir a la tanda.
    Una vez que pinchamos en "Batch encode" aparece una pantalla en la que podemos añadir proyectos con la opción "Add" (añadir), quitarlos de la lista con "Delete" (borrar) o borrar toda la lista con "Clear". Para comenzar la tanda hay que pinchar en "Run" (ejecutar).
    Al comenzar la tanda aparece una casiila con una opción de gran utilidad llamada "Shut down after finish encoding" (apagar al terminar la codificación), que, como su nombre indica, apaga el ordenador cuando termine de comprimir la tanda. Lo cierto es que no entiendo porqué no aparece al comprimir tan sólo un archivo, aunque siempre podemos guardar el proyecto actual y hacer una tanda de un sólo archivo.

    - Add current project to batch list (añadir el proyecto actual a la lista de la tanda)

    - MPEG Tools (herrramientas MPEG): Aquí encontramos varias utilidades

        · Simple multiplex (multiplexación simple): Elegimos un "input" (entrada) de vídeo, otro de audio, el tipo (type) de MPEG resultante y le damos a Run (ejecutar) para otener el MPEG que indiquemos en "output" (salida) que contenga el vídeo y audio seleccionados.
        · Simple de-multiplex (desmultiplexación simple): Con esta opción podremos separar el vídeo y el audio de un MPEG en archivos independientes.
        · Multipex (multiplexación): Igual que "Simple multiplex", sólo que podremos incluir más de un archivo de vídeo y/o audio fuentes (input), añadiendo elementos a la lista con "Add" (añadir) ,elminándolos con "Delete" (eliminar) o eliminando toda la lista con "Clear"
        · Demultiplex (desmultiplexación): Igual que "Simple de-multiplex", sólo que una vez elegido el archivo input deberemos hacer doble-clic en la pista (stream) que queramos extraer de entre las que aparecen al seleccionar el archivo fuente.
        · Merge&Cut (fundir y cortar): Una vez añadidos los archivos (add) podremos editar (edit) los puntos de comienzo y fin de los mismos. Una vez confeccionada la lista de archivos a fundir (merge) pinchamos en "Run" para que cree el fichero de salida (output) que hayamos seleccionados. La opción "Correct" (corregir) sirve para evitar conflictos entre los archivos seleccionados eliminado los que no sean compatibles con el formato MPEG (type) seleccionado como salida (output)

Volver al índice

7.1.2 Option (Opciones)

    - Enviromental settings (ajustes globales): Ajustes menores como directorio temporal, características de la CPU, procesador de auido externo y opciones especiales de procesamiento de TMPEnc.

    - Language (idioma): ¿Se os da el japonés mejor que el español? ¿¿¿NOOOO??? Pues mejor dejáis el inglés :-(

    - Set current project as default (definir el proyecto actual como opción por defecto)

Volver al índice

7.1.3 Definiendo el tipo de MPEG de salida: el meollo de la cuestión

    La imágen que hay a continuación pertenece a la parte inferior de la pantalla principal de TMPEnc. Aquí está realmente la potencia de TMPEnc. Arriba debemos elegir la fuente de vídeo y audio (video/audio source). Al elegir un vídeo, por defecto, se selecciona la misma fuente como audio, debiendo cambiar el archivo fuente si no queremos el sonido original del vídeo. En "Output file name" aparece automáticamente el mismo nombre y directorio de origen que el orginal, pero con la extensión cambiada, si procede. En cuanto al tipo de pista (stream type) podemos seleccionar "Video only" (sólo Video, sin pista de audio) "Audio only" (solo Audio, sin pista de vídeo), "System (Video only)" (Sistema, sólo vídeo, añade una pista de audio en blanco), "System (Audio only)" (sistema, sólo audio, añade una pista de vídeo en blanco), "System (Video+Audio)" (el formato que normalmente usaremos, un archivo de vídeo con las dos pistas integradas)

    Como veremos, la opción "Setting" (ajustes) es bastante amplia y contiene numerosos parámetros para configurar. Con el programa vienen algunas configuraciones estándar (DVD, VCD y SVCD) que se pueden cargar simplemente pinchando el botón "Load" (cargar). Cuando seleccionemos una de estas opciones predeterminadas NO podremos realizar ningún cambio en los parámetros que carga. Para poder hacer cambios deberemos usar "New project" y definir nosotros la cofiguración. También podremos guardar nuestras propias configuraciones con la opción "Save", que podremos guardar en el mismo directorio en el que se encuentran las opciones por defecto, o bien en otro de nuestra elección.

    Los ajustes que realicemos dentro de "Setting" se verán indicados en la parte inferior de la pantalla (lo que he rodeado de rojo) De izquierda a derecha indica el tipo de archivo (MPEG 1/2), el tamaño, los fotogramas por segundo, el fujo de datos (constante o variable y cantidad), y por último la frecuencia y flujo del audio.

Volver al índice

7.1.3.1 Setting/Vídeo

*** Ver 7.1.3.5 Setting/System***

    - Stream type (tipo de vídeo): MPEG1 o MPEG2
    - Size (tamaño): Para VHS y VCD capturaremos a 352x288, para DVD 720x576
    - Aspect ratio (proporciones): Eligiremos 1:1 si el destino es VGA y 4:3 o 16:9 si el destino final va a ser vídeo o televión.
    - Frame rate (velocidad de fotograma): 25 fps (cuadros por segundo -frames per second) para PAL

    - Rate control mode (modo de control de flujo): (Ver 4.2 Flujo de datos)
            · "Constant bitrate" (flujo de datos constante)
            · "2 pass variable bitrate" (flujo de datos constante en dos pasadas): En este modo TMPEnc hace una primera lectura del archivo de vídeo a comprimir ANTES de realizar la verdadera compresión. Al analizar el vídeo antes de comprimirlo se consigue una mejor captura. En los ajustes (setting) se puede definir un flujo de datos medio al que TMPEnc trata de adaptarse, y unos valores máximo y mínimo
            · "Manual VBR": En el apartado "Setting" podemos establecer el flujo máximo y mínimo así como la configuración de la degradación de los cuadros P y B durante el proceso de compresión
            · "Automatic VBR (CQ_VBR)": Esta opción ofrece control sobre "flujo de datos variable con calidad constante (CQ-> Constant Quality). Funciona igual que la opción anterior,sólo que en lugar de definir la calidad de forma manual la elegimos mediante un porcentaje para que sea TMPEnc quién la ajuste.
            · "Constant quality" (Calidad constante): Esta es mi opción más utilizada, ya que permite ajustar la calidad sin importar el tamaño resultante. En mi equipo se consigue la máxima calidad con los ajustes de la imágen. Aunque un bitrate mayor proporcionaría más calidad, a partir de 5.500 kbit/s tengo problemas de reproducción a pantalla completa. La opción de la parte inferior, común a "Manual VBR",  configura la degradación de los cuadros P y B durante el proceso de compresión.

            · "Real time CBR (RT_CBR)" (CBR en tiempo real) y "Real time CQ (RT_CQ)" (Calidad constante en tiempo real): En mi opinión estas opciones no tienen mucho sentido, ya que TEMPEnc es un programa de compresión en tiempo no-real, es decir, trabaja con archivos ya capturados, no con entrada de vídeo, por lo tanto, trabajar en tiempo real tan sólo supondrá una degradación de calidad notable a cambio de un tiempo menor. No creo que estas opciones le interesen a nadie.
    - Bit rate (flujo de datos): Cuando en "Rate control mode" (modo de control de flujo) elijamos una opción CBR, aquí podremos especificar el flujo de datos deseado.
    - VBV buffer size (tamaño de búfer): (Ver  4.3.5.2 Control de búfer) Si no tienes ni idea de lo que hacer esta opción lo mejor será que lo dejes en cero (0 automatic)

Nota: Las siguientes cinco opciones sólo pueden ser modificadas cuando comprimamos a MPEG2

    - Profile&level (perfil y nivel): Ver 4.3.5.3 Perfiles y niveles (Profiles&Levels)
    - Video format (formato de vídeo): Seleccioanar PAL
    - Encode mode (modo de codificación): Sólo nos interesan las opciones "Interlace" (entrelazado), la que normalmente usaremos para resoluciones verticales mayores o iguales a 288 puntos, o "non-interlace" (no-entrelazado)
    - YUV format (formato YUV): Si elegimos MP@ML en "Profile&level" sólo podremos seleccionar 4:2:0 (Ver 4.3.2.1. Subsampling)
    - DC component precision: Con bits más altos lograremos mayor suavidad en el vídeo final.

    - Motion search precition (precisión en la búsqueda de movimiento): Esta opción SÍ puede elegirse siempre. En la inmensa mayoría de las ocasiones obtendremos el mejor resultado con la opción "Highest quality (very slow)" (Máxima calidad - muy lento) y la mayor rapidez con "lowest quality (very fast)" (calidad mínima - muy rápido)

Volver al índice









7.1.3.2 Setting/Advanced

En este apartado informamos a TMPEnc del tipo de vídeo con el que va a trabajar (Video source setting - ajustes del vídeo origen) y NO tienen porqué coincidir con el formato de salida .

    - Video source type (tipe vídeo fuente): Interlace (entrelazado), Non-interlace (no-entrelazado).
    - Field order (órden de campo): Ver 4.1 Tamaño de captura
    - Source aspect ratio (porporciones de origen) El formato de TV y video en España es 4:3 o 16:9 (televisores panorámicos) PAL 625 líneas
    - Video arrange Method (método de distribución del vídeo): Cuando el formato NO es 1:1 VGA, podemos elegir las diversas formas de distribución de la imágen a pantalla completa.. Las opciones son:
    · Center (centrado)
    · Center (keep aspect ratio) (centrado manteniendo las proporciones)
    · Center (custom size) (centrado con tamaño personalizado
    · Full screen (pantalla completa)
    · Full screen (keel aspect ratio) (pantalla completa manteniendo proporciones
    · No margin (keep aspect ratio) (sin márgenes manteniendo proporciones)

    Por último en la parte inferior hay una serie de filtros que podemos aplicar durante la compresión seleccioando la(s) casilla(s) correspondientes. Los filtos son muy similares a los que podemos encontrar en VirtualDub

Volver al índice

7.1.3.3 Setting/GOP Structure

    Ver 4.3.5.1 La secuencia GOP: I-frames, P-frames y B-frames

    - Number of I-picture in GOP (número de cuadros-I en la secuencia GOP)
    - Number of P-picture in GOP (número de cuadros-P en la secuencia GOP)
    - Number of B-picture in GOP (número de cuadros-B en la secuencia GOP)

    - Detect scene change (detectar cambios de secuencias): Seleccionado esta opción TMPEnc detectará automáticamente los cambios de escena para marcar el primer cuadro de cada nueva escena como cuadro-I
    - Force picture type setting: (forzar ajuste en el tipo de cuadro) Con esta opción podremos ser TREMENDAMENTE ESCRUPULOSOS con la calidad de la compresión, puesto que permite marcar uno por uno, de forma manual, el tipo de cuadro (I, P o B) Para ello, una vez seleccionada la casilla, debemos pichar en "setting" (ajustes), lo que nos lleva a una pantalla en la que aparece el vídeo que vayamos a comprimir cuadro a cuadro. Pinchando con el botón derecho en el cuadro deseado, podremos acceder a diversos ajustes INDIVIDUALES por cada cuadro, entre los que destacan
        · Selección  de cuadro I, P o B (I, P, B  picture)
        · Selección de flujo de datos (set bitrate)
        · Selección de matriz de cuantificación (Quantize matrix): Ver 7.1.3.4 Setting/Quantize matrix
        · Iniciar nuevo GOP
        · Ajustar la precisión de movimiento
        · Establecer la secuencia GOP según el patrón establececido en 7.1.3.3 Setting/GOP Structure
        · Eliminar la selección de cuadros I, P y B a partir del cuadro seleccionado (Clear after this frame)

    Después de "trastear" todos esos parámetros es más que probable que no queramos jugárnosla todo a una carta. Para eso tenemos las opciones "Save" para guardar los ajustes de una configuración determinada y la opción "Load" para cargarla posteriormente. Esto nos permite hacer unos ajustes, comprimir, analizar los resultados y volver a cargar la esa configuración para realizar pequeños cambios sin tener que volver a modificarlo todo a mano trabajo que, en vídeos extensos, puede ser realmente extenuante.

    Por último comentar que, como punto de partida, bien podríamos usar la opción "Auto-setting" (ajuste automático) Una vez finalizada la detección de cambios de imágenes podremos ver qué es lo que TMPEnc habría hecho con la opción Detect scene change (detectar cambios de secuencias)

Volver al índice






7.1.3.4 Setting/Quantize matrix

    ¿Qué tal se te dan las matemáticas? ¿Te apetece conocer cómo se consigue la compresión DCT (discreet cosine transformation - transformación discreta de coseno) por cada cuadro-I? ¿Sí? Pues ala, aquí tienes la fórmula...

    Todo eso de ahí arriba quiere decir que la imágen se divide en cuadros NxN (en el caso de MPEG de 8x8) pero la distrubución de la cantidad de información no se realiza de forma equitativa asignando la misma cantidad de información por cada píxel, sino que la cantidad de luminosidad y color son analizadas y los valores cercanos a cero se desprecian, asignando la cantidad despreciada a otros píxeles con mayor cantidad de información y, por tanto, más imporantes. Esto tan complicado se puede entender mejor echando un vistazo a las siguientes imágenes:

                                                Representación                                                                        Representaciones
                                                   proporcional                                                                                numéricas

    TMPEnc permite modificar de forma diferente los valores DCT para los cuadros-I y para los cuadros-P-B (Ver 4.3.5.1 La secuencia GOP: I-frames, P-frames y B-frames) Las opciones son:

    - Default: (por defecto): Pues eso... lo que TMPEnc deja por defecto...
    - MPEG1 standar (estándar MPEG1): Pues eso... el estándar MPEG1
    - CG/Animation (Gráficos y animaciones): Pues eso... para gráficos y dibujos animados. Puesto que los dibujos animados y los gráficos tienen tonos constantes de color será más adecuado asignar la misma cantidad de información a cada píxel.

    - Output YUV Data as Basic YCbCr not CCIR601 (salida de datos YUV como YCbCr básico no-CCIR601) Conseguimos más tonos de color (más calidad) a costa de un formato NO estándar.
    - Use DCT floating point: (Usar DCT en punto flotante). Con esta opción el DCT usará operaciones en punto flotante, lo que ofrece una mayor precisión de cálculo a costa de un notable aumento en el tiempo de codificación.
    - No motion search for still pictures part by half pixels (no realizar búsqueda de movimiento en la mitad de píxeles en imágenes estáticas): En secuencias de imágenes estáticas eliminamos la sensación de "parada" a costa de perder calidad en secuencias con imágenes en movimiento.

    - Soften block noise (suavizar el ruido de bloque): En flujos de datos reducidos esta opción elimina pixelación a cambio de definición de imágen. Podemos seleccionar de manera independiente la reducción para cuadros-I y para cuadros-P-B

7.1.3.5 Setting/Audio

    Independientemente de la calidad del sonido original de la captura, aquí podemos seleccionar el formato de salida. Ni que decir tiene que lo mejor es exportar en el mismo formato de captura, pero aquí siempre podemos hacer cambios. Creo que todo el mundo lo sabe ya, pero decir que la calidad CD se consigue con 44.100 Hz y estéreo( (16 bits en formato .WAV) En cuanto al flujo de datos (bitrate), con 128 kbit/s ya tenemos una calidad muy similar al CD. El formato estándar VCD REQUIERE   un bitrate de 224. Podremos reducir el bitrate del audio para aumentar el flujo de datos (y por tanto la calidad) del vídeo, pero eso no es compatible al 100% con todos los reproductores.
 

7.1.3.6 Setting/System

    Después de tantas y tantas opciones, parece que esta tan "simple" no tiene importancia y que "da lo mismo", cuando en realdiad es la más imporante. Con "Stream type" (tipo de vídeo) estamos definiendo el formato final de nuestro vídeo. Es decir, debe estar en concordancia con los parámetros seleccionados en  7.1.3.1 Setting/Vídeo puesto que de no ser así el vídeo se ajustará a las especificaciones establecidas en este apartado.