Qonfluo, el software de streaming de communia

Si antes de ayer hablaba de  la presentación del curso 14-15 , y comentaba la importancia de revertir en nuestras comunidades las producciones pasándolas al procomún. Esta entrada es para comentar una nueva que hacía tiempo que tenía ganas de realizar y que ha sido posible al poder liberar tiempo y poder abrir el cajón de sastre de proyectos que se quedaron en pausa. El proyecto es Qonfluo y pretende hacer fácil los streamings los usuarios que eligen software libre.

Historia y precedentes:

Communia  siempre ha hecho streamings , de hecho antes que existiera ya hacíamos con Post Scriptum Radio, una radio que funcionaba stremeando a Giss.tv. Ya entonces empecé algunos programas destinados a facilitar tanto el directo como la programación automatizada de la radio, muy verdes y visto en perspectiva con muchas carencias y poco estilo, pero me sirvió para introducirme en las librerías Qt4 para Python ( KPsrLive  [ Documentación ] y  Kjingle  [ Documentación ]) .

Más adelante, con la promesa que abría Nokia con el N900(teléfono abierto con un sistema basado en debian), también hice un programa que permitía hacer streaming hacia un servidor Icecast: se llamó QIce . El cual sirvió de base para hacer la versión de escritorio, el  QIce 2 . Pero este programa es extremadamente limitado y estático en cuanto a la utilización de hardware diverso. Además se basa en gstreamer-0.10.

A nivel profesional, el Qice nunca fue rival de la línea de comandos, y hasta el momento los streamings  los hacíamos desde consola , haciendo un loopback del dispositivo de vídeo (v4l2loopback) con tuberías Gstreamer-0.10 que transmitían hacia Bambuser vía RTMP, Icecast-Giss.tv, y paralelamente grababan. Está  documentado aquí .

La solución era extremadamente flexible, demasiado, ya que cuando te encontrabas en medio de un streaming y algo iba mal, revisar largas tuberías no era una buena experiencia ...

Así hacía tiempo que tenía pendiente de hacer un programa que permitiera hacer streamings de manera flexible y que heredara parte de la potencia de la modularidad de gstreamer, todo ello sin que no fuera tanto estático como un QIce, que sólo funcionaba para hardwares concretos.

De las cenizas:

Poco a poco nos encontrábamos que teníamos que ir mutilando los servicios, hasta que debido al cambio de política de Bambuser y hacer premium el servicio de RTMP, nos vimos obligados a hacer streaming vía Flash. Pasábamos de la flexibilidad absoluta de Gstreamer a la rigidez de una tecnología que todo el mundo quiere borrar del mapa, la cual es propietaria y ya ha anunciado que no se desarrollará más para GNU / Linux. 

La situación era incómodo y poco coherente por una cooperativa como communia:  Tener que ofrecer servicios tanto limitados y con tan pocas garantías a quien contaba con nosotros era poco profesional y llegamos al punto de rechazar alguna demanda.

La necesidad de un programa pensado para hacer streamings tipo Adobe FMLE en GNU / Linux, era para nosotros una urgencia, y si no existía, se tenía que hacer.

Ahora está lista una versión más o menos estable. 

Su mantenimiento y desarrollo no está garantizado ni planificado, ya que por el momento sólo hay un contribuidor (me), pero seguro que con las necesidades de Communia y su adopción por  hacer los streamings  a partir de ahora, se le dedicará todo el afecto que le haga falta. También estoy abierto a propuestas que se pueden hacer vía contacto de  communia  o vía  Github .

Lo que seguro que tendremos en breve es una documentación para usuarios no técnicos en catalán / castellano, como resultado de las  formaciones  (a un público no hacker) que haremos para hacer streamings.

Las tecnologías que utiliza son de las más recientes a día de hoy:

Debido a ser tecnologías relativamente nuevas, he tenido algunas dificultades para encontrar documentación porque no hay mucho escrito en cuanto a utilizar junto Qt5 y Gstreamer-1.0 (al contrario de lo que ocurre con Gtk). El porqué he usado Qt5 es porque es el UI framework que he usado más hasta el momento, y abre la puerta a vistas QML (quien sabe si algún día toda la GUI) como el que se utiliza para graficar el consumo de red .

Gstreamer, porque es la mejor manera de planificar flujos audiovisuales actualment.Depèn de librerías  ugly  y  bad  de gstreamer,

Python3 porque es el lenguaje que más he usado para hacer aplicaciones de escritorio.

Como es habitual en proyectos FLOSS, debo advertir que el programa está hecho para un uso propio, y no tiene porque funcionar-te, no ofrezco ninguna garantía, y no tengo ningún compromiso más que lo que mis motivaciones personales y lo que mi impenitente libre albedrío me dicta. Si crees que puedes colaborar puedes contactar eres libre de hacerlo vía contacto de  communia  o vía  Github .

 

Funcionalidades:

Con Qonfluo puedes:

  • Emitir hacia cualquier servidor de RTMP (Bambuser, youtube, dailymotion ...) con h264.
  • Grabar en Vp8, MP2 o h264.
  • Mezcla básica entre diferentes dispositivos.
  • Sobreponer Imágenes.
  • Sobreponer Texto.
  • Monitorización de mezcla.

 

Futuro:

Como he dicho no hay planificado ningún desarrollo. Pero una de las cosas que falta son:

  • P2P: permitir tener entradas recibidas desde el mismo Qonfluo.
  • Nuevos protocolos.
  • UDP multicast sería una opción.
  • Decidir qué entradas de vídeo usar.
  • Control de la entrada de audio, ahora se puede utilizar pavucontrol (el gestor de sonido de pulseaudio.
  • Plugin de streaming hacia Icecast.
  • Documentación.

 

Puedes descargarlo en: https://github.com/aleixq/Qonfluo , las instrucciones para instalar y ejecutarlo están allí.

Finalmente tengo que dar las gracias a  Bambuser  para ofrecernos cuentas Premium para poder hacer el desarrollo de este proyecto y así poder emitir un servidor RTMP potente. Es conocido que Bambuser apuesta por el periodismo de espíritu crítico y durante las primaveras árabes han ofrecido sus servicios gratuitamente a videobloggers, lo mismo ha pasado aquí con los videobloggers del 15M. Si haces periodismo crítico y crees que se debe conocer lo qué dices no dudes en contactar.

Youtube, DailyMotion y Ustream también ofrecen servicios de RTMP. También te puedes montar  tu propio servidor .

Add new comment

The content of this field is kept private and will not be shown publicly.

CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.