Audio (y Video) Live Streams (en Vivo)

Además de los podcasts, la otra manera en que shows de audio se distribuyen por internet es live streams (en vivo). En un live stream, el audio se transmite a los oyentes en vivo. Cuando el anfitrión del show dice algo, todos los que están conectados al stream lo oyen a la misma vez. Esto hace posible crear shows en los que los oyentes pueden interactuar con el show. Ya que esto es sólo una introducción a multimedia, no vamos a ver ningún ejemplo real en este tema. Solamente vamos a estudiar algunos de los elementos básicos. Además, ya que los conceptos que dominan streams de video en vivo son muy similares a los conceptos de audio en vivo, tambié vamos a estudiarlos aquí, aunque todavía no hemos cubierto la unidad de video en este curso.

Live Streams

Lo primero que necesitas para crear un show de audio/video en vivo es una manera de transmitir tu show al usuario. Hay muchos formatos con soporte para live streams. Para cada uno de estos formatos hay compañías que proveen uso de sus servidores, ya sea libre de costo (en programas que incluyen anuncios comerciales) o a la venta, permitiéndote transmitir audio/video en este formato. Las siguientes son las opciones más populares:

Shoutcast/Icecast - Este es el portal de audio streaming más popular. (Icecast puede soportar video, pero no muy comúnmente). Hay literalmente miles de audio streams de individuos y organizaciones como estaciones de radio que usan este portal. El formato (también llamado shoutcast) fue desarrollado originalmente por la compañía Nullsoft (ahora propiedad de AOL), la cual lo popularizó con su servidor shoutcast (http://shoutcast.com).  Icecast (http://icecast.org) fue creado como un sustituto de codigo abierto con todas las capabilidades del software de shoutcast. Es fácil de usar y libre de costo. Al momento, Icecast y Shoutcast son usados por una cantidad similar de usarios. Icecast es la solución recomendada si sólo quieres transmitir audio.
Real Time Messaging Protocol (RTMP) / Flash Streaming - Actualmente, streaming de audio/video por Flash es muy popular en el internet. La mayor razón por la que se ha vuelto tan popular es que casi todos los navegadores web están construidos con el reproductor de flash integrado. No hace falta ningún software adicional para comenzar a ver o escuchar los streams. Hay varios servicios que proveen streams en flash libre de costo; entre estos, los más populares son Ustream (http://ustream.tv) y Justin.tv (http://justin.tv). Estos te permiten conectar un micrófono/cámara o un alimentador de audio/video a sus programas de streaming y transmitir -- libre de costo con anuncios integrados -- en el internet, sin tener que instalar ningún equipo o ningún software adicional. Esta es una forma fácil de comenzar a experimentar con streaming. Hay también más productos profesionales que permiten streaming de RTMP, lo cual te permite operar tu propio servidor. Adobe, siendo el creador del software de Flash y del protocol RTMP, tiene el servidor más popular llamado Adobe Flash Streaming. Sin embargo, hay un competidor de código abierto que es completamente libre de costo y fácil de instalar llamado Red5 (http://red5.org).
Windows Media Server - Este es el software de servidor usado para hacer streams de audio y video de formato Windows Media para programas clientes de Windows Media Player. Desafortunadamente este software sólo trabaja bien si todos los usuarios tienen Microsoft Windows, ya que no tiene soporte en Mac o Linux.
Helix/Real Media - Real Media solía ser la mejor solución para streaming antes de que cualquiera de las otras opciones surgieran en el mercado. Sin embargo, desde hace tiempo se ha quedado atrás, y actualmente es mayormente usado por sólo algunas corporaciones.
Quicktime / Darwin Media Server (Apple QuickTime) - Estas dos opciones son productos de Apple, construidas para trabajar con el programa QuickTime. Sin embargo, el Darwin Media Server es una alternativa de código abierto y disponible libre de costo. Además de trabajar con video Quicktime, también puede trabajar con algunos de los formatos de video/audio de mayor calidad (H.264, MPEG-4 Part 2, 3gp). 

Hablando con Visitantes

Ahora tienes el audio y video de tu show saliendo hacia el resto del internet, pero todavía eres sólo tú y quien sea que está sentado contigo donde estás grabando. No sería bueno si otros invitados o hasta otros anfitriones pudieran juntarse contigo en el mismo show, en vivo desde cualquier lugar en el mundo? Gracias a la gran abilidad de computadores para enviar audio y video entre usuarios, esto es posible! (Todo esto también es posible aún si no estás haciendo un stream en vivo; puedes usar las siguientes herramientas para grabar podcasts o videocasts y transmitirlas más adelante).

La manera más básica de lograr que alguien pueda hablar contigo es usando una de varias opcioness de Voz sobre IP (Voice over IP, o VoIP). VoIP es básicamente un reemplazo en tu computador para llamadas teléfonicas. En vez de enviar tu voz como una carga eléctrica a través de un alambre de cobre hacia tu compañía teléfonica, el computador envía tu voz como un stream de bits al recipiente a través del internet. La versión más popular de VoIP que se puede usar para crear shows de audio o video es Skype. Skype te permite comunicarte con una o más personas en la misma llamada. Desde ahí puedes grabar la llamada a tu comutador o enviarlo directamente a un stream. Desafortunadamente, Skype tiene algunas limitaciones que evitan que interactúe con otro software aparte del cliente oficial de Skype. Si quieres una opción que te permita tener la libertad de usar varios tipos de software de VoIP, hay un standard usado por la mayoría de estos otros programas (excepto Skype). Este formato llama el Session Initiation Protocol (Protocol de Iniciación de Sesión, o SIP). El SIP es un protocol con muchas capabilidades incluyendo reenvío de llamadas y buzón de voz. El cliente Empathy (Instant Messaging) que viene con Ubuntu puede trabajar con el plugin telepathy-sofiasip para convertirse en un muy buen cliente de SIP. Tambien en Empathy está la abilidad de usar chat en video/voz a través de los servidores Google Talk o Jabber. Esta es una buena alternativa a Skype también.

Los programas Skype/SIP/Instant Messenger tienen cierto soporte para múltiples usuarios hablando entre ellos en la misma llamada, pero esta no es su especialidad, y por lo general están limitados a sólo un poco de usuarios a la vez. A veces tal vez quieras tener un grupo más grande de personas en el show de forma tal que cualquier persona (o grupos específicos) pueda hablar entre sí. Mumble es una aplicación de chat grupal que fue diseñada para uso por grupos de personas usando juegos de computador, pero funciona muy bien para cualquier tipo de chat de grupo. Para usar Mumble, necesitas instalar el mumble-server (llamado murmur) en algún lugar en el network donde todos los usuarios puedan accesarlo, y luego hacer que cada usuario abra el cliente de Mumble. Es posible crear varios canales en el servidor, de manera que diferentes grupos puedan hablar entre sí.
Mumble-Record-es.png

No hay ningún otro programa similar que trabaje con conversaciones de grupo con video. Esto es porque es fácil escuchar a muchas personas diferentes al mismo tiempo, pero no es fácil ver múltiples instancias de video a la misma vez. La aplicacion que se acerca más a esta capabilidad es Big Blue Button  (http://bigbluebutton.org).  Este programa se contruyó para uso en salones de clase virtuales, en los que todos los estudiantes tienen una webcam (o al menos un micrófono) y el rofesor puede controlar quién habla a cualquier momento determinado. Esta misma configuracion puede trabajar bien para un show, en el cual el anfitrión jugaría el papel del profesor siendo quien control a cuál stream de video se envía al resto de los invitados del show. Big Blue Button usa streaming flash de video, por lo que es fácil de configurar por cualquier usuario.

Conectando todo con JACK

Ahora que tienes muchos streams de audio llegando a tu computador, y solo un stream con el que enviar audio hacia afuera, necesitas una manera de conectar las entradas con la salida. JACK es un conjunto de software que te permite hacer precisamente esto. La manera más facil de entender al JACK es pensando en un conjunto de cables virtuales, configurados de forma tal que puedes tomar la salida de un programa y alimentarla hacia otro programa. Luego puedes tomar esa nueva salida y alimentarla a un tercer programa. JACK es un poco complicado para configurar, y un poco más allá del enfoque de nuestro curso, pero es un recurso increíble si necesitas algo con lo que conectar todos tus sistemas de audio.


Interactuando con la Audiencia

Ahora que tienes el software para tu stream en vivo bien configurado, la única otra cosa en la que hay que pensar es el resto de los recursos que pueden apoyar un buen show en vivo. Por lo general es importante tener una página web qe tenga información sobre tu stream, como por ejemplo qué show está en el calendario para hoy y para fechas futuras.

Otra parte que es útil tener es una manera de usar texto para que la audiencia pueda hablar con los anfitriones e invitados, así como con el resto de la audiencia. Esto se logra por lo general usando un salón de chat de formato Internet Relay Chat (IRC) (http://en.wikipedia.org/wiki/Internet_Relay_Chat http://es.wikipedia.org/wiki/Internet_Relay_Chat). Esto se puede hacer usando un servidor IRC específico para el show (con la opción de tener más de un salón de chat simultáneamente), o en un servidor IRC público, en el cual hay un salón especificado para tu show. Ya que no todos los usuarios tendrán un programa cliente IRC en sus computadors, se recomienda que configures un cliente dentro de tu página web. Hay varias maneras de permitir que usuarios se registren al chat IRC a través de la página web sin tener que descargar nada a sus computadores.

La otra opción para interactuar con la audiencia es usando Twitter (o la alternativa de código abierto llamada Identica). En estos sitios puedes decirles a los usuarios que utilicen hashtags (#) específicos (por ejemplo #BuenShow) en sus comentarios. De esta manera cualquier persona puede ver rápidamente todos los comentarios entrando durante el show.

Tanto IRC como Twitter/Identica es una manera muy buena de interactuar con la audiencia. Una manera común de hacer esto es haciendo una pregunta en el stream, y pidiéndole a la audiencia que escriban sus respuestas y las envíen. Otro método es decirle a la audiencia que escriban preguntas que tengan para el invitado usando uno de estos servicios, y luego el anfitrión puede leer la pregunta en vivo.

Estos deben ser suficientes sugerencias para que comienzes a crear tu show en vivo...buena suerte!