Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
projects:iotaiuto:doorbell [2021/08/12 17:27] – 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:// | 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) | ||
+ | < | ||
+ | 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:// |