lunes, 24 de diciembre de 2007

VLC Mozilla-plugin

Gracias al plugin, VLC puede ser embebido en un web-browser. En particular Mozilla, Firefox y Safari (MacOS).

Los pasos que se muestran a continuacion son mencionados en este link.

Primero se debe instalar el plugin:

# apt-get update
# apt-get install mozilla-plugin-vlc



Se toman como base los ejemplos que aparecen en el link anterior obteniendose como resultado lo que se muestra a continuacion.



Se debe mencionar que el cuadro azul corresponde a la imagen de video que esta siendo transmitida, solo que el capturador de imagenes no supo reconocer.

Esto puede ser la base para el servicio de Video on Demand, en la cual , agregando algunas funciones, se puede avanzar, retroceder, pausar y reanudar el video cuando uno quiera.


Ahora se ha realizado un streaming a una direccion udp, la cual el browser reconoce y puede ver perfectamente.

En la figura se observan 2 cuadros, uno azul, el que debiera mostrar el video que esta siendo volcado a la red, y otro que muestra el video obtenido a traves del plugin.



La linea de comandos utilizada para realizar el streaming de video es "vlc \[A-E\]_BECK_01.avi --sout '#duplicate{dst=display,dst=std{access=udp,dst=239.255.255.17}}'"

Se debe mencionar que en codigo de la pagina el target corresponde a la direccion udp en la cual se transmite el video. Siendo esta el "canal" por el cual se puede ver la transmision.

Finalmente, realizando algunas pruebas con la webcam, se ha logrado un resultado satisfactorio, es decir, al clickear el link que activa la reporduccion se aprecia el origen de una "video-conferencia".

domingo, 16 de diciembre de 2007

Avance VLC

Señores y señoritas

Revisando Los capítulos 3 y 4 del HOW-TO de VLC he realizado mi primera transmisión a través de líneas de comando. Algo sencillo, tan solo un mp3, pero que sirve para empezar a entender la lógica de este poderoso SW.

En la figura se observan 2 VLC media player, el superior muestra el tiempo transcurrido de la canción (con su barra correspondiente) y nombre de la canción. En cambio el VLC inferior, que actua como receptor, muestra una dirección udp la cual corresponde a la dirección asignada al emisor de la señal para efectuar la transmisión.

La línea de comandos utilizada es la siguiente:

italo@pc:~$ vlc Desktop/Tiny\ Music...Songs\ From\ The\ Vatican\ Gift\ Shop/04\ Big\ Bang\ Baby.mp3 --sout '#transcode{acodec=mpga,ab=128}:standard{access=udp,dst=239.255.255.17}'

Algo que se me estaba olvidando mencionar es que el receptor también debe ser configurado, esta vez de manera directa (no se si se pueda configrar la recepción a través de un terminal, eso se verá mas adelante). Esto se hace en "Archivo -> Abrir aparato de captura -> Red -> UDP/RTP multiemisión -> dirección 239.255.255.17". La dirección es la definida en la línea de comando para el transmisor.

Se ha logrado realizar la transmisión en vivo, utilizando una webcam "Logitech, Inc. QuickCam Express", el comando utilizado es el siguiente: " vlc -V X11 v4l:/dev/video0:size=320x240 --sout "#transcode{vcodec=WMV2, vb=1024, scale = 1}:duplicate{dst = display,dst = standard {access = udp,dst=239.255.255.17 ,mux = ts} }" -vvv"

En un futuro próximo se espera tener una base del sistema de VoD, junto con una mayor interiorización de los codecs a utilizar.

/ Domingo 23 /

Siguiendo algunas indicaciones encontradas en este link, se logra reproducir un archivo mp3 desde un dvd con la siguiente linea de comandos : "vlc ccda:///media/cdrom-1/Soundgarden/\(1991\)\ Badmotorfinger/04\ -\ Soundgarden\ -\ Jesus\ Christ\ Pose.mp3"


Saludos XD

viernes, 14 de diciembre de 2007

SIP (Session Initiation Protocol)

Ya saben.... cualquier comentario se agradece :P

SIP es un protocolo de control de la capa de aplicación, usado para crear, modificar y terminar sesiones con uno o más participantes.

Se ha hablado de sesiones, pero ¿Qué es una sesión?

Según el RFC3261 (uno de los RFC's relacionados con las especificaciones de SIP) "Una sesión es cinsiderada un intercambio de datos entre una agrupación de participantes". Algunos ejemplos de sesión son las llamadas telefónicas hechas a través de la red (Internet), distribución de multimedia (audio y video), videoconferencias y algunos video juegos entre otros.

No obstante, SIP no es el único protocolo que los dispositivos de comunicación utilizarán. El propósito actual de SIP es hacer posible la comunicación. La comunicación en sí debe ser lograda por otros medios. Los protocolos más utilizados junto con SIP son RTP (Real-Time Transport Protocol) y SDP (Session Description Protocol). RTP se usa para transportar los datos multimedia en tiempo real (incluyendo audio, video y texto); el protocolo permite cidificar y dividir los datos en paquetes y transportar dichos paquetes a través de Internet.

Por otro lado, SDP se utiliza para describir y codificar las capacidades de los participantes de la sesión. Esta descripción se utiliza para negociar las características de la sesión a fin de que todos los dispositivos puedan acordar un conjunto común de capacidades de soporte y participar en la sesión.

Las invitaciones SIP son utilizadas para crear sesiones, llevar las descripciones de la sesión que permititirá a los participantes ponerse de acuerdo sobre un conjunto de medios compatibles.

SIP también provee una función de registro que permite a los usuarios actualizar sus ubicaciones actuales para el uso de servidores proxy. SIP se ejecuta en la parte superior de diferentes protocolos de transporte.

Lectura recomendada: http://ftp.iptel.org/pub/ser/0.8.12/doc/sip_introduction/sip_introduction.pdf

SIP_architecture.

(Referencia: "3Play Final Report As part of Communication Systems Design 2004" [3p_doc_fr_1.0.pdf] )

miércoles, 12 de diciembre de 2007

Resumen Memoria IPTV - Pablo Orellana

En el presente documento pretendo resumir lo que entendí sobre el tema de memoria de Pablo Orellana.

Hay 2 formas de leer el documento, bajando archivo.doc (link archivo).
O simplemente leer lo que viene a continuación.

Todo comentario será bien recibido.

El proyecto de IPTV ( Televisión IP ) consiste en la implementación de Video on Demand ( VoD ), Agendado y en Tiempo Real. Utilizando ruteo unicast o multicast dependiendo del caso.

Utiliza el software libre VLC media player, el que en su última actualización se puede adelantar y retroceder VoD sin mayores problemas de inestabilidad por re-sincronización.

Unicast: Es una técnica de transmisión en la cual un servidor con N clientes ( del mismo servicio) genera N señales a ser transmitidas, las que a través de los routers se direccionan hasta llegar a destino ( los clientes ).

Multicast: Otra técnica de transmisión, consiste en que un servidor con N clientes (del mismo servicio) genera una señal madre, la que se replica en los dispositivos (encargados de la replicación) la cantidad de caminos tenga que proveer, así sucesivamente hasta entregar el servicio a todos los clientes.

VoD: Este servicio es proporcionado a un cliente de manera única, el cual puede pausar, avanzar y/o retroceder el streaming de video a su antojo, el tipo de aplicación implica la implementación en unicast. A modo de comentario, se realizó una prueba en casa de Pablo con la nueva versión de VLC obteniéndose una mejoría en la calidad de la imagen, la cual no presentaba deterioros luego de avanzar o retroceder el video, confirmando que el problema era un asunto del software libre.

Agendado: El servicio de video agendado o schedule que se implementó en la memoria, es un servicio del tipo PPV (pay per view), el cual a una hora y fecha predeterminada genera el streaming de VoD o Real Time (película o evento en directo). El tipo de tecnología a utilizar puede ser unicast o multicast, dependiendo del caso.

Tiempo Real: Esto se refiere a transmitir información generada en el momento gracias a una webcam, a la cual se le puede agregar audio, generando así lo que se conoce como video conferencia. Este servicio puede utilizar la tecnología unicast o multicast.

Puntos:

* ) Económico: El IPTV se considera económico pues se implementa en base a software libre ( VLC ), lo que claramente disminuye los costos, a pesar de lo que se pudiera pensar en un principio, la calidad y confiabilidad entregada por estos softwares es tal que se logran altos estándares de servicio, al menos en las pruebas realizadas.

* ) Docente: El carácter docente del tema en cuestión se refleja en las experiencias prácticas y demostrativas mencionadas en la memoria, las que se pueden llevar a cabo sin mayores problemas con los elementos necesarios.

* ) Seguridad de Acceso: Se recomienda la instalación de un Firewall de tal manera que niegue el tráfico entrante exceptuando puertos específicos que permiten la comunicación y transmisión de los datos de la aplicación. Cabe mencionar que al no ser un tópico estudiado ni desarrollado en la memoria, se deja la ventana abierta a futuras investigaciones.

* ) Escalable: El servicio es escalable hasta la capacidad que soporte el software libre utilizado (VLC), como también del ancho de banda asociado. En el caso de utilizar un software comercial se espera una capacidad mucho mayor, lo cual permitiría una mayor escalabilidad. Como en el párrafo anterior, este no fue un punto relevante en la memoria, dejando a futuro la posibilidad de investigar sobre el tema.

* ) Flexible: Se puede mencionar que el proyecto IPTV se considera flexible debido a la facilidad de acceso que pueden tener los posibles usuarios, esto pues deben contar con un computador, conexión a Internet y los softwares libres mencionados en la memoria.

* ) Acceso:

Usuario: Portal web, o directamente el software correspondiente a la aplicación (VLC).

Administrador: La administración del servicio puede ser realizada en forma directa o remota mediante líneas de comando o a través de una interfaz web.


Avance

Se ha comenzado a leer el libro sobre IMS (The IMS IP Multimedia Concepts And Services In The Mobile Domain) que se encuentra en la pagina de archivos del toip.

Se han empezado a interiorizar ciertos conceptos, como por ejemplo el que IMS es la evolución del protocolo SIP (Session Initiation Protocol), protocolo desarrollado por el IETF.

Junto con esto se ha realizado el proceso de implementación de la plataforma IPTV tomando como referencia la memoria de Pablo Orellana. El software utillizado es VLC videolan.

Hasta el momento se instaló sin problemas, y se ha tratado infructuosamente de realizar streaming de audio y video. Para esto se consultará el HOW-TO, y en particular los capítulos 3 y 4.