Practica 7.- Servicios de STREAMING y VoIP

1.- Cliente de streaming
Descargar de http://www.videolan.org/vlc el programa VLC Player e instalarlo con las opciones por defecto
Probar con Medio – Abrir volcado de red - rtsp://zebra.cpd.ua.es/directoOptica o cualquier dirección de youtube
2.- Servidor de streaming W2008
Cuestiones previas:
- Verificar el nombre del equipo, que puede ser cambiado desde el
panel de control – Sistema – Cambiar nombre del equipo
- Desactivar el servidor web para poder transmitir a través del protocolo http (descarga - visualización)
Descargar
el servidor de windows media server de
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=12442
Descargar la verión de 32 o de 64 bits.
(windows6.0-kb934518-x86-server.msu o
windows6.0-kb934518-x64-server.msu respectivamente)
Ejecutar
“Administración del servidor – Añadir funciones – Servicios multimedia
de transmisión por secuencias”.
En las opciones que ofrece marcar SOLO
Servidor de Windows Media y en los protocolos marcar RTSP Y HTTP
Herramientas Administrativas - Servicios de Windows Media.
(Si
el servidor no arrancara correctamente, puede ser un problema con la
identificación del usuario. Marcar el servidor – Propiedades –
Autenticación – Autenticación de usuario anónimo de WMS – Poner un
usuario y contraseña con permisos de ejecución de servicios, como un
administrador)
Una vez puesto en funcionamiento, basta agregar un punto de publicación y definir:
- Difusión (como una transmisión de TV) / Petición (cuando desee el cliente)
- Nombre: cómo se accede (mms://IP_SERVIDOR/nombre)
- Ubicación: dónde se encuentran físicamente los recursos
- Tipo: archivo/directorio/…
- Permitir conexiones anónimas (Propiedades, autenticación,
autenticación de usuario anónimo de WMS, habilitar)
- Ponerlo en marcha (en el caso de difusión) y admitir nuevas conexiones
Acceder a él desde un navegador o desde vlc con
- mms://IP_SERVIDOR/nombre
- http://IP_SERVIDOR/nombre
Tiene
muchas características en la configuración. Por ejemplo, un directorio
completo de canciones se debe poner “a petición, tipo directorio” y en
propiedades “Transformación de lista de reproducción” puede ponerse en
bucle y aleatorio para que se emita siempre y sin orden preestablecido.
En TV Caducidad de cache inmediata (para que todos vean lo mismo)…
Streaming integrado en página web
Se
necesita un fichero de definición de secuencias (ASX) por ejemplo el
siguiente (supongo que el punto de publicación con los ficheros de
video se llama /chema y el servidor de streaming está en la dirección
192.168.0.7):
<asx version="3.0">
<title>J.M.Estepa-Streaming</title>
<entry>
<ref href="mms://192.168.0.7/chema/JoseMaria_EstepaMartinez_Peli.wmv" />
<starttime value="00:00:00" />
<duration value="00:00:05" />
</entry>
<entry>
<ref href="mms://192.168.0.7/chema/JoseMaria_EstepaMartinez_IniCorte.wmv" />
</entry>
<entry>
<ref href="mms://192.168.0.7/chema/JoseMaria_EstepaMartinez_Publi.wmv" />
</entry>
<entry>
<ref href="mms://192.168.0.7/chema/JoseMaria_EstepaMartinez_FinCorte.wmv" />
</entry>
<entry>
<ref href="mms://192.168.0.7/chema/JoseMaria_EstepaMartinez_Peli.wmv" />
<starttime value="00:00:04" />
<duration value="00:00:05" />
</entry>
</asx>
Luego se elabora una página web normal con el siguiente código en el lugar donde se pretenda visualizar el video:
<EMBED TYPE="application/x-mplayer2" SRC="./fichero.asx" AUTOSTART=1 WIDTH=320 HEIGHT=284>
Streaming en directo
Basta
con ejecutar windows media encoder y en el asistente indicar que se
desea transmitir un evento en directo.
Elegir el dispositivo de audio y
de video, el puerto de conexión
acceder a mms://IP_EQUIPO:puerto
Servidor sencillo
Con
VLC se puede hacer un sencillo emisor de video. Seleccionar en el
equipo que dispone de la película a emitir
Medio – Abrir archivo
avanzado – Añadir el video deseado – Boton emitir – En dialogo destinos
poner http eligiendo un puerto
3.- Servidor de streaming en linux: icecast
Instalación
sudo apt-get install icecast2
Configuración
sudo nano /etc/icecast2/icecast.xml
Se
debe poner contraseña a los usuarios
- source (productor de contenidos,
reproductor de audio y/ video)
- relay (emisor de otros servidores)
- admin (administrador del servidor)
(pongo aaaaa,bbbbb y cccccc
respectivamente)
En este fichero se puede cambiar el puerto
(8000 por defecto) y los directorios de log (/var/log/icecast2) de
streaming (/usr/share/icecast2/web) y de administración
(/usr/share/icecast2/admin.)
Activar el servidor
sudo nano /etc/default/icecast2
ENABLE=true
Arranque – parada – reinicio del servicio
sudo /etc/init.d/icecast2 start
sudo ufw allow 8000
Gestión del servidor
El
servicio se gestiona a través de una web de gestión tecleando en un
navegador la URL http://IP_SERVIDOR:8000
(el usuario es admin
<cccccc> de acuerdo a lo configurado en icecast.xml)
Generar o copiar los ficheros a transmitir.
Descargar de internet con wget
sudo wget http://upload.wikimedia.org/wikipedia/commons/7/79/Big_Buck_Bunny_small.ogv
http://upload.wikimedia.org/wikipedia/commons/3/3f/Creative_Commons_and_Commerce.ogg
El directorio por defecto donde colocar los recursos es /usr/share/icecast2/web
sudo mv Big_Buck_Bunny_small.ogv /usr/share/icecast2/web
Acceder al recurso desde un navegador (Mozilla, VLC, …). Es un streaming a demanda
http://192.168.1.2:8000/Big_Buck_Bunny_small.ogv
4.- Streaming por difusión en Linux: ices2
Se
instala un reproductor multimedia (ices2) y un codec del formato ogg
(vorbis) para hacer streaming real de audio -Radio grabada- por
internet. El reproductor enviará sus contenidos al servidor de
streaming que, a su vez, enviará contenidos a los clientes
sudo apt-get install ices2 vorbis-tools
Fichero de configuración:
sudo cp /usr/share/doc/ices2/examples/ices-playlist.xml /etc/icecast2/ices-playlist.xml
Modificar las siguientes líneas del fichero ices-playlist.xml:
Directorio de logs (cambiar porque está mal configurado por defecto):
<logpath>/var/log/icecast2</logpath>
Fichero que contiene los nombres de los ficheros multimedia de la lista de reproducción
<param name=”file”>/etc/icecast2/listado.txt</param>
Contraseña del usuario source (la especificada en el fichero icecast.xml)
<source-password>aaaaa</source-password>
Nombre del punto de montaje (para acceder, por ejemplo, así http://IP:8000/musica)
<mount>/musica</mount>
Bajar
los ficheros *.ogg de internet, o transformarlos (creo que funciona
también con ficheros *.mp3). Copiarlos, por ejemplo en el directorio
/etc/icecast2.
Para codificar en ogg basta hacer
sudo oggenc miarchivo.wav
Ices2 se encargará de recodificar los archivos para que icecast reciba un flujo uniforme de bytes
Crear el fichero /etc/icecast2/listado.txt con la ruta absoluta a los ficheros ogg de la lista de reproducción
sudo nano /etc/icecast2/listado.txt
/etc/icecast2/ El_gran_invento.ogg
/etc/icecast2/incertidumbre_v02.ogg
Poner en marcha la lista de reproducción:
sudo ices2 /etc/icecast2/ices-playlist.xml
Ahora
se hace verdadero streaming (el terminal se queda bloqueado mientras
genera información y se la pasa al servidor de streaming, lo que podría
evitar poniendo una & al final de la orden anterior).
Para
acceder desde un navegador o un programa como VLC teclear
http://IP:8000/musica.
Si se corta la producción (kill, cortar el
terminal, …) deja de oírse en cuanto el buffer se vacía.
Se
puede gestionar todo (ver clientes conectados, echarlos, cesar la
fuente de streaming, … desde la Gestión del servidor –ver punto 2 de
esta guia:
http://IP_SERVIDOR:8000 el usuario es admin <cccccc>
Uso de VLC como fuente de streaming
Cualquier
otro programa de emisión puede ser fuente de icecast. Supongamos
que un equipo tiene un video que desea difundir a través de internet.
Para ello se sigue el siguiente proceso:
Abrir VLC – Medio –
Emitir – Seleccionar el archivo de video – Boton Emitir – Siguiente –
Destino: Icecast (Boton Añadir -> poner ip del servidor linux,
puerto=8000, punto de montaje=/partido, usuario=source:aaaaa) –
Trascodificador: Theora+Audio Vorbis(OGG) – Siguiente – Emitir
El
servidor recoge los datos de la fuente (se puede comprobar con el
administrador de icecast) y se visualiza en un cliente con algo
parecido a http://IP_SERVIDOR:8000/partido
TAREAS PENDIENTES:
- Transmisión de un evento en directo con el asistente de Windows
Media Encode. ¿Se necesita una tarjeta firewire?
- Stream de audio en directo: necesidades
- Stream de video
- Visualizar pantalla profesor en pantallas alumnos (aulas multimedia)
5.- VoIP
Consiste en usar una red IP para realizar conversaciones telefónicas. Existen 2 posibilidades de uso:
- Utilizar un servidor-conmutador externo en el que abrimos las
cuentas de, al menos, los 2 interlocutores (skipe, Hotmail, …)
- Realizar la instalación de una centralita digital (PBX) y de dos
o más hardphones (dispositivos hard con una IP, como los teléfonos
normales) o softphones (programas que simulan los terminales
telefónicos)
Instalación y manejo de Skipe
Sin problemas. Crear 2 cuentas y realizar las llamadas necesarias
Instalación de una PBX y softphones en windows
Descargar ambos programas de www.3cx.com e instalar de acuerdo a las directrices del libro de texto
Instalación de Asterisk en una máquina que hace de centralita digital
Asterisk
es un servicio linux que realiza las funciones de PBX o centralita
avanzada. Puede instalarse en el servidor Linux, pero es más fácil
utilizar una máquina vieja para instalar un sistema operativo más todos
los servicios necesarios. Para ello descargar la imagen ISO en 32 ó 64
bits de www.asterisk.org/downloads después proceder a la instalación
desde el CD eligiendo la opción de instalar con Asterisk-gui (gestión
mediante página web)
Configurar la
red (IP, máscara, puerta de enlace y DNS) de forma que esté en la misma
subred que las máquinas de nuestra LAN
Acceder a la gestión de Asterisk con http://IP_CENTRALITA:8088
Poner como usuario admin. <password>. La primera vez pide el
cambio de contraseña. Hacerlo y se puede proceder a la configuración de
la PBX
Funciona con explorer, no funciona con Firefox. Acceso con admin <pwd>
Crear un DialPlan - new calling rule - Marcar LocalAreaCode
Crear los usuarios:
- Extensión: 6000
- CallerIDName: Jose
- CallerIDNumber: 6000
- SIP+AIX
- Password: Jose
Configurar un softphone, por ejemplo el de 3CX
- Nombre Cuenta: Jose
- Caller ID: Jose
- Extensión: 6000
- ID: 6000
- Password: Jose
- I am in the Office: IP del servidor de Asterisk