JurajNyiri / HomeAssistant-Tapo-Control

Control for Tapo cameras as a Home Assistant component
Apache License 2.0
1.16k stars 89 forks source link

ffmpeg for sound detection doesn't terminate on Home Assistant restart #572

Closed tchris227 closed 4 months ago

tchris227 commented 6 months ago

Description

When sound detection is enabled and home assistant is restarted, a new instance of ffmpeg is started but the old one isn't terminated.

The system accumulates instances off ffmpeg on each home assistant restart until the container/OS is restarted.

Reproduction Steps

  1. run top from within home assistant container (docker exec -it homeassistant bash). After a fresh start of the container with only one tapo camera, there is only one instance of ffmpeg
  2. Restart home assistant (Settings --> Menu --> Restart Home Assistant)
  3. Monitor top. ffmpeg continues running through restart. After startup, another instance of ffmpeg appears

Expected behavior

Terminate ffmpeg when home assistant shuts down to restart. ffmpeg_noise, when configured on its own through the home assistant configuration.yaml file, terminates the old ffmpeg before starting a new one on startup.

If applicable, add error logs.

top output:

  PID  PPID USER     STAT   VSZ %VSZ CPU %CPU COMMAND
  605    65 root     S    5790m  17%   9   0% python3 -m homeassistant --config /config
  209     1 root     S     210m   1%  21   0% ffmpeg -i rtsp://pathtomycamera -vn -nostats -filter:a silencedetect=n=-25dB:d=1 -f null -
  576     1 root     S     210m   1%  17   0% ffmpeg -i rtsp://pathtomycamera -vn -nostats -filter:a silencedetect=n=-25dB:d=1 -f null -
  756   605 root     S     210m   1%  12   0% ffmpeg -i rtsp://pathtomycamera -vn -nostats -filter:a silencedetect=n=-25dB:d=1 -f null -
  396     1 root     S     207m   1%  11   0% ffmpeg -i rtsp://pathtomycamera -vn -nostats -filter:a silencedetect=n=-25dB:d=1 -f null -
  787   781 root     R     1624   0%   6   0% top
  781     0 root     S     2612   0%   6   0% bash
    1     0 root     S      436   0%  28   0% /package/admin/s6/command/s6-svscan -d4 -- /run/service
   65     1 root     S      216   0%  15   0% s6-supervise home-assistant
   25     1 root     S      216   0%   9   0% s6-supervise s6rc-oneshot-runner
   16     1 root     S      216   0%  20   0% s6-supervise s6-linux-init-shutdownd
   26     1 root     S      216   0%  29   0% s6-supervise s6rc-fdholder
   34    25 root     S      208   0%  11   0% /package/admin/s6/command/s6-ipcserverd -1 -- /package/admin/s6/command/s6-ipcserver-access -v0 -E -l0 -i data/rules -- /package/admin/s6/command/s6-sudod -t 30000
   19    16 root     S      204   0%  19   0% /package/admin/s6-linux-init/command/s6-linux-init-shutdownd -d3 -c /run/s6/basedir -g 3000 -C -B

Device Firmware

1.1.12 Build 240117 Rel.56102n

Integration Version

5.4.18

Using stream component

Yes

Does camera work via official integrations?

Yes

Camera has all attributes filled out in developer tools

Yes

HASS Environment

2024.5.4 Docker on Ubuntu 22.04.4

Search for similar issues

Yes

Additional information

No response

JurajNyiri commented 4 months ago

Fixed in https://github.com/JurajNyiri/HomeAssistant-Tapo-Control/releases/tag/5.4.22 .