Transmisión de Audio y Video por Internet

 Introducción


Con el desarrollo del audio y el video, y la llegada de Internet se ha intentado hacer realidad uno de los viejos sueños del hombre, la video conferencia, la transmisión de "multimedia" por Internet. Mucha gente ha visto películas futuristas donde se mostraban conversaciones a través de una pantalla que siempre identificamos con un monitor de ordenador (de hecho siempre lo asemejamos a una conversación gracias a un ordenador). Todo esto ya casi, y digo casi es, realidad con limitaciones, claro.

Las ordenadores necesarios están al alcance de todo el mundo, siempre y cuando no queramos hacer grandes cosas. Con un equipo que casi todo el mundo tiene (Pentium 100 como mínimo) podemos hacer nuestros primeros pinitos en estos temas. Esto es algo que tenemos a favor, algo a tener muy en cuenta, es la velocidad de Internet. Internet actualmente es sinónimo de lentitud, aquellos que se conecten vía Infovia verán que es realmente lenta consiguiendo ratios de 1 Kb por segundo con mucha suerte (por línea telefónica) a horas punta y con un módem rápido (unos 33.000 baudios), con RDSI pueden conseguirse medias de 4 o 5 Kb por segundo, algo mejor pero aun no es suficiente como veréis. Esperemos que con la llegada de Internet 2, esto este superado.

Pero como siempre iremos por partes, primero el audio, luego el Video, y más tarde ambos a la vez.

Por supuesto este articulo tendrá fallos, tanto en los métodos de compresión (puesto que algunos son bastante "secretos") como equívocos de los nombres de los sistemas, pero siempre estoy dispuesto a una corrección por parte de los lectores (nadie es perfecto, y yo menos).
 

 El Audio


Como muchos sabréis, tener audio grabado (digitalizado) ocupa mucho, un minuto a calidad CD ocupa casi 15 megas ; audio a 44.100 Hz a 16 bits en estéreo ocupa 172 Kb por segundo, una cifra nada despreciable y más si intentamos transmitirla por la Internet, debido a su velocidad como he citado antes. Las soluciones que se nos muestran son dos, o bajar la calidad (hasta limites realmente bajos) o comprimir el audio.

Actualmente se esta optando por comprimir el audio en múltiples y diferentes formatos, pese a ello podemos considerar dos tipos de compresiones de audio dedicadas a la transmisión de este.

 Compresiones Offline

Llamaremos a este tipo de compresiones a usadas, en las cuales nos bajamos el archivo y le escuchamos nosotros aparte, como los lectores de correo o news. Ahora nos preguntaremos : ¿por qué comprimir estos archivos ?, fácil, si comprimimos estos archivos ocuparan menos y tardaremos poco en traérnoslos a nuestra casa para escucharlos.

Los estándares de estos archivos son muy diversos y de hecho necesitaremos reproductores específicos para ellos (luego hablaremos de estos reproductores).

El motivo de hacer esto (lo interesante es oír la música a tiempo real según se esta emitiendo) es la calidad. Un fichero grabado que tengamos que bajarnos puede tener más calidad que uno que se emita a tiempo real puesto que ya no depende de la velocidad de la conexión (la calidad, claro), es decir, si tenemos que estar tres minutos para escuchar una canción, en esos tres minutos se tiene que recibir los correspondientes tres minutos de audio (hasta aquí todo claro), si tenemos que transmitir ese audio en calidad CD tendremos que tener un ancho de banda de 172 Kb por segundo sin ningún tipo de corte o disminución de este ancho (algo bastante difícil). La solución es traerte el fichero y leerlo tu por tu cuenta, "con todo el tiempo del mundo".

¿Que tipos de ficheros de esta categoría existen ?. Bueno como siempre están saliendo cosas nuevas, para cuando leáis este articulo habrá tres o cuatro más, pero por ahora los principales son los siguientes :

Fichero de Onda plana más conocido como wav, es decir, el típico fichero de Windows que creamos. Estos ficheros en un principio están en formato crudo (o RAW) en el cual se mete una cabecera para saber el formato (el tipo) y luego se meten todos los datos sin ningún tipo de norma, es decir, hablando en plano a porrón. La desventaja que tiene este tipo es que ocupa mucho (una canción suele rondar los 45 megas) y la velocidad de transferencia que necesita es muy grande ; como mucho se pueden escuchar a tiempo real en redes pequeñas con ordenadores contiguos, es decir, la típica red de casa con un par de ordenadores conectados por tarjetas de red. Si intentamos transmitir esto por Internet mas vale que nos vayamos suicidando, mantener 172 Kb por segundo es prácticamente imposible, y bajarse (traerse) 45 megas por canción con un módem de 9.600 baudios es una tarea de gente con mucha paciencia. Las ventajas que tiene que es el formato de mayor calidad de todos.

PCM, ADPCM estos formatos son como el anterior solo que comprimen los datos. El fichero tiene una cabecera donde indica que es y el tipo de compresión y luego vienen todos los datos (comprimidos, eso si). El ratio ha bajado de 8 o 16 bits a 4 bits, necesita (en 4 bits estero a 44.100 Hz) 43 Kb por segundo de transferencia. Esto significa una mejora respecto del anterior y de hecho es el que más se suele usar para audio en tiempo real (con Mbone como luego veremos). Un fichero pasa de 45 a unos 12 o 13 megas, que es una reducción notable. Del ADPCM existen dos variantes: el estándar de Microsoft y el estándar de IMA que se diferencian poco más en el sistema de descompresión, con el de Microsoft que es el más rápido. Se trata de compresión sin perdidas.

Ley µ CCITT y Ley a CCITT, bastante mejor que el anterior respecto a calidad. Es una compresión anterior a la PCM y ADPCM. El audio se comprime en paquetes (llamados µ o a) que siguen una regla parecida al pkzip (pero en versión menos optimizada). El audio pasa todo el a 8 bits con un ratio de 88 Kb por segundo (en calidad CD). Es compresión con perdidas.

Lernout & Haupie, la compresión sigue el método de estos dos señores de reducción de redundancia de paquetes. La velocidad varia de 4.8 Kb por segundo a 16 Kb por segundo (el de 4.8 se llama CELP a partir de este todos se llaman SBC - de Sound Box Codec o método de codificación por paquetes). Parece ser que se esta empezando a usar un poco más sobre todo en audio a tiempo real, de todas formas se pueden encontrar en ficheros grabados por los internautas.

DSP Group True Speech, para aquellos que tengan un DSP en su tarjeta de sonido, es uno de los sistemas más eficientes equiparándose a la compresión por Mpeg, el único fallo es que este estándar esta por ahora limitado a un máximo de 8000 Hz (calidad de línea telefónica). Compresión sin perdidas.

R.A. o Real Audio, este también se engloba en los compresores online (lo contrario a offline), con lo cual le explicaremos luego.

Mp3 o Mpeg 1 Layer 3 (Mpeg Group), este es el sistema de compresión de moda actualmente, es casi el de mejor ratio de compresión (dependiendo de la calidad de grabación) que oscila entorno a 10 :1. Se esta haciendo famoso no solo por su "cantidad" sino por su calidad de compresión, para cualquiera con oídos normales, son casi indistinguibles los ficheros comprimidos de los originales. Se trata de una compresión con perdidas, pero son casi inaudibles. Lo que ha hecho famoso a este sistema es el método de compresión, que se supone será modelo para los siguientes, no se trata de métodos matemáticos para comprimir los paquetes de audio (como en los métodos anteriores), sino que es un método dedicado al oído humano. El método de compresión a groso modo es el siguiente : nosotros, normalmente, cuando oímos música, los tonos graves y los tonos agudos (sobre todo los graves) eliminan los tonos medios, es decir, un sonido muy grave (como un bajo, o la batería en bacalao) destroza o hace que dejemos de oír un tono medio o agudo (la voz del cantante, unas cuerdas, un sonido sintetizado, etc...) así que se logramos cuantificar cuanto dejamos de oír podríamos eliminar ese sonido (o atenuarle) con lo cual ya vamos reduciendo la canción (no hace falta guardar tantos sonidos, tantos matices). Esto es lo que hace un compresor de Mp3. De todas maneras si quereis mas informacion acerca de este formato, teneis algo menos resumido (y con más formatos), aqui con mas formatos de compresion Offline/Online tipo Mp3.

Antiguamente, intentar descomprimir un fichero vía software era prácticamente imposible (los procesadores eran muy lentos) y el descomprimirlo vía hardware era costoso ( la compresión por Mpeg era conocida hace bastante tiempo), pero ahora con los procesadores potentes (gama Pentium) esto ya es posible. La única desventaja que tiene es que, mientras la descompresión se hace a tiempo real (algunos de los métodos anteriores han de ser descomprimidos antes de ser tocados a no ser que tengamos un DSP, un chip dedicado exclusivamente a eso), la compresión es lenta (comprimir una canción de 3 minutos puede costar media hora en un Pentium 166, dedicado exclusivamente).

Tampoco hay que creer que esto es una novedad, en Estados Unidos, desde hace bastante tiempo (dos, tres años) las discográficas se pasaban los discos en este formato vía módem, ya que un fichero de 45 megas pasa a 4 o 5 megas como mucho.

Este formato es más o menos gratuito ya que por ahora hay muchos temas legales relacionados con los ficheros comprimidos en este formato (pasa algo parecido que con el formato GIF), debido a que actualmente, su circulación es más que fluida.

VQL o Yamaha SoundVQ, Mpeg Layer4 este formato es poco conocido pero es muy innovador. Su calidad es un poco inferior al Mpeg o al Wav puro y duro, pero con una buena ecualización se pueden hacer maravillas. Este formato tiene una de las mejores compresiones que he visto ; si con Mpeg un disco de audio (un CD) a máxima calidad puede ocupar 50 o 60 megas (a 4 megas por canción), con el formato de Yamaha ocuparía 10 o 20 megas. El tamaño de cada canción es ridículo (de 1 a 2 megas) y, de hecho, la canción de "La Flaca" me ocupa menos de un disquete de 1.44 megas (88 Kb por segundo - después de descomprimido en tiempo real, claro - a 48.000 Hz y 16 bits). La única pega de este formato es que es propietario, es decir, tenéis que pagar por el compresor, pero no por el reproductor. Se trata de una compresión con perdida.

Tanto el Mpeg como el VQL admiten lo que se llama stream o escucharlo online, la pega es el ancho de banda, necesitaríamos una línea RDSI con el máximo dedicada solo a ello.

 Compresiones Online

Estas compresiones son las utilizadas para oír audio a tiempo real, según se emite. De aquí en adelante tenemos que considerar el tipo de transmisión, es decir, para quien se transmite, por esto tenemos varios casos (en un principio no afecta a las compresiones).

A una única persona o unicast, de esto modo se emite a una única persona, directamente a ese ordenador ; los paquetes (suponemos transmisión TCP/IP) van todos asignados con la IP de destino. Por ejemplo, si transmitimos a luna.gui.uva.es, seria el identificador del ordenador 157.88.36.190.

A un grupo reducido de personas o multicast, aquí transmitimos a una serie de personas, normalmente a un dominio (un grupo de ordenadores con una IP más o menos parecida). Así lo transmitido, lo recibirá solo un grupo de personas (por ejemplo si queremos emitir para todos los ordenadores del Grupo Universitario de Informática seria emitir para 157.88.36.0.

A todo el mundo o broadcast, emitimos en lo que se considera alcance mundial, es decir, para todo el mundo que quiera recibirlo.

Tanto el broadcast como el multicast tienen un gran parecido, siendo su diferencia el alcance de la emisión (el número de routers por los que ha de pasar el paquete, el número ttl como se denomina).

Volviendo a las compresiones onlina, este tipo de compresiones tiene pocos estándares, siendo algunos de ellos los utilizados de manera offline. Todos estos compresores tienen la desventaja de una calidad baja, debido a que así se puede aumentar la eficiencia de transmisión.

Real Audio, es el más conocido. Son ficheros con extensión ra o ru. De una calidad mas baja, de hecho podemos comprimir media hora en tan solo 3 megas con una calidad tipo emisora de AM (aproximadamente unos 11.000 Hz). Una de las ventajas que tiene es que podemos engancharnos de una manera fácil a la transmisión ; con esto nos referimos a que no tenemos que conectarnos desde un principio de la emisión ya que de vez en cuando se mandan paquetes de control, indicando el formato y la calidad de la transmisión. Dicho esto puede parecer un poco tonto y extraño, pero normalmente el paquete que indica el tipo y calidad de transmisión suele ser el primero en enviarse y los restantes es el audio, con lo cual si nos conectamos a mitad de transmisión no conseguiríamos nada. Muchas emisoras de radio transmiten en este estándar (sobre todo americanas, aunque también onda cero española) y pese a que en versiones antiguas de este producto (actualmente están en la versión 5) podíamos escanear las emisoras, como un receptor de radio normal, ahora hay que bajarse unos ficheros con las direcciones de las emisoras. También con este formato se transmiten videos. Su compresión es por reducción de CRC mediante un método matemático (no van por tabla de reducción, para los interesados).

Mpeg Layer3 y Layer4, todos o casi todos los descompresores de formato Mpeg tienen incorporados la recepción por streaming o la conexión a una emisión online. Estas transmisiones también son de baja calidad, siendo la mayoría a 22.000 Hz en estéreo (frente a los 11.000 Hz en mono o en estéreo del Real Audio). Este formato no esta muy extendido, aunque con la nueva WebTV se supone que será uno de los más usados. Necesita un ancho de banda bastante grande, recomendando un módem de 33.600 baudios para obtener una recepción optima.

PCM, PCM2, PCM3, GSM, el formato PCM se utiliza fundamentalmente para las transmisiones con programas de uso más o menos comercial (WebPhone, Iphone, Mbone), mientras que la GSM, la de los móviles, se utiliza fundamentalmente en herramientas tipo Mbone, cuando la calidad no es lo fundamental, pero si el tamaño (actualmente se encuentra en la versión 6.10). El ancho de banda necesario oscila entorno a 9 Kb por segundo a 44.100 Hz en mono (no deja transmitir en estéreo).

MSN Audio o MicroSoft Network Audio, el intento de Microsoft por acercarse a Real Audio. La compresión es prácticamente idéntica a Real Audio, salvo que aquí las cosas se miden por los baudios de la conexión. Solo se puede transmitir en mono, con una calidad máxima de 44 KHz a 71.663 baudios a 9 Kb por segundo (a ojo de buen cubero).

H.218, también muy utilizado, sobre todo en sistemas operativo de ordenadores de gama alta (Solaris, Unix con sus variantes) y tomado como estándar en muchas de las aplicaciones desde hace bastante tiempo (Mbone, Iphone). Compresión con perdidas, de baja-media calidad. En sus numerosas revisiones ha sido mejorado de una manera significativa. Actualmente, junto con el GSM es uno de los más usados en las videoconferencias.

G.711, G.722, T.120, para el audio transmitido a la vez que el Video. Preferidos por su diminuto tamaño, respectivamente, 3.000 Hz en líneas de 64 Kb, 7.000 Hz en líneas de 56 Kb, y el T.120 que son los estándares para poder compartir el audio por varias personas (aseguraras que vuestra herramienta siga este estándar).
 

 El Video


¿Qué seria de un sistema de video-conferencia sin el Video ?. Comunicarnos con otra persona solo mediante la voz es algo que esta bastante bien, de hecho lo usamos siempre que llamamos por teléfono, pero si a esto le añadimos el Video conseguiremos un sistema de comunicación ideal.

Con el Video pasa lo mismo que con el audio, transmitir un segundo de Video ocupa lo inimaginable, así si usamos uno de los medios de almacenamiento masivo (un CD-ROM), a máxima calidad (sistema PAL, 768x576, trucolor, 30 frames o pantallazos por segundo) solo tendríamos la posibilidad de tener 3 o 4 segundos, eso solo en cada CD. Por eso tenemos que hacer lo mismo que con el audio, comprimir.

Todo esto esta aun muy crudo, es decir, es bastante beta, aun no esta mejorado ya que necesitamos un gran ancho de banda, muchísimo mayor que para el audio. Aunque comprimamos si queremos enviar una imagen de 320x200 de resolución, multiplicando nos da cosa de 60.000 pixels que son aproximadamente 60 Kb por segundo (si transmitimos varias), pero si además queremos transmitirla con movimiento son 30 frames por segundo que multiplicando a lo anterior son 1.800 Kb por segundo, esto es una cifra astronómica para las redes actuales ya que si tenemos un módem de 28.800 bps. tendremos un ancho de 2 Kb por segundo.

Tenemos que diferenciar el tipo de compresión: puede que no haya compresión alguna en los frames, que haya lo que se llama un cuadro maestro, es decir, no se transmite todo el fotograma cada vez, sino que hay un cuadro que se transmite entero y los demás son deformaciones de este (realmente los datos que varían) o un tipo híbrido con cuadro maestro, con compresión y con lo que se denomina predicción de cuadro, (algo muy nuevo) donde el ordenador prevé cual será el cambio del fotograma al fotograma siguiente.

Aquí también existen multitud de formatos. Uniremos los formatos Online con los Offline.

FLI, FLC, SMK, todos estos son bastante parecidos. Admiten un máximo de 256 colores (8 bits, aunque el SMK admite hasta 16 bits), el formato FLI a 320x200, el FLC sin limite de tamaño y el SMK con sonido. No tiene compresión alguna salvo la de cada pantalla, es decir, estos formatos son como una sucesión de gráficos en formato GIF (para que nos entendamos) sin ningún tipo de compresión salvo la que pueda tener cada frame, es decir, no tiene cuadros maestros.

AVI, MOV, aunque parezcan formatos tan diversos, podemos considerar que ambos evolucionan al mismo tiempo. El formato AVI de Microsoft, se trata de Video comprimido, sin cuadros maestros, pero con cuadros comprimidos reescalables, con los cuales podemos variar el tamaño de la imagen. La cantidad de información que grabamos depende de la calidad, así a más calidad más información grabamos. Realmente no nos vale para transmitirlo en tiempo real, como su compañero de versión MAC (el MOV), primer formato Mpeg de compresión de Video. Este formato tiene cuadro maestro y además va comprimido. Eso ocurre hasta la versión 2, es decir hasta el Mpeg2, que es como actualmente se transmiten todos los canales digitales (podéis decir a vuestro vecino que tenéis una descompresora de Mpeg en la televisión). El formato Mpeg es idéntico al de audio, reduciendo no por fórmulas matemáticas sino por las características del ojo humano. No os voy a contar el porqué vemos imágenes en movimiento pero si tenemos en cuenta como las vemos, podemos reducir la señal hasta en un 40% o 50%, sin que casi lo notemos. El nuevo formato Mpeg4 (y el próximo que será el Mpeg7) ya no solo tiene en cuenta lo anterior, sino que dependiendo de donde estén situadas las cosas en la imagen, la modificara al comprimirla, inventándose lo que no vea, es decir, si filmamos a una persona y es el cuadro maestro, cuando esta se mueva, nosotros enviamos solo los cambios de la imagen (la persona moviéndose y lo que estaba detrás de esta), pero con el nuevo formato se inventara lo que hay detrás, lo preverá, pudiéndose así reducir aun más los cuadros.

Como ese estándar esta en fase muy inicial, se ha dicho muchas cosas sobre él, como que se "renderizaran" los cuadros para poder transmitir el audio de tal manera que nos suene como están las cosas en la imagen (si pasa un coche de izquierda a derecha y tenemos Dolby Surround, lo escucharemos de izquierda a derecha).

Real Audio, también mediante este método podemos transmitir Video. Basado en el Mpeg2, pero uniendo el estándar H.320, incluye cuadro maestro comprimido, con Video escalable.

H.320, uno de los más usados por sus tasas de velocidad, están varían dependiendo del ancho de banda que tengamos. Capaz de transmitir en formato PAL, NTSC, convirtiéndola de un formato a otro según haga falta. El H.320 engloba cinco formatos de Video y tres de audio.

H.261, para canales de menos de 64 Kb. Con dos métodos, el CIF (352x288 a 30 frames por segundo) y el QCIF (de menor tamaño 175x144 con solo 15 frames).

H.323, H.324, exclusivamente para cuando hay dos personas hablando, no admiten ni broadcast ni multicast. Estos dos estándares consumen un ancho de banda reducidísimo (prácticamente con 3 o 4 Kb por segundo nos vale), siendo su diferencia la resolución que admiten, idéntica al CIF y QUIF, respectivamente.
 

 Audio y Video junto


Consideraremos aquí las aplicaciones que pueden ser especificas para esto. No esperéis demasiado, pensar que siempre escuchareis el audio como una radio mal sintonizada y el Video lo veréis a saltos. Esto no es porque vuestro ordenador sea lento (bueno, depende, a veces si), sino por el famoso ancho de banda. Ya sabéis cuanto más mejor.

También tienen que ofrecer. Ciertos servicios como :

Pizarra electrónica o White Board, para comunicarse mediante texto, por si algo falla y alguien nos puede echar una mano. Ideal para los Brain Storm.

Compartir aplicaciones, nos debe permitir el poder visualizar aplicaciones que tengamos en nuestro ordenador como el Gimp (programa de diseño gráfico), el Power Point, etc? para poder mostrar nuestros trabajos.

Transmisión de ficheros, esto no necesita explicación.

Compartir documentos, como la pizarra electrónica pero solo puede escribir un usuario cada vez.

 Mbone

La más practica porque existe en multitud de plataformas (Unix, MacOs, Windows95, Windows NT, Solaris, etc...). Es la herramienta universal y gratuita. Podemos emitir tanto en unicast, como en multicast o en broadcast, simplemente indicándole el numero de ttl.

Necesitaremos una capturadora de Video y una tarjeta de sonido, más un ordenador lo suficientemente potente como para poder comprimir audio y Video a tiempo real y al mismo tiempo (un Pentium 120 se queda pequeño, lo mínimo es un Pentium 166).

Existe, mundialmente, una agenda de conferencias que esta a nuestra disposición para ver que se esta retransmitiendo en esos momentos, y podamos engancharnos y verlo en directo. Además podemos anunciar la nuestra para que todo el mundo la vea. Pueden estar conectados tanto usuarios como quieran, no es para una conferencia entre dos personas.

Dispone de pizarra electrónica, podemos compartir documentos y esta en proyecto el poder compartir aplicaciones. Admite multitud de compresiones tanto de audio como de Video y nos permite controlar el ancho de banda que utilizamos con cada aplicación. CU-SeeMee

 CU-SeeMee

Programa comercial para la plataforma Windows y MacOS. Se hizo famoso con la llegada de las Quick-Cam o cámaras que podemos conectar al puerto paralelo para digitalizar. En su ultima versión admite varias personas al mismo tiempo. Sus primeras versiones eran totalmente gratuitas, salvo que solo funcionaban bajo plataforma UNIX.

Al ser comercial soporta los últimos estándares (H.323 y H.263). Necesitaremos un Pentium 100 con 16 megas como mínimo y por supuesto módem.

Se empezó a hacer famoso por los IRCs donde sus usuarios galanteaban de tenerla y de poder hablar con ellos de esta manera.

 VocalTec Internet Phone

Está sustituyendo al CU-SeeMe puesto que es la que actualmente esta en los packs de las cámaras digitalizadoras. Con pizarra, compartir documentos (multiplataforma, eso si) y soporte para chat o irc "de serie".

 Connectix VDOPhone

Creado por Connectix. Más sencillo que los productos anteriores, casi no requiere control por el usuario (al contrario que Mbone, que necesita un control casi constante). Admite a varios usuarios conectados al mismo tiempo. Su motor es el usado por el RealAudio cuando transmite Video.

 Microsoft NetMeeting

Se distribuye conjuntamente con el InterNet Explorer 4.0, con lo cual esta ganando terreno rápidamente. Con un Pentium y 16 megas conseguiremos que se ejecute "sin peligro". Admite múltiples usuarios (hasta un máximo de 32, según dicen), transferencia de archivos y pizarra. Sigue el estándar H.323.

 Iris Phone 2.5

Bastante moderno, y sencillo. Se encuentra en versión beta y por ello podemos comunicar los fallos que veamos a la pagina WEB de la compañía. Consume muy pocos recursos, permitiéndonos grabar nuestra conversación, así como emitir videos que tengamos grabados (cosas que muchos no nos dejan).
 

 Recomendaciones


Como dije al principio, todo esto es algo en estado potencial, todavía no se ha desarrollado lo suficiente. Esperemos que dentro de poco lo podamos hacer con comodidad y rapidez, pero para los que quieran ir comenzando, yo les recomendaría usar el Iris Phone por su sencillez, y a aquellos que quieran compatibilidad, a la vez que ir aprendiendo algo de como funcionan las compresiones, los tipos, los nuevos formatos, en definitiva, a todos aquellos que les guste este mundo, que usaran el Mbone, que además es gratis.