View this PageEdit this PageUploads to this PageVersions of this PageHomeRecent ChangesSearchHelp Guide

Mostrar vídeo de una cámara

Estado actual a 19/07/2018

Actualmente, utilizando la cámara Bosch Flexidome IP 5000 que tenemos en pruebas en la oficina, la app ya es capaz de mostrar:
  • Una “ventana” pequeña con imágenes jpg de la cámara que se actualizan cada 5 segundos (a través de protocolo http).
  • Vídeo en tiempo real de la cámara en la parte derecha de la app (plano), a través de protocolo rtsp.

Para mostrar el vídeo de la cámara estoy utilizando una compilación de la librería libVLC realizada por un desarrollador (mrmaffen.de) que es la que mejor calidad y menor latencia ofrece de todas las que he probado. Esta librería tiene licencia LGPLv2.1, sin embargo la compilación que estoy utilizando tiene algunos componentes con licencia GPL que no podríamos utilizar comercialmente, según me ha indicado Darío. Por tanto, sería necesario realizar una compilación propia de la librería que sólo utilizase componentes LGPL para no tener problemas de licencia. Darío me ha comentado que la compilación de la librería es bastante complicado de realizar pero que se podría hacer. Él se ha ofrecido a hacerlo, pero si lo consideráis podría intentarlo yo.

Antes de esta librería probé estas otras opciones, pero ninguna ofrece la calidad de libVLC:

  • Visor de vídeo nativo de Android. Gratuito. Tiene una latencia de 10 segundos o más para el vídeo rtsp lo cual no es viable.
  • WebView: Sería posible ver el vídeo por webview (http) pero el usuario tendría que pulsar “play” para que el vídeo comenzase, no es posible hacer que el vídeo comience automáticamente. Esto hace que la usabilidad no sea muy buena. Por eso, lo descarté.
  • YUNEEC rtsp client (BSD-3) . Calidad inferior a libVLC con algo más de retardo.
  • Potterhsu Rtspclient (MIT). Tiene algunos problemas que hace que no funcione muy bien.

A parte de estas librerías gratuitas, existen otras opciones de pago que no he probado pero que se podrían estudiar si hiciera falta aunque son bastante caras y en principio con libVLC debería ser suficiente.

Link to this Page