How To Watch TV over SIP and WebRTC

Based on SIPWISE, now we can use open source software for watch TV over Internet, using SIP and WebRTC, like live streaming and video-on-demand.

Streaming media to a browser via WebRTC requires you to deliver an audio stream encoded with Opus (or G711, which is not really a viable option due to the quality), and a video stream encoded with VP8 (or probably H264 in the future), both encrypted via DTLS-SRTP. So on one hand you need a signalling server negotiating the audio and video codecs, and on the other hand you need a media engine, transcoding the streams to the requested codecs and encrypting it with the keys, which are negotiated in-band within the media stream.

Now the idea is to be able to simply call a subscriber (e.g. stream@example.org) via SIP and get the content streamed to your client.
Since we’ve quite some tools at hand at Sipwise, the choice is fairly simple, and the architecture of our WebRTC streaming platform is going to look like this:
Learn more on SIPWISE blog post.

Desarrollando, paso a paso, app para Google Chromecast

Hace unos días comentábamos acerca de la gran puerta que Google nos abre, al permitir que nuestras aplicaciones tengan soporte para Chromecast. Pues, esta vez, desarrollamos, en vivo y paso a paso, una aplicación web que conecta directamente con nuestro televisor.

En el marco de nuestros GeekHours, Diego Barahona nos acompaña y nos enseña. ¡Que disfruten el video!

¿De Dónde Saco el Dinero para Mi Proyecto?

Como emprendedores principantes, alguna vez nos hemos preguntado, al iniciar un proyecto ” ¿de dónde saco el dinero?

Nuestros amigos de SageOne han diseñado una infografía de todas las etapas y posibilidades que tenemos todos los emprendedores para financiar nuestros proyectos, desde el momento de concepción de la idea.

¡Que nada nos detenga, emprendedores!

Comparte con tus colegas 🙂

[1 Tutorial Django] Preparando el ambiente de desarrollo

Django es el poderoso framework para desarrollar para la web que usa el grandioso y entendible lenguaje de programación Python. Se dice que Django es perfecto para los desarrolladores perfeccionistas que no tiene mucho tiempo.

Para empezar, debemos tener Python y Django instalado en nuestro equipo. Yo, actualmente estoy trabajando desde mi laptop con Debian, así que voy a hacer referencia a Linux como SO. Empezamos.

Instalando Python
Django trabaja únicamente con la versión 2.6 y 2.7 de Python.

Todas las distribuciones Linux vienen con la última versión de Python debidamente instalada y configurada, lista para usar. Sin embargo, desde debian o ubuntu puedes usar el comando 

sudo apt-get install python

Si estás desde Windows puedes ingresar al sitio web oficial y descargar el MSI que le permitirá instalar el lenguaje en un par de pasos. No olvide que debe agregar la varialbe de entorno para poder usar el comando python en la consola.

Para verificar que la versión que tienes instalado, debe ingresar a la terminal y escribir el comando python. Esto desplegará algo parecido a esto:

Instalando Django
Ya hemos hehco el 50% del trabajo. Ahora vamos a instalar Django en nuestro sistema. Para esto, debemos descargar el paquete, y podemos hacerlo directamente desde el sitio web o clonado el repositorio “https://github.com/django/django.git”. Más adelante escribiremos otro tutorial acerca de cómo clonar repositorios.
Una vez descargado y descomprimido, debemos abrir terminal y dirigirnos hasta la carpeta donde pusimos Django y escribir:  
sudo python setup.py install

Esto instalará en el sistema todo lo que necesitamos para iniciar. Si tiene alguna pregunta, por favor, deja aquí un comentario con la duda y entre todos ayudaremos.

Listo. Esto es todo. Ahora sigue lo mejor.

Quien tenga los datos, ordenados, tiene el poder

Estoy seguro que alguna vez ha pasado en medio de los pasillos de su supermercado preferido y ha dicho “¡este shampoo es el que yo estaba necesitando!”, “¡es tipo de cocina es el que estaba buscando!”, “¡qué rico que está este refreso nuevo!”, o alguna otra frase similar. Esto es neuromarketing.

Existen hackers detrás de todo esto, que están, todos los días, analizando lo que nosotros estamos hablando en redes sociales, blogs o en cualquier otro sitio en Internet, lo leen, lo analizan y nos fabrican cosas que nosotros podemos amar y comprar. Lo mismo sucede cuando un nuevo ritmo se vuelve viral.

El miércoles pasado, estuve conversando con Bryan, quien ha estudiado por más de 1 años el tema “minería de datos”, con los lenguales de programación más poderosos. En el video de abajo, Bryan explica muy claramente cada uno de los pasos o factores que debemos considerar antes de minar, inclusive, extrae datos como ejemplo de Twitter, Facebook y de un sitio web estático.

Quien tenga los datos, tiene el poder.

Consultar y Enviar Tweets Desde Un Script en Python

El miércoles pasado, en nuestro GeekHour, hablamos acerca de lo fácil que usar la API de Twitter para crear aplicaciones modernas, que interactúen directamente con los casi 400 millones de usuarios de todo el mundo.

En el video de abajo se explica con mayores detalles, pero lo primero que deben hacer es registrar la aplicación en el sitio de aplicaciones de Twitter, esto les dará las credenciales (tokens y secrets) necesarias para poder acceder a los datos. Por defecto, una aplicación registrada SOLO PUEDE LEER del API, entonces no olviden cambiar los permisos a su conveniencia.

El módulo twitter para python pueden bajarlo de aquí, o simplemente desde consola escriban sudo pip install twitter.

Bueno, si tienen alguna duda, pueden dejarme un comentario y con muchísimo gusto les ayudo.

No olviden compartir con sus colegas 🙂

Comprobar consumo de Internet desde consola Linux

Hey geeks! Esta vez vengo a hablarles acerca de una herramienta importantísima. Se trata de iptraf, la cual funciona para medir el consumo de ancho de banda de un equipo Linux.

iptraf identifica paquetes TCP, UDP, ICPM. Es bastante completo y funciona perfecto para cuando estamos en un equipo que únicamente cuando con consola.

Para instalarlo desde Debian/Ubuntu deben hacer en la terminal:  sudo apt-get install iptraf.  Si lo quieren instalar en Centos, deben escribir  yum install iptraf.

Espero que les sirva y los saque de apuros.

Creando diagramas con JointJS

JointJS es una librería Javascript para visualizar y administrar diagramas, formas y gráficos. Puede ser usado como herramienta de diagramación interactiva.

JointJS cumple el patrón MVC, lo que hace fácil extender a muchos más módulos.

Esta librería es soportada por la mayoría de lo navegadores modernos como Google Chrome (móvil también), Firefox, Safari, IE 9+ y Opera 15+.

Se pueden mencionar muchas características que hacen que JointJS sea una librería poderosa, sin embargo, solo destacaremos estas:

  • elementos básicos de diagrama (líneas, círculos, elipse, texto, imagen, ruta)
  • elementos de diagrama listos para usar, como diagramas ERD, Org chart, FSA, UML, PN, DEVS, …
  • links personalizables
  • diagramas jerarquicos
  • serializacion/deserializacion a/desde JSON
  • zoom in/out
  • soporte “touch”
  • animaciones
  • filtros y gradientes
  • soporte con NodeJS
  • plugin awareness
  • aquirectura MVC

Aquí les dejo estas capturas de pantalla, pero también podés descargar la librería y jugar usted mismo, o probar las demos online.

Chromecast nos abre las puertas

Chromecast es un dispotivo HDMI, de Google, que permite llevar el audio y el video de Neflix, Hulu, Google Play y del navegador Chrome directamente hasta el televisor o cualquier otra pantalla que permite lectura HDMI.

Chromecast tiene un valor USD35, y por ese valor, vino a desplazar por completo los SmartTV de Samsung o incluso Apple TV.

Hoy Google ha anunciado que, a partir de hoy, cualquier desarrollador puede crear sus propias aplicaciones web o móviles que interactúen directamente con Chromecast. Esto, posiblemente, abra nuevas formas de entretenimiento y de comunicación, tanto para la casa como para la oficina.

De aqui en adelante nos corresponde a los desarrolladores hacer usar nuestra imaginación y crear cosas que hace 5 meses eran impensables.

Si quieren, pueden darle un vistazo a la documentación oficial, descargar el SDK y empezar a jugar. Nosotros, sin duda, empezaremos a jugar desde hoy. Nos gustaría que nos mantengas informado de su próximo gran proyecto.

¿Problemas de codificación en Django?

Cuando Python/Django se topa con problemas para compilar algunos de los archivos que contienen el código por problemas de codificación, es bastante simple solucionarlo, así que relax.

Como ven en el mensaje de error de arriba, se detecta un problema de codificación en el archivo views.py, específicamente en la línea 36. Es muy problema que exista un caracter que no sea reconocido por ASCII, como dice el mensaje de error.

Simplemente se debe insertar la siguiente línea de código en el archivo que Python lo logra compilar. Es importante que esta línea sea la primera en el archivo:

# -*- coding: utf-8 -*-

Listo. Problema solucionado.