Streaming para todos, por Luis Bou (Fletán)

O como Jobs diría, “Streaming for the rest of us”

Lo que he visto en la CampusMac ha terminado de convencerme: el negocio del vídeo semiprofesional está a punto de explotar. La coincidencia en el tiempo de cámaras digitales de una gran calidad de imagen a precios ajustados, de los medios adecuados para volcar esas fotos o videos a un ordenador, siempre en formato digital [USB o FireWire], de ordenadores suficientemente potentes y asequibles y, finalmente, de software de edición maduro hacen que cualquiera con un poco de talento sea capaz de producir vídeos de calidad razonable sin salir de casa.

Para ejemplos véanse los vídeos salidos de la CampusMac, creados con cámaras de bolsillo [y no esas monstruosas cámaras al hombro que usan los reporteros de TV] y montados en tiempos razonables en una máquina al alcance de cualquiera. O de casi cualquiera, si consideramos las exigencias de hardware SiliconGraphics o Sun para obtener resultados similares hace un par de años. Del mismo modo, pretender montar el equivalente de un servidor Web para enviar vídeo por Internet tenía unos costos astronómicos. Hoy en día la situación es otra.

Streaming de vídeo frente al download tradicional

¿Qué significa la palabra ‘streaming’?. ‘Stream’ significa ‘chorro’ o ‘flujo’ y alude a la descarga de un fichero que no tiene principio ni final: el caso más claro es una transmisión en directo. Una emisión en diferido no deja de ser un fichero muy grande y que se puede transmitir por HTTP, FTP, Hotline o cualquier otro medio habitual de descarga. La cuestión es que un stream debe ser transmitido de modo que cualquiera pueda conectar con él en cualquier momento, y no sólo al principio de la transmisión. Hasta hace no mucho, montar un servidor especializado de streaming exigía mucha máquina, mucha red y mucho dinero. Eso también ha cambiado.

Pensemos en una lista de correo: cuando se envía un mensaje a una lista, el servidor de listas debe enviar una copia de ese mensaje a cada uno de los suscriptores. Resultado: un sólo mensaje enviado a una lista muy poblada puede exigir Gbytes transmitidos para poder enviar su copia a cada destinatario. Del mismo modo, enviar el mismo vídeo a dos clientes simultáneos exigirá mandar lo mismo a ambos por separado, duplicando el tráfico generado. En cuanto la audiencia de un servidor de vídeo crece, los costes de potencia del servidor y conectividad se disparan…. o no. Pero vayamos por partes.

Streaming para todos, de verdad

Apple abrió el campo multimedia con en 1991, pero hasta la aparición de RealNetworks en 1995 no hubo una solución disponible para el gran público de transmisión multimedia sobre Internet. Era y sigue siendo una alternativa más bien cara, pero viable: hoy en día muchas conferencias de empresas, canales de televisión y otras transmisiones multimedia se están desarrollando sobre RealAudio y RealVideo.

Presionados por la aparición de Streaming y, sobre todo, por Microsoft (hechos probados; véanse los párrafos 104 a 114 de la sentencia del juez Jackson en el caso contra Microsoft por monopolio), Real ha intentado ampliar su base de clientes ofreciendo versiones descafeinadas de sus servidores y codificadores.

Sin embargo, su fuerte dependencia de Windows le hace vulnerable ante Microsoft, y más desde que esta última está apostando fuertemente por Windows Media, su propia solución de transmisión, incluyendo el servidor con las versiones Server de su sistema operativo.

Esta arquitectura es incompatible con todos los estándares, sean de facto o de iure, y responde al mismo afán de conquista que llevó a la guerra de navegadores. Es de esperar a corto plazo otra guerra en el campo de reproductores multimedia y, en mi opinión, Real parte de una posición desventajosa, ya que no tiene codificador para MacOS X, el de MacOS 8/9 es inestable y los de UNIX/Linux no codifican en tiempo real. Sólo el de Windows funciona correctamente, y eso les pone a merced de Microsoft, quien ya intentó hacerlos desaparecer del mercado (párrafo 112 de la sentencia Jackson). Tal vez sea esa la razón por la que recientemente han anunciado la publicación del código fuente de toda su arquitectura, repitiendo un movimento similar de Apple.

La propuesta de Apple es particularmente interesante: se incluye un servidor de streaming en el MacOS X Server, que tiene equivalentes OpenSource que corren sobre Windows, Linux, Solaris y otros sistemas operativos. Todos estos servidores son gratuitos, no imponen límites al número de clientes y permiten montar una jerarquía de retransmisores que lleve un stream a una audiencia arbitrariamente grande y dispersa. La única exigencia de toda la plataforma es que el codificador Broadcaster, también gratuito, debe correr sobre MacOS X. Es decir: cualquiera con un Mac reciente y una cámara FireWire puede transmitir a una audiencia arbitrariamente grande por el precio del tráfico de red. Más aún, como Broadcaster puede transmitir en el formato estándar multiplataforma MPEG 4, se puede decir que a día de hoy QT es la única solución estándar y gratuita del mercado.

Por el precio del tráfico de red

Todo lo anterior tiene un “pero”. El “pero” está en que, como ya se dijo más arriba, con la estructura de la Internet actual es necesario enviar un stream distinto a cada uno de los receptores de una transmisión.

Contrariamente a la TV convencional, en que a la antena emisora le es indiferente cuántas antenas receptoras la sintonicen, un servidor de streaming sufre grandes cargas de red en cuanto la audiencia es un poco significativa. Para grandes eventos a escala mundial es necesario utilizar redes de distribución especializadas como Akamai [de la que Apple es fundadora sin que haya divulgado cuál es su porcentaje de participación], que es la responsable de la distribución de los webcasts de Jobs.

Sin embargo, esta limitación está a punto de desaparecer, al menos en teoría. La obligación de enviar una copia por oyente viene del uso de la versión 4 del protocolo IP (la mitad del conocido dúo TCP/IP).

Con la introducción de IPv6 en los grandes nodos de Internet se salva esta limitación, ya que IPv6 sí es capaz de transmitir a grandes audiencias sin disparar el tráfico de red. Uno de los grandes avances de MacOS X.2 o Jaguar es precisamente que incorpora IPv6, lo que hace que, al menos en teoría, cualquiera de nosotros pueda montar en su casa un canal de televisión propio con audiencia indefinidamente grande. Las únicas condiciones son una red IPv6 entre fuente y oyentes, cosa que vendrá con el tiempo, y un codificador Broadcaster.

El tiempo dirá hasta qué punto los ISPs activarán las diversas características de IPv6 en sus routers y servidores, pero en principio Apple es la primera (y van…) que pone todos los elementos necesarios para que cada cual montemos, no ya un periódico o un website, sino un canal de televisión en nuestra casa.

Estoy muy interesado. ¿Me puedes contar cómo funciona?

Como ya habrás deducido, una solución de streaming tiene tres componentes:

un codificador, un servidor y un cliente. El codificador recibe el vídeo y audio que se deseen transmitir, los comprime y los transmite al servidor, que es quien carga con la pesada tarea de multiplicar ese chorro para transmitir a cada uno de los clientes. Los clientes, a su vez, reciben este chorro, lo descomprimen y lo representan en pantalla.

Por supuesto esta es una perspectiva simplificada: la compresión del audio y vídeo debe hacerse atendiendo a sus propiedades, y también al ancho de banda máximo que se desea utilizar. A día de hoy no es viable enviar vídeo de 320 x 240 píxels a 15 cuadros por segundo sobre un enlace de módem, porque ningún codec (algoritmo de compresión/descompresión) es capaz de las tasas de compresión necesarias (320:1), de modo que la elección del codec y el tamaño de imagen son cruciales.\n

Del mismo modo el servidor debe ser configurado para reflejar los chorros que le envíen codificadores autorizados y rechazar los de codificadores desconocidos, del mismo modo que un servidor de listas no redistribuye todo el correo que le llega. Por último, se debe definir si el servidor deberá disfrazarse de servidor Web y transmitir sus vídeos por los mismos cauces que las páginas Web (es decir, por HTTP, sobre el puerto 80 y usando el protocolo de transporte TCP), o si podrá operar en modo nativo por RTSP, puerto 554 y UDP. Un servidor mal configurado será vulnerable a la retransmisión de contenidos no autorizados, lo que consumirá recursos y, en un caso peor, podrá poner en aprietos legales a quien lo opere.

Finalmente, la configuración del cliente es la más sencilla de todas. Bastará con indicarle si el tráfico que recibirá se transmite sobre HTTP ó RTSP, la velocidad de la conexión disponible y pocos detalles más. De hecho, suelen tener capacidad de autoconfiguración y ellos solos descubren casi todos los parámetros que necesitan para funcionar.

El futuro: Tambores de guerra

Como ya se mencionó, la solución de Apple es la que da más prestaciones por el menor precio: permite construir una arquitectura de servidores escalable,

gratuita e, IPv6 mediante, con poco consumo de red. Si se decide transmitir con MPEG4, estándar público y abierto, en principio cualquier cliente lo puede recibir, sea o no.

Microsoft incluye el servidor de WindowsMedia en las versiones Server de Windows, y también da gratuitamente el codificador y el cliente. La diferencia es que transmite usando formatos propietarios y exige que codificador y servidor funcionen bajo Windows. El coste oculto de esta solución es que su contenido podrá verse en aquellas máquinas para las cuales Microsoft decida escribir un reproductor, además de exigir Windows por todos lados.

Finalmente, Real parte como líder del mercado, pero con una posición mucho más vulnerable que la que tenía Netscape en tiempos: hay reproductor para todas las plataformas mayoritarias, codificador para algunas de ellas, y servidor para Windows y la mayoría de los Unix: Irix, Solaris, BSD y otros.\n

Su debilidad está en que es la única arquitectura que, a falta de costos ocultos (Windows, dominación del mercado) o nutrirse de otras fuentes (de lo que Apple vive es de vender hardware), debe vender sus servicios: la solución Helix de gama más baja cuesta unos 3.000 euros sólo en software. Tal vez por ello han decidido recurrir a la comunidad OpenSource y su odio a Microsoft para sobrevivir. La guerra es inminente.

Si quieres información más técnica, puedes descagarte este PDF y si tienes alguna duda, puedes escribirme un correo e intentaré ayudarte y si quieres saber más visita n-video.com.

Luis Bou

0 0 votos
Article Rating
Subscribe
Notify of
0 Comments
Opiniones Inline
Ver todos los comentarios
0
Me encantaría saber tu opinión, por favor, deja un comentariox
()
x