projects:iotaiuto:doorbell

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
projects:iotaiuto:doorbell [2021/10/01 10:19] danielprojects:iotaiuto:doorbell [2021/10/01 10:40] (current) daniel
Line 20: Line 20:
 <code> <code>
 esphome: esphome:
-  name: doorbell+  name: esp-citofono
   platform: ESP32   platform: ESP32
   board: esp32dev   board: esp32dev
Line 35: Line 35:
  
 esp32_camera: esp32_camera:
 +  name: Videocamera citofono
   external_clock:   external_clock:
     pin: GPIO0     pin: GPIO0
Line 46: Line 47:
   pixel_clock_pin: GPIO22   pixel_clock_pin: GPIO22
   power_down_pin: GPIO32   power_down_pin: GPIO32
-  namedoorbell camera+  max_framerate5 fps
  
 # Flashlight CHECK PIN # Flashlight CHECK PIN
Line 106: Line 107:
 https://github.com/ayufan/esphome-components#25-esp32_camera_web_server https://github.com/ayufan/esphome-components#25-esp32_camera_web_server
  
-===== FFMPEG =====+===== Conversione del video =====
 La camera manda una sequenza di immagini JPEG con framerate variabile. Per mostrarle su Alexa è necessario convertirle in uno stream video con codec H264 (più leggero) o MPEG4. Dato che la potenza dell'esp è limitata è meglio affidare questo compito al raspberry. La camera manda una sequenza di immagini JPEG con framerate variabile. Per mostrarle su Alexa è necessario convertirle in uno stream video con codec H264 (più leggero) o MPEG4. Dato che la potenza dell'esp è limitata è meglio affidare questo compito al raspberry.
  
Line 115: Line 116:
 Formato H264 (più compresso) Formato H264 (più compresso)
 <code> <code>
-ffmpeg -use_wallclock_as_timestamps 1 -i http://192.168.1.254:8080 -c:v libx264 -preset veryslow -tune zerolatency -movflags +faststart -pix_fmt yuv420p -disposition:v:0 default -r 10 -g 1 -f rtsp rtsp://192.168.1.176:8443/stream+ffmpeg -use_wallclock_as_timestamps 1 -i http://indirizzo_ip_esp32cam:8080 -c:v libx264 -preset veryslow -tune zerolatency -movflags +faststart -pix_fmt yuv420p -disposition:v:0 default -r -g 1 -f rtsp rtsp://indirizzo_ip_raspberry:8443/stream
 </code> </code>
  
 Formato MPEG4 Formato MPEG4
 <code> <code>
-ffmpeg -use_wallclock_as_timestamps 1 -i http://192.168.1.254:8080 -c:v mpeg4 -tune zerolatency -movflags +faststart -pix_fmt yuv420p -disposition:v:0 default -r 10 -g 1 -f rtsp rtsp://192.168.1.176:8443/stream+ffmpeg -use_wallclock_as_timestamps 1 -i http://192.168.1.254:8080 -c:v mpeg4 -tune zerolatency -movflags +faststart -pix_fmt yuv420p -disposition:v:0 default -r -g 1 -f rtsp rtsp://indirizzo_ip_raspberry:8443/stream
 </code> </code>
  
-Diminuire il framerate (-r) e aumentare il gop (-g) a piacere+Modificare framerate (-r) e gop (-g) a piacere
  
 Mentre ffmpeg è in esecuzione è importante guardare il numero di frame duplicate e droppate da ffmpeg nella barra di stato, e aggiustare il framerate di conseguenza (modificarlo anche nella configurazione esphome della camera) Mentre ffmpeg è in esecuzione è importante guardare il numero di frame duplicate e droppate da ffmpeg nella barra di stato, e aggiustare il framerate di conseguenza (modificarlo anche nella configurazione esphome della camera)
  
 Il preset veryslow comprime molto e tiene leggera la banda. Se la speed di ffmpeg va sotto a x1 si può usare un preset più veloce per alleggerire il lavoro al processore. Il preset veryslow comprime molto e tiene leggera la banda. Se la speed di ffmpeg va sotto a x1 si può usare un preset più veloce per alleggerire il lavoro al processore.
 +
 +==== Monocle ====
 +
 +  - Installare la skill Monocle su Alexa
 +  - Accedere a https://portal.monoclecam.com/
 +  - Aggiungere un feed e configurarlo
 +<code>
 +URL: rtsp://ip_locale_raspberry:8443/stream
 +Name: citofono
 +Authentication: None
 +Video resolution: Quella inserita nella configurazione della camera
 +Video codec: H264
 +Audio codec: None
 +Tags: @proxy
 +</code>
 +
 +L'url è quello del server rtsp su cui ffmpeg manda il video convertito
 +
 +Aggiungere il tag @proxy solo se si vuole utilizzare il Monocle Gateway, ovvero il sistema di redirect che esce dalla rete locale per far arrivare il flusso dal dominio di monocle
 +
 +Per installare Monocle Gateway sul raspberry seguire questa guida: https://monoclecam.com/monocle-gateway/install/linux-raspi
  • projects/iotaiuto/doorbell.1633076376.txt.gz
  • Last modified: 2021/10/01 10:19
  • by daniel