Autor Tema: como subir imagen de webcam  (Leído 13938 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Miguel Angel

  • Newbie
  • *
  • Mensajes: 13
    • Ver Perfil
  • Estación: Unicorn-ESCAT0800000008800I
como subir imagen de webcam
« en: 29 de Febrero del 2020, 20:53:42 pm »
Hola

He montado una VStarcam y he conseguido que iSpy capture una imagan cada 15 minutos en jpg y la guarde en una carpeta. He dado de alta la webcam en wunderground pero no me reconoce la key que me han proporcionado, y tampoco responden a los correos. Ahora ya no hay ni correo para enviar consultas.

He leído el tutorial y tengo una dirección que es accesible desde internet pero que emite en streaming, directamente la imagen de la cámara a través de iSpy. Pero al conectarte desde el exterior aparecen los datos de la ruta en los que aparece el usuario y password sobreimpresos.

Así que supongo que la solución es subir la imagen a la nube. El problema es que no se donde puedo subir la imagen.jpg por ftp para que sea capturada desde Meteoclimatic.

Me podéis orientar de como hacerlo? y si habéis tenido el problema de la key para wunderground, que sería lo más fácil, lo habéis podido solucionar?

Muchas gracias

Desconectado Ubik

  • Administrator
  • Hero Member
  • ******
  • Mensajes: 2.288
    • Ver Perfil
  • Estación: Villavieja de Yeltes-SA102 ESCYL3700000037260A
Re:como subir imagen de webcam
« Respuesta #1 en: 29 de Febrero del 2020, 21:01:50 pm »
Con ISpy es fácil hacer capturas y subir imágenes a cualquir alojamiento.

Necesitas un alojamiento, o Hosting, como lo quieras llamar. Los servicios "en la nube" no tengo muy claro que admitan peticiones de URL para que el robot se descargue la imagen.

Estoy preparando una pequeña guía para subir las imágenes a Meteoclimatic, tanto con este programa como con Blue Iris que es el que estoy usando yo.

A ver si lo puedo terminar y lo subo.

Tanto uno como el otro permiten hacer capturas de imagen, cambiando el nombre de la misma, par que siempre sea el mismo, y subir vía FTP la imagen a nuestro servidor.

Voy a ponerme con ello, a ver si mañana puedo dejar subidas las dos guías
« Última modificación: 29 de Febrero del 2020, 21:19:23 pm por Ubik »
                         
Davis pro2+cumulus+W7+Lenovo
 
Web http://www.meteovillavieja.es

casacota

  • Visitante
Re:como subir imagen de webcam
« Respuesta #2 en: 01 de Marzo del 2020, 00:57:09 am »
La cámaras en Wunderground van actualmente mal, o directamente no se muestran. Incluso cámaras que han funcionado durante años. Es uno de los actuales problemas conocidos de esta red, desde que es propiedad de IBM.

Desconectado Miguel Angel

  • Newbie
  • *
  • Mensajes: 13
    • Ver Perfil
  • Estación: Unicorn-ESCAT0800000008800I
Re:como subir imagen de webcam
« Respuesta #3 en: 01 de Marzo del 2020, 12:12:45 pm »
Muchas gracias

Quedo a la espera de la guía.

Saludos

Desconectado zapal

  • Sr. Member
  • ****
  • Mensajes: 331
    • Ver Perfil
    • EL tiempo en los locos
  • Estación: torrevieja-los locos (ESPVA0300000003183A)
Re:como subir imagen de webcam
« Respuesta #4 en: 24 de Mayo del 2020, 18:05:58 pm »
Hoy he ayudado a un compañero del foro a poner una webcam ip en marcha. Estas camaras (dahua/hickvision), tienen la opción de subir a un server ftp una captura de la imagen, dentro de un horario determinado y con un intervalo dado. El problema es que la imagen que sube tiene un nombre distinto cada vez.

Cuando se quieren hacer "virguerias" y poner logotipos, temperaturas etc en esa imagen pues o bien se tienen unos conocimientos medio/avanzados de programación en algun lenguaje (php por ejemplo) o empleamos un software tipo blueiris para capturar un fujo de video, y generar esas capturas personalizadas.

En otras ocasiones, nos basta con que en la foto aparezca la fecha y algun nombre tipo... el tiempo en... , sin mas pretensiones que generar esa pequeña marca de agua que la propia camara es capaz de generar,pero  no nos vale el pequeño cliente ftp que lleva la camara embebido.

Una de las soluciones para dar fin a este pequeño problema (seguro que hay mas), es utilizar un ejecutable llamado wget. Funciona tanto en windows como en linux. Con este programa lo que hacemos es descargar archivos web via consola, o imagenes que esten en una web  (explicado a groso modo).

Para que nos es util ? pues si tenemos una web cam dentro de nuestra red local y una rpi con weewx por ejemplo, podemos crear un pequeño script que ejecute wget contra la pagina de la web cam, nos descargue una captura o snapshot de esta, con un nombre concreto y subir este archivo a nuestro server. De esta forma ya tenemos un archivo de imagen, con el mismo nombre siempre, en nuestro server para poder enlazarlo desde una web o similar.
Hay un pequeño problema, y es que wget no machaca un archivo con el mismo nombre (o yo no he sabido hacerlo nunca), con lo que en el script habra que acordarse de borrar la imagen que previamente hemos descargado.

Si metemos este script en cron (linux) o en el programador de tareas (windows) pues ya tenemos todo listo. En parte, lo mas complicado es encontrar la ruta bien escrita hacia nuestra web cam que nos devuelve una imagen. Segun marca y modelo varia.

Si alguno quereis hacer pruebas os pongo un ejemplo para una webcam wue tengo funcionando por aqui marca safire

wget "http://usuario:contraseña@IP_CAMARA/cgi-bin/snapshot.cgi?" -O NOMBRE_FOTO.jpg


casacota

  • Visitante
Re:como subir imagen de webcam
« Respuesta #5 en: 24 de Mayo del 2020, 21:57:40 pm »
Perfecto. Para las cámaras sistema CamHI (que funcionan con una app llamada camhi) se accede a la imagen con http://ip.ca.ma.ra/auto.jpg
« Última modificación: 24 de Mayo del 2020, 21:59:48 pm por casacota »

Desconectado miguelru

  • Sr. Member
  • ****
  • Mensajes: 263
    • Ver Perfil
    • MeteoGodella
  • Estación: ESPVA4600000046110A ESCLM1600000016214A
Re:como subir imagen de webcam
« Respuesta #6 en: 27 de Mayo del 2020, 13:15:52 pm »
Por si le hace falta o sirve de ayuda a algún usuario, comparto los script´s que utilizo para capturar imágenes con mi Raspberry Pi, en la que corre weewx 3.9.2.

Con una llamada desde crontab al scrip sh, borra la imagen anterior, captura nueva imagen que guarda con el nombre que queramos (en este caso en /var/www/webcam ) para publicarla en la web y ademas la copia en un pendrive USB montado en la Raspberry.



FOSCAM FI9626P

Código: [Seleccionar]
#!/bin/sh

export DATETIME=`date +%Y%m%d%H%M%S`

rm -f /var/www/weewx/last.jpg

ffmpeg -loglevel fatal -i rtsp://USUARIO:CONTRASEÑA@DIRECCION_IP:PUERTO/videoMain -vframes 1 -r 1 /var/www/webcam/last.jpg

#! cp /var/www/weewx/last.jpg /media/USBsandisk/webcam/$DATETIME.jpg

ESCAM QD900WIFI

Código: [Seleccionar]
#!/bin/sh

export DATETIME=`date +%Y%m%d%H%M%S`

rm -f /var/www/webcam/last.jpg

ffmpeg -loglevel fatal -i rtsp://192.168.0.101/11 -vframes 1 -r 1 /var/www/webcam/last.jpg

cp /var/www/webcam/last.jpg /media/USBsandisk/webcam/$DATETIME.jpg

ESCAM QD410

Código: [Seleccionar]
#!/bin/sh

export DATETIME=`date +%Y%m%d%H%M%S`

rm -f /var/www/webcam/foto.jpg

ffmpeg -rtsp_transport tcp -i rtsp://192.168.1.10/user=user_password=user_channel=1_stream=0.sdp -vframes 1 -r 1 /var/www/webcam/foto.jpg

cp /var/www/webcam/foto.jpg /media/USBsandisk/webcam/$DATETIME.jpg


 DAHUA (IPC-HFW5431R-Z)

Código: [Seleccionar]
#!/bin/sh

export DATETIME=`date +%Y%m%d%H%M%S`

rm -f /var/www/html/webcam/image.jpg

ffmpeg -rtsp_transport tcp -i rtsp://USUARIO:CONTRASEÑA@192.168.1.108:554/cam/realmonitor?channel=1_subtype=0 -vframes 1 -r 1 /var/www/html/webcam/image.jpg

cp /var/www/html/webcam/image.jpg /media/USBsandisk/Dahua/$DATETIME.jpg

Desconectado garbatella

  • Jr. Member
  • **
  • Mensajes: 57
    • Ver Perfil
  • Estación: ESCTB3900000039003A
Re:como subir imagen de webcam
« Respuesta #7 en: 29 de Octubre del 2021, 13:25:13 pm »
Hola.

Disculpad el reflote, pero estoy tratando de capturar una imagen de mi cámara dahua para integrarla en la web del skin Belchertown, todo ello con una raspberry pi funcionando con weewx.

He creado ya un script llamado imagen.sh que se guarda en bin y que tiene el código que indica el compañero miguelru para cámaras Dahua (la mía). Por supuesto, he cambiado user y passs, así como la IP y he puesto los valores correctos.

Ahora sólo me faltaría indicar en cron, que se invoque al script, pero estoy dudando cómo hacerlo. ¿Alguna indicación?

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.576
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:como subir imagen de webcam
« Respuesta #8 en: 29 de Octubre del 2021, 19:51:55 pm »

Ahora sólo me faltaría indicar en cron, que se invoque al script, pero estoy dudando cómo hacerlo. ¿Alguna indicación?


Qué duda tienes al respecto ?? Lo normal es hacerlo en el cron de sudo con sudo crontab -e añadiendo una línea al final con el intervalo que quieras poner. Por ejemplo:

*/30 * * * * /rutaalbash/imagen.sh

ejecutará el script bash cada media hora.



Archena, Valle de Ricote (Murcia). 120 msnm. 19.622 hab.
Davis Vantage Pro2 Plus

www.meteoarchena.es

Desconectado garbatella

  • Jr. Member
  • **
  • Mensajes: 57
    • Ver Perfil
  • Estación: ESCTB3900000039003A
Re:como subir imagen de webcam
« Respuesta #9 en: 12 de Noviembre del 2021, 22:39:06 pm »
Gracias jmviper.

Pues, algo no va bien, os cuento.

El script está creado como dije... Se llama imagen.sh y está en /usr/bin/

Luego he accedido a ctrontab. Aquí por cierto me surje una duda: ¿es lo mismo crontab que cron? Lo digo porque yo hasta ahora editaba cron así

sudo nano /etc/crontab donde tengo esto:

Código: [Seleccionar]
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

# Envía datos a Meteoclimatic cada 5 minutos, empezando en el minuto 1 de cada hora
1-59/5 *   * * *   root    /etc/weewx/meteoclimatic.py

# Pihole Logs
0 0 * * * root /usr/sbin/logrotate --force /etc/pihole/logrotate-custom
@reboot root /usr/sbin/logrotate /etc/pihole/logrotate-custom

Sin embargo, siguiendo tus indicaciones he accedido de esta forma: sudo crontab -e y tengo esto otro:

Código: [Seleccionar]
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command
*/5 * * * * /usr/bin/imagen.sh

Sin embargo, nada, entro por ftp a las carpetas, y no veo que se esté creando nada en var/www/html/webcam (que es la ruta del imagen.sh, pongo el código a continuación:

Código: [Seleccionar]
#!/bin/sh

export DATETIME=`date +%Y%m%d%H%M%S`

rm -f /var/www/html/webcam/image.jpg

ffmpeg -rtsp_transport tcp -i rtsp://xxxxxxxx:xxxxxxx#@10.10.1.122:554/cam/realmonitor?channel=1_subtype=0 -vframes 1 -r 1 /var/www/html/webcam/image.jpg

cp /var/www/html/webcam/image.jpg /media/pi/8914-17F8/Dahua/$DATETIME.jpg


(por supuesto user y pass he puesto xxxx)

Desconectado garbatella

  • Jr. Member
  • **
  • Mensajes: 57
    • Ver Perfil
  • Estación: ESCTB3900000039003A
Re:como subir imagen de webcam
« Respuesta #10 en: 12 de Noviembre del 2021, 23:37:25 pm »
Poniendo un poco de cabeza, pensé que antes de comprobar si la programación via cron funcionaba, debía comprobar que ffmpeg estaba ejecutándose correctamente.

Así que he lanzado lo siguiente:

Código: [Seleccionar]
ffmpeg -rtsp_transport tcp -i rtsp://user:password@10.0.1.133:554/cam/realmonitor?channel=1_subtype=0 -vframes 1 -r 1 /var/www/html/webcam/image.jpg
Aparentemente se lo come, carga un chorro de texto y me pregunta:

Código: [Seleccionar]
Stream #0:0: Video: h264 (Main), yuvj420p(pc, progressive), 2560x1440, 20 fps, 20 tbr, 90k tbn, 180k tbc
File '/var/www/html/webcam/image.jpg' already exists. Overwrite ? [y/N] y

Le digo que sí. En realidad la imagen que ya hay en esa carpeta es falsa, simplemente una foto que tenía y que guardé en dicha carpeta, por aquello de que el script decía de sobreescribir, pensé que ya debía haber una sobre la que guardar la foto nueva.

El caso es que digo que sí y ocurre lo siguiente:

Código: [Seleccionar]
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))
Press [q] to stop, [?] for help
Output #0, image2, to '/var/www/html/webcam/image.jpg':
  Metadata:
    title           : Media Server
    encoder         : Lavf58.20.100
    Stream #0:0: Video: mjpeg, yuvj420p(pc), 2560x1440, q=2-31, 200 kb/s, 1 fps, 1 tbn, 1 tbc
    Metadata:
      encoder         : Lavc58.35.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
[image2 @ 0x136cd30] Could not open file : /var/www/html/webcam/image.jpg
av_interleaved_write_frame(): Input/output error
frame=    1 fps=0.0 q=6.9 Lsize=N/A time=00:00:01.00 bitrate=N/A speed=2.07x   
video:76kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Conversion failed!
« Última modificación: 13 de Noviembre del 2021, 20:02:05 pm por garbatella »

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.576
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:como subir imagen de webcam
« Respuesta #11 en: 13 de Noviembre del 2021, 00:51:57 am »
cron es el servicio que ejecuta los crontabs. Los crontabs son esos archivos de texto editables que tienen las tareas a realizar por cron.

crontabs hay del sistema (/etc/crontab) en el que en el interior tienes que poner el usuario para el que se ejecuta, el de root (sudo crontab -e) y el de usuario (crontab -e). Solo el de root puede ejecutar o escribir cosas del sistema que sean de root.

De cámaras no entiendo, es mi punto débil  *+* *+*, mayormente porque nunca he tenido ninguna para trastear y no me llaman la atención. El error que salta es Could not open file : /var/www/html/webcam/image.jpg
Tendrás que investigar porqué se produce y una vez que cree la imagen que ejecute el script en el crontab.

A ver si alguien más versado en esto de realizar capturas te puede ayudar.


Archena, Valle de Ricote (Murcia). 120 msnm. 19.622 hab.
Davis Vantage Pro2 Plus

www.meteoarchena.es

Desconectado miguelru

  • Sr. Member
  • ****
  • Mensajes: 263
    • Ver Perfil
    • MeteoGodella
  • Estación: ESPVA4600000046110A ESCLM1600000016214A
Re:como subir imagen de webcam
« Respuesta #12 en: 13 de Noviembre del 2021, 10:22:00 am »
Este es mi .sh que se ejecuta desde /etc/crontab cada 5 minutos con usuario root. Captura la imagen y la envía a la carpeta indicada. Como previamente a borrado la anterior no pregunta nada. El archivo.sh lo tengo en /home/pi pero puede estar en otra carpeta

Código: [Seleccionar]
#!/bin/sh


export DATETIME=`date +%Y%m%d%H%M%S`

rm -f /home/weewx/public_html/webcam/image.jpg

ffmpeg -rtsp_transport tcp -i rtsp://miguel:Password@192.168.1.108:554/cam/realmonitor?channel=1_subtype=0 -vframes 1 -r 1 /home/weewx/public_html/webcam/image.jpg

Prueba a ejecutar el ffmpeg con sudo ffmpeg .......
« Última modificación: 13 de Noviembre del 2021, 10:31:42 am por miguelru »

Desconectado miguelru

  • Sr. Member
  • ****
  • Mensajes: 263
    • Ver Perfil
    • MeteoGodella
  • Estación: ESPVA4600000046110A ESCLM1600000016214A
Re:como subir imagen de webcam
« Respuesta #13 en: 13 de Noviembre del 2021, 10:51:43 am »
Una vez que ejecutando el comando sudo ffmpeg ....xxxx....etc compruebes que crea la imagen en la carpeta webcam, ya te metes con crear la tarea en crontab. Lo digo porque a mi me funciona con el modelo de dahua que tengo, pero a veces no todos los modelos de la misma marca funcionan con el mismo comando.

Luego para publicar las imágenes en la web con Belchertown yo lo hago en index_hook_after_station_info.inc

Desconectado garbatella

  • Jr. Member
  • **
  • Mensajes: 57
    • Ver Perfil
  • Estación: ESCTB3900000039003A
Re:como subir imagen de webcam
« Respuesta #14 en: 13 de Noviembre del 2021, 20:00:49 pm »
Una vez que ejecutando el comando sudo ffmpeg ....xxxx....etc compruebes que crea la imagen en la carpeta webcam, ya te metes con crear la tarea en crontab. Lo digo porque a mi me funciona con el modelo de dahua que tengo, pero a veces no todos los modelos de la misma marca funcionan con el mismo comando.

Luego para publicar las imágenes en la web con Belchertown yo lo hago en index_hook_after_station_info.inc

Gracias Miguelru!

Es lo que comentaba en mi último mensaje, que antes de preocuparme de automatizar la tarea, me puse a ejecutar ffmpeg para ver qué obtenía y me estoy encontrando con un error que no alcanzo a entender por qué sale. Te lo pongo:

Lanzo esto:

Código: [Seleccionar]
ffmpeg -rtsp_transport tcp -i rtsp://user:password@10.0.1.133:554/cam/realmonitor?channel=1_subtype=0 -vframes 1 -r 1 /var/www/html/webcam/image.jpg
Aparentemente se lo come, carga un chorro de texto y me pregunta:

Código: [Seleccionar]
Stream #0:0: Video: h264 (Main), yuvj420p(pc, progressive), 2560x1440, 20 fps, 20 tbr, 90k tbn, 180k tbc
File '/var/www/html/webcam/image.jpg' already exists. Overwrite ? [y/N] y

Le digo que sí. En realidad la imagen que ya hay en esa carpeta es falsa, simplemente una foto que tenía y que guardé en dicha carpeta, por aquello de que el script decía de sobreescribir, pensé que ya debía haber una sobre la que guardar la foto nueva.

El caso es que digo que sí y ocurre lo siguiente:

Código: [Seleccionar]
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))
Press [q] to stop, [?] for help
Output #0, image2, to '/var/www/html/webcam/image.jpg':
  Metadata:
    title           : Media Server
    encoder         : Lavf58.20.100
    Stream #0:0: Video: mjpeg, yuvj420p(pc), 2560x1440, q=2-31, 200 kb/s, 1 fps, 1 tbn, 1 tbc
    Metadata:
      encoder         : Lavc58.35.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
[image2 @ 0x136cd30] Could not open file : /var/www/html/webcam/image.jpg
av_interleaved_write_frame(): Input/output error
frame=    1 fps=0.0 q=6.9 Lsize=N/A time=00:00:01.00 bitrate=N/A speed=2.07x   
video:76kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Conversion failed!