Uno de los mayores problemas en la reproducción de archivos de vídeo en tabletas y smartphones es su gran tamaño y los problemas ocasionales de sonido de los mismos. Este artículo te orientará en el mejor método para comprimir esos archivos (manteniendo en la medida de lo posible su calidad) corrigiendo estos problemas y guiándote en el uso de las aplicaciones necesarias para todo ello, enriqueciendo finalmente de esta forma la experiencia multimedia con tu dispositivo.

Compresión de vídeos para tablet y smartphone

Introducción

La compresión de vídeo, tal como se contempla desde la Wikipedia, es la reducción del número de datos usado para representar las imágenes de vídeo digital, siendo una combinación de la compresión espacial de imágenes y compensación de movimiento temporal.

Esta definición es correcta, pero yo añadiría que se consigue gracias a  algoritmos desarrollados e implementados en diversos códecs. El propio concepto de códec está formado por las iniciales de codificador/decodificador. Estos algoritmos suponen una pérdida de información, que no supone necesariamente pérdida de calidad.

Audio, imagen y vídeo

El ejemplo más conocido de la compresión, y uno de los más generalizados, es el de los archivos de audio MP3 (también  conocido como MPEG-1 Audio Layer III o MPEG-2 Audio Layer III).

Se trata de un formato de audio muy común hoy en día y ocupa un menor espacio en memoria, en concreto, unas 12 ó 15 veces respecto al tamaño de un archivo de audio original, que aprovecha la incapacidad del sistema auditivo para detectar ciertos errores y distorsiones en las frecuencias del sonido. Eso posibilita un estándar de fichero psicoacústico estable, bien comprimido y audible sin distorsión,  con un rango que oscila entre los 128, 192 y 256 Kbps. Unos minutos de música, además de oírse con diáfana claridad y calidad, pueden almacenarse en unos pocos megas, con la aplicación y compresión adecuadas.

Para el oído no experimentado, o común, 96 kbps o 128 kbps bastan para que un archivo mp3 se oiga “bien” (a menos que se posea un equipo de audio de alta calidad donde se aprecia excesivamente la falta de graves, lo cual provoca un sonido metálico y con falta de brillo en los tonos agudos). En personas acostumbradas a escuchar música o que tienen experiencia en la parte auditiva,  192 ó 256 kbps,  son más suficientes para oír bien.

Visión humana, luminancia y crominancia

Los seres humanos somos imperfectos y al igual que ocurre con el sonido, nuestra vista tiene una respuesta mucho más pobre para el color que para la luz. Para explicar esta anomalía, es necesario conocer previamente, dos acepciones, la luminancia y la crominancia.  

La crominancia, es el componente de la señal de vídeo que contiene las informaciones del color. Luminancia se refiere a la densidad angular y superficial de flujo luminoso que incide, atraviesa o emerge de una superficie siguiendo una dirección determinada. Para ser más conciso, se puede entender la luminancia, algo así como la luz o el nivel de brillo de las cosas.

El ojo humano es más sensible a la luminancia que a la crominancia; esto permite a las aplicaciones codificar y reducir la información de crominancia transmitida, manteniendo una calidad de imagen aceptable. De la información generada para conformar un archivo de vídeo, es posible descartar valores innecesarios. La percepción de la claridad se relaciona con la luminancia real del objeto, la claridad de objetos cercanos y con la adaptación del ojo humano.

Los fotogramas de los vídeos, no son otra cosa que imágenes secuenciales comprimidas con pérdida de información que superpuestas una detrás de otra conforman el movimiento. Observa estas dos imágenes:

Imagen Homer original

Imagen Homer jpg original 133 KB

Imagen Homer comprimida

Imagen Homer comprimida jpg 82 KB

Probablemente, a simple vista, no seas capaz de diferenciar una imagen de otra, salvo en aquellas zonas donde el contraste y el brillo sea muy evidente. Se trata de dos archivos JPG. A la izquierda, Homer pesa 133 KB y a la derecha 82 KB tras un proceso de compresión. Por lo tanto, la segunda imagen, carece de casi la mitad de la información contenida en la primera. Esto es una clara consecuencia del fallo de la vista humana respecto de la crominancia el que impide diferenciar a simple vista las sutiles variaciones cromáticas. Solo si abrieras al amigo Homer de forma independiente y aplicaras el zoom, serías capaz de apreciar esa pérdida mencionada. Observarías una pixelización  y defectos  que no son apreciables a cierta distancia.

Conceptos previos a la compresión

Para hablar de compresión de vídeo de calidad, debemos hablar de MPEG-4. Es un método para la compresión digital de audio y vídeo, que absorbe lo mejor de sus antecesores sistemas, MPEG-1 y MPEG-2. MPEG-4 es todavía un estándar en desarrollo y se divide en un número de piezas. Las empresas que promueven la compatibilidad MPEG-4 no siempre manifiestan claramente a que parte de nivel de compatibilidad se están refiriendo. Las piezas clave para tener en cuenta son MPEG-4 parte 2 (incluyendo el perfil simple avanzado, utilizado por códecs como DivX, Xvid , Nero Digital y 3ivx y Quicktime 6) y MPEG-4 parte 10 (MPEG-4 AVC/H.264 o Codificación de vídeo avanzada, utilizados por el codificador x264, por Nero Digital AVC, con QuickTime 7, y vídeo de alta definición en los medios como el Blu-ray).

Antes de empezar,  es necesario que te familiarices con los conceptos de códecs de vídeo y audio con pérdidas, conozcas los estándares de uso más habituales y los elementos necesarios qué contienen para poder reproducir la mayoría de formatos de vídeo y audio.

AVI, MKV, MP4, MPG, MP3 (el códec Lame MP3 ya mencionado,  imprescindible en el proceso de compresión).

  • Para vídeos AVI, lo más habitual es que nos encontremos compresiones de vídeo en DivX o XviD, así como audio en MP3 ó AC3.  El códec DivX es uno de los códecs con más renombre, fue el un pionero en su época, y engloba un gran número de películas realizadas con él. En la actualidad se usa poco debido no sólo a que la versión profesional se hizo de pago, si no también al éxito que tiene su más directo rival, XviD. La página oficial de DivX es: http://www.divx.com. XviD es un códec parecido al DivX, pues forma también parte del estándar MPEG-4, pero a diferencia del DivX se distribuye de forma totalmente libre. XviD se ha colocado definitivamente como el códec preferido para comprimir películas en baja/media definición, frente al DivX que apenas se actualmente. El éxito de XviD se debe sobre todo a la calidad de imagen que consigue, a la cantidad de posibilidades de configuración, y también, a que es gratuito. Su página es www.xvid.org.
DIVX xvid
  • En MKV, MP4 y en discos Blu-Ray, es frecuente encontrar compresiones de vídeo H.264 y de audio DTS, AC3 o AAC.
  • Para archivos MPG podemos encontrarnos tanto MPEG-1 (VCD, CVCD) como MPEG-2 (CVD, SVCD, DVD) en el caso del vídeo, así como MP2, AC3 o DTS en el caso del audio.
  • MPEG-2: para poder ver SVCD, CVD o DVD en el ordenador, necesitamos el códec para reproducir el formato MPEG-2.

Para editar o codificar nuestros propios vídeos, podemos usar programas que utilicen codificadores incorporados de forma interna, es decir, que no necesiten codecs instalados en el sistema operativo. Existen multitud de aplicaciones al respecto, pero mis favoritas son WinFF y VirtualDubMod, ambas aplicaciones son gratuitas y libres para Windows. VirtualDubMod captura vídeo y lo procesa. Dispone de funciones muy avanzadas, es capaz de usar plugins para añadir diferentes técnicas de procesamiento de vídeo, y funciona con cualquier fichero AVI, independientemente del códec que utilice. WinFF tiene como núcleo central de trabajo FFmpeg, desarrollado en GNU/Linux y que dispone de una colección de software libre que puede grabar, convertir (transcodificar) y realizar streaming de audio y vídeo. Incluye libavcodec, una biblioteca de códecs.

Códecs de vídeo implementados en FFmpeg

  • MPEG-1.
  • MPEG-2.
  • MPEG-4 Parte 2 (el formato utilizado por los códecs DivX y Xvid).
  • H.261.
  • H.263.
  • H.264/MPEG-4 AVC (únicamente la decodificación).
  • x264
  • WMV versión 7, 8 y 9 (únicamente la decodificación).
  • Sorenson codec.
  • Cinepak.
  • MJPEG.
  • Huffyuv.
  • Snow.
  • Theora (únicamente la decodificación).
  • VP3 / VP5 / VP6 (únicamente la decodificación).
  • VP8 / WebM.

Herramientas y codecs necesarios para la codificación

VirtualDubMod- > Enlace
WinFF – >  Enlace
Antes de empezar, necesitarás un buen recopilatorio de codecs. Yo suelo usar el Klite Code Pack Full. Descarga desde aquí ->  Enlace
También puedes probar con CCCP -> Enlace
Una colección de codecs (independientes) en MundoDivx – > Enlace

Si detectas algún tipo de problema de compatibilidad con los recopilatorios anteriores , sobre todo con la compresión posterior y los ajustes, los imprescindibles para poder realizar la compresión, son los códecs Xvid y DivX nativos, ambos por separado los podrás descargar desde sus respectivas páginas oficiales:

http://www.XviD.org y http://www.DivX.com

Personalmente, soy más partidario de XviD. Con estos dos últimos, ya podremos jugar mucho más con la compresión en VirtualDubMod.

Un programa muy útil, es Mediainfo, te permitirá conocer todos los detalles del vídeo para su posterior corrección de tasa, formato audio, etc. Una vez instalado y ejecutado, tan solo debes pulsar con el botón derecho sobre el archivo deseado, seleccionar mediainfo y acceder a la información del mismo. -> Enlace

Pantalla de mediainfo con datos del vídeo

Pantalla de mediainfo con todos los datos del vídeo

 

Usando VirtualDubMod para cortar vídeos y solucionar problemas de sonido

VirtualDubMod es un programa derivado del VirtualDub->Enlace que, además del formato AVI, también soporta archivos MPEG-2, MPG, MPEG,MPV,M1V,M2V, VOB,  OGG (Theora), y MKV (Matroska), dependiendo de si se tienen los códecs de vídeo instalados. También puede exportar vídeos a los mismos formatos. Puedes descargarlo desde aquí – > Enlace

Bien, en ocasiones, al intentar reproducir vídeos en tu tablet o smartphone, puedes apreciar que el nivel de volumen del mismo es muy bajo o que existe cierto desfase en el audio / vídeo. Para amplificar el volumen, puedes optar por aplicaciones Android tales como, Reproductor Mx, Volume Control + o Music Volumen EQ.

Mx Player es un reproductor que permite la decodificación por hardware y software, permitiendo escalar los valores de audio. Las otras dos aplicaciones también permiten amplificar el sonido, Volume Control + inmediatamente y Music Volumen EQ a través de preajustes de ecualización.

Pero el espíritu de este artículo se encuentra en hacer este proceso desde tu PC, para, por un lado, cortar el archivo de vídeo y corregir ese desfase mencionado caso de ser necesario (puedes hacerlo usando VirtualDubMod) e incluso disminuir su tamaño aplicando una compresión acorde a la calidad y resolución de tu dispositivo (con WinFF).

En la Internet, lo más habitual es encontrar archivos de vídeo en formato FLV, MPEG-4, AVI (codificación DIVX o XVID) , aunque si tienes otro tipo de formato, siempre puedes utilizar WinFF para convertir a AVI o MPEG-4, que serían los idóneos para reproducirlos en tu tablet o smartphone.

Aumentar el sonido de un vídeo

Para aumentar el sonido de un archivo de vídeo, deberás abrirlo en VirtualDubMod. Ve al menú “Vídeo” y selecciona “Direct Stream Copy”. En “Audio “selecciona “Full processing mode”. De vuelta en “Audio” elige “Volume” e incrementa el volumen al menos un 300 %. Si el audio esta realmente muy bajo, auméntalo un 600-700%.

Averigua la frecuencia (Sampling rate, en Hz) del audio a través de “File Information” en el menú “File”.  También puedes hacerlo con Mediainfo. En el Menú “Audio”  elige “Compression”  y clic en el MPEG Layer 3 codec. Si no tienes este códec instalado, descárgalo aquí. Si está instalado, luego de seleccionarlo en el campo derecho elige un modo que no sea menor a 64 kbps (recomendado: 96 kbps). Nota que también debe coincidir la frecuencia (en Hz) con la que averiguaste previamente. Para guardar el archivo, ve a “File” > “Save as AVI.” Si te aparece algún error mientras tratas de guardar, es que probablemente has seleccionado una frecuencia de audio que no corresponde con la actual en el diálogo de compresión de audio.

Arreglar el desfase vídeo/audio

Para la explicación, en este caso, he partido de un archivo vídeo  de 55 Mb , 3:19 duración , formato DivX con resolución de 640 x 480, audio MP3 a 128 kbs, 29 cuadros por segundo a 288 kbs en 24 bits compresión Divx. Si tienes dificultades para entender el siguiente método paso a paso, ve directamente al vídeo que indico a continuación, concretamente inicia en el minuto 1:20 del vídeo.

Tras intentar abrir el archivo con VirtualDubMod he obtenido un error cbr mp3. Este error, será el habitual en ciertos archivos, producido por el desfase audio/vídeo ya mencionado.

  1. Para ignorar el problema, pulsa en “No”. Este error aparece al abrir archivos con audio de bitrate variable (VBR). El formato AVI no está diseñado para manejar audio VBR, a pesar de que puede reproducir estos archivos sin problemas. El gran conflicto aparece al intentar editar estos archivos. Para corregirlo, debes extraer completamente la pista de audio a un archivo WAV sin compresión, y luego convertirlo a MP3 con un bitrate constante. Después debes reemplazar el audio original del vídeo con el audio MP3 creado.
  2. En el Menú “Vídeo”, selecciona “Direct Stream copy”. Ve al Menú “Streams” y elige “Stream list”. Si tu vídeo es MKV, pueden aparecer otras pistas de audio o subtítulos aquí. En la ventana que aparece, pulsa con el botón derecho sobre la pista de audio a extraer y en el menú que aparece elige “Full processing mode”, luego pulsa sobre el botón derecho de nuevo y selecciona “Save WAV” para extraer el audio a un archivo WAV sin compresión. Esto puede requerir alrededor de 1.2 GB para un audio de 2 horas. Puedes probar también a pulsar en “Compression” y experimentar con otros códecs de compresión a diferentes frecuencias.
  3. Una vez extraído el audio, hay que reemplazar la pista (stream) de audio actual con el WAV, y comprimir esta pista en MP3 con bitrate constante. De vuelta en ” Streams” > “Stream list”, desactiva la pista de audio actual haciendo doble clic sobre la misma. Clic en “Add” y elige el archivo WAV que guardaste antes. Pulsa el botón derecho a ésta nueva pista de audio, y selecciona “Full processing mode”. Nuevamente botón derecho > “Conversión”.

    Procesando el archivo de audio

    Procesando el archivo de audio

  4. Aparecerá la ventana de selección de codec, elige el MPEG Layer 3 y algún bitrate entre 96 y 256 kbps con 44100 Hz, recuerda que un bitrate mayor hará más grande el tamaño del archivo AVI .

    Ajustes conversión

    Ajustes de conversión en el sonido

  5. Finalmente presiona el botón “OK” a ambas ventanas y ve a “File “> “Save as AVI”. Si el archivo original era un AVI, asegúrate de elegir AVI en la lista de tipos de archivo, si era un MKV u OGM con subtítulos, elige OGM u MKV en la lista para conservar todas las pistas del archivo original. Asegúrate de estar usando el modo “Direct stream copy” en el menú “Video”, ya que lo único que se debe recomprimir en este proceso es el audio.

 

Vídeo: “Conversión de audio con VirtualDubMod para arreglar el desfase vídeo/audio”

Conversión de vídeos con WinFF

logo winff

WinFF es un conversor gratuito de formatos de vídeo que te ofrece una interfaz sencilla que te posibilita a través de una línea de comandos, la ejecución del módulo FFmpeg para la transcodificación de cualquier archivo multimedia, sea de audio o de vídeo.

Puedes descargar desde aquí – > Enlace

Ésta es su pantalla principal

Pantalla principal Winff

Pantalla principal WinFF

Para una conversión rápida, tan solo selecciona MPEG-4 con Preset MPEG-4 H.264 video (very high quality), un formato de gran calidad y con buenos resultados de tamaño y calidad para tu tablet/smartphone. Ojo a la hora de importar archivos multimedia y ubicados en carpetas con acentos o caracteres de habla no inglesa, ya que provocan errores en el proceso de conversión.

Si quieres personalizar aún más tu conversión, pulsa en opciones y se desplegará “Vídeo”, “Audio”, “Recortar” y “Tiempo”. Puedes insertar manualmente los bits de vídeo, cuadros por segundo, tamaño, tasa de muestreo, canales o hacerlo todo por comandos desde la opción ffmep o dando una vuelta de tuerca y accediendo al núcleo de ffmppeg a través de la edición de los predeterminados de WinFF. Crea tus propias combinaciones de frames por segundo, resolución, códec específico, bitrate de audio o vídeo. Tan solo tendrás que entrar en “Editar”->”Preset”, seleccionar un ajuste previo, cambiar el nombre del ajuste, etiqueta del preset y añadir las línea de código que desees para personalizar todo el proceso de compresión.

Predeterminados en WinFF

Predeterminados en WinFF

Significado comandos

Modificando “Parámetros de línea de comandos del preset” y teniendo paciencia y experimentando combinaciones, acabarás obteniendo vídeos de gran calidad para tu dispositivo, ajustándolos a una resolución adecuada y con las  mejores ratios de tamaño. Son muchísimas las variaciones y variables que puedes modificar. Te especificaré los más importantes a través de esta línea básica predeterminada. Puedes obtener más información en http://ffmpeg.org/ffmpeg.html

-f avi -r 29.97 -vcodec libxvid -vtag XVID -vf scale=704:384 -aspect 16:9 -maxrate 1800k -b:v 1500k -qmin 3 -qmax 5 -bufsize 4096 -mbd 2 -bf 2 -trellis 1 -flags +aic -cmp 2 -subcmp 2 -g 300 -acodec libmp3lame -ar 48000 -b:a 128k -ac 2

  • -f  al formato al que se quiere forzar, en el equipo,  a avi
  • -r  frames por segundo, es decir, imágenes por segundo. 29.97 en este caso. Si pones una personalizada a 25 frames reducirás ostensiblemente el tamaño del archivo final sin mucha pérdida de calidad visual.
  • -vcodec  el códec que queremos emplear es la codificación que queremos emplear en el vídeo, aquí a XviD.
  • -vf scaleresolución y escala del vídeo, aquí 704×384  (altura y anchura). Este apartado también es crítico en el peso final del fichero.
  • -maxrate  Tasa máxima y mínima de datos que se procesarán.
  • -acodec  especifica el códec de audio que queremos emplear. En el caso del ejemplo lame mp3.
  • -ar  Frecuencia en Hz (o sea, ciclos por segundos) que se aplicarán al audio. 48000 puede sustituirse perfectamente por 44100 para reducir algunos megas.
  • -b:a  Kilobytes por segundos del sonido. 128k es el estándar, aunque puede ampliarse o reducirse. Para mayor compatibilidad en todos los dispositivos, puedes usar 128k.

Vídeos

Para ver en alta definición, selecciona 720p HD o 1080p HD

 

Vídeo: “Corte y compresión de vídeo con VirtualDub y WinFF (con modificación de parámetros)”

Vídeo extra: ”Dividir vídeos con boilsoft video spliter”

Fuentes

http://www.mundogeek.net
http://www.DivXLand.org
http://www.MundoDivx.com
http://www.ffmpeg.org/
http://es.wikipedia.org/wiki/FFmpeg

____________________
Manuel Roldán (Roldayan) es MVP de bq tablets, editor y miembro activo de mibqyyo. Manuel se define a sí mismo un “solucionador de problemas”. Aunque siempre se ha movido entre los PC, tras conocer mibqyyo encontró un lugar donde  ayudar a los demás desde una perspectiva que nunca había tratado. Se considera un gran novato en el mundo de las tablets pero siempre encuentra un rato para aprender un poquito y compartir lo aprendido.