This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| projects:iotaiuto:doorbell [2021/08/12 17:26] – daniel | projects:iotaiuto:doorbell [2021/10/01 10:40] (current) – daniel | ||
|---|---|---|---|
| Line 20: | Line 20: | ||
| < | < | ||
| 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: | pixel_clock_pin: | ||
| power_down_pin: | power_down_pin: | ||
| - | | + | |
| # Flashlight CHECK PIN | # Flashlight CHECK PIN | ||
| Line 96: | Line 97: | ||
| </ | </ | ||
| - | Visualizzare stream RTSP con VLC: | + | Visualizzare stream RTSP con VLC:\\ |
| + | < | ||
| + | VLC menu -> Media -> Open network stream -> rtsp:// | ||
| + | </ | ||
| + | |||
| + | ===== HTTP Server ===== | ||
| + | In alternativa si può usare anche questo componente http e convertire successivamente in rtsp quando lo stream passa per il raspberry. | ||
| + | Nel mio caso stranamente ha dato risultati migliori. | ||
| + | https:// | ||
| + | |||
| + | ===== 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' | ||
| + | |||
| + | - Lanciare un server rtsp sul raspberry, ad esempio https:// | ||
| + | - sudo apt-get install ffmpeg | ||
| + | - Lanciare uno tra questi comandi sul raspberry per prendere il flusso della camera, convertirlo in video e lanciare lo stream sul server rtsp | ||
| + | |||
| + | Formato H264 (più compresso) | ||
| < | < | ||
| - | VLC menu > Media > Open network stream > rtsp://indirizzo_ip_esp:8675 | + | ffmpeg -use_wallclock_as_timestamps 1 -i http:// |
| </ | </ | ||
| + | Formato MPEG4 | ||
| + | < | ||
| + | ffmpeg -use_wallclock_as_timestamps 1 -i http:// | ||
| + | </ | ||
| + | |||
| + | 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) | ||
| + | |||
| + | 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:// | ||
| + | - Aggiungere un feed e configurarlo | ||
| + | < | ||
| + | URL: rtsp:// | ||
| + | Name: citofono | ||
| + | Authentication: | ||
| + | Video resolution: Quella inserita nella configurazione della camera | ||
| + | Video codec: H264 | ||
| + | Audio codec: None | ||
| + | Tags: @proxy | ||
| + | </ | ||
| + | |||
| + | 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:// | ||