soit un bug ffmpeg introduit dans une version récente de ffmpeg
soir un changement dans l’API de ffmpeg qu’on a pas intégré dans Gladys
soit un changement dans Node 18 dans la gestion des child process
Il faut enquêter, j’ai pas encore eu le temps de mon côté, preneur d’aide sur le sujet
Edit: Pour info on utilise cette lib dans Gladys:
Après en voyant toutes les issues remontées (295 issues), et le fait que la lib n’est plus trop maintenue, pour ce que ça fait on ferait mieux de juste lancer ffmpeg nous même via un child process Node pour pouvoir le fermer proprement
Ca à la base c’est une feature (et pas un bug)
L’intérêt c’est d’avoir tout le temps une image fraîche en mémoire afin que si tu ouvre le tableau de bord, tu ai directement une image fraîche servi depuis la memoire, et pas de délai à attendre le temps qu’une nouvelle image soit récupérée
Ce qui est en soit une bonne idée, mais l’impact CPU est assez fort. Je n’imagine pas si on connecte 5 caméras ou plus dans Gladys.
Chez moi (mini-pc) je suis passé de 6% en moyenne à 50% voir 70% (Image toutes les 10 secondes).
Pour économiser en perf, Gladys pourrait mettre à jour en arrière plan, mais toutes les minutes tant qu’un dashboard n’est pas chargé ?
Enfin, c’est un détail ici, vu l’autre bug bien plus important !
C’est le but de ce paramètre « 1 minutes/30 secondes/10 secondes » etc… à la base
Là vous utilisez ce paramètres pour créer un faux semblant de live sur le dashboard, mais bon c’est trop gourmand car c’est pas vraiment fait pour ça ^^
Pour le live sur le tableau de bord, je suis d’accord que c’est une évolution sympa à apporter et à développer proprement
Retomo este tema que había pasado al olvido, no había ninguna issue en Github
He trabajado esta mañana en el reemplazo de la librería ffmpeg-fluent que está claramente desactualizada y que es probablemente la causa de esta fuga de memoria.
La reemplazo por un simple child_process que, por lo tanto, liberará la memoria una vez que se obtenga la imagen de la cámara.
La PR está aquí:
Disculpas de nuevo por el retraso, no duden en recordarme sobre temas como este si no hay actividad, y sobre todo piensen en crear una issue en Github (Issues · GladysAssistant/Gladys · GitHub), es la « TODO list » de errores a corregir del proyecto
Y en el caso de que la imagen nunca se recupere, ¿cómo se comporta?
De mis recuerdos, era otra causa de mi problema, fuga de memoria cuando la cámara ya no está disponible.