Entradas

Mostrando las entradas de 2017

WebRTC para transmisión de mediastreaming.

Qué es WebRTC? WebRTC es un proyecto abierto y gratuito que ofrece a los navegadores y aplicaciones móviles capacidades de comunicación en tiempo real (RTC) a través de API simples. Es una tecnología relativamente nueva que pretende cambiar el Internet  pero que ya es ampliamente usado por Mozilla,  OpenTok de Telefonica, entre muchos mas. Las ventajas de usar estas tecnologias, es que evitamos usar plugins o extensiones en navegadores para usar Video y telecomunicaciones en tiempo real.  Cómo funciona? Los componentes  principales del WebRTC son: getUserMedia, que permite a un navegador web acceder a la cámara y el micrófono PeerConnection, que establece las llamadas de audio / vídeo DataChannels, que permiten a los navegadores a compartir datos a través de peer-to-peer. Característica WebRTC Señalización Sin definir Medios RTP/RTCP Codecs de voz G.711 y Opus Codecs de vídeo VP8 Seguridad de los medios SRTP Utilizando NodeJS se puede crear un servidor

Mosquito con WS sobre apache2

Instalar Mosquitto con Websockets Primero debemos instalar mosquitto con compatibilidad para websockets, en esta entrada esta enfocada para Ubuntu, para puedes consultar esta entrada para opensuse . Instalando dependencias. $ sudo apt-get update $ sudo apt-get install build-essential python quilt devscripts python-setuptools libssl-dev cmake libc-ares-dev uuid-dev Instalando libwebsockets $ wget https://github.com/warmcat/libwebsockets/archive/v1.3-chrome37-firefox30.tar.gz $ tar zxvf v1.3-chrome37-firefox30.tar.gz $ cd libwebsockets/ $ mkdir build $ cd build/ $ sudo cmake .. -DOPENSSL_ROOT_DIR=/usr/bin/openssl $ sudo make $ sudo make install Descarga el código de mosquitto. $ wget http://mosquitto.org/files/source/mosquitto-1.4.2.tar.gz $ tar zxvf mosquitto-1.4.2.tar.gz $ cd mosquitto-1.4.2 Edita el archivo config.mk cambiando la siguiente linea: WITH_WEBSOCKETS:=no A WITH_WEBSOCKETS:=yes $ sudo make $ sudo mak

Llamando Java desde C

Una de las cosas interesantes que puedes hacer con Java es la posibilidad de utilizar JNI (Java Native Interface) que nos permite crear librerías desarrolladas en C especificas para un Hardware o arquitectura y utilizarlas desde la JVM, para mejorar la eficiencia de nuestros programas cuando se trata de poder de procesamiento. Pero en esta ocasión intentaremos algo un poco distinto. Que necesitamos: Conocimiento en lenguaje C Un entorno de desarrollo. gcc. JDK Un editor como VIM. Paciencia para no terminar destruyendo la maquina :) Oracle ya cuenta con una documentación realmente muy bien explicada, ademas de que la API es intuitiva, mas si anteriormente haz programado en Java, la puedes consultar en el siguiente enlace: http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/jniTOC.html Primero necesitaremos la libreria jni.h que debemos buscar, si tienes una maquina de 64 bits se encontrara en /usr/lib/jvm/java-7-oracle/include/ Ahora que ya tenemos lo