billw2 / pikrellcam

Raspberry Pi motion vector detection program with OSD web interface.
GNU General Public License v3.0
261 stars 70 forks source link

Depencency hell #24

Open zinahe opened 7 years ago

zinahe commented 7 years ago

Hi,

First of all, thank you very much for all the effort put forward in making pikrellcam and sharing it with the world. I tried to install it on a Pi3 running as headless server with very minimal linux (minibian) and I was shocked to find out that it downloaded about 200 libraries (close to 300MB in total) when I checked apt's log. See attachment for details.

However, when I graphed the dependency of the pikrellcam executable by itself (please see attached image), it doesn't look that complicated. Can somebody shade some light on what's going on ? I would still like to keep my pi running very lean on resources but don't know how to proceed.

Would it be possible to run this great tool without the bloat that comes with it as part of running install-pikrellcam.sh ?

Regards,

Zinahe A.

apt-log.txt dep

billw2 commented 7 years ago

On Fri, 24 Mar 2017 13:48:07 -0700 Zinahe notifications@github.com wrote:

Hi,

First of all, thank you very much for all the effort put forward in making pikrellcam and sharing it with the world. I tried to install it on a Pi3 running as headless server with very minimal linux (minibian) and I was shocked to find out that it downloaded about 200 libraries (close to 300MB in total) when I checked apt's log. See attachment for details.

However, when I graphed the dependency of the pikrellcam executable by itself (please see attached image), it doesn't look that complicated. Can somebody shade some light on what's going on ? I would still like to keep my pi running very lean on resources but don't know how to proceed.

Would it be possible to run this great tool without the bloat that comes with it as part of running install-pikrellcam.sh ?

Regards,

Zinahe A.

apt-log.txt dep

Seems like a lot of those packages should not be needed and maybe recommended packages were installed in addition to just dependencies. I'll have to test to see if adding the --no-install-recommends flag to apt-get will make a difference. If it doesn't I'm not sure why all of those got installed.

Bill

Martinique commented 7 years ago

The most likely culprit is libav-tools (something to do with certain graphics drivers and their specific acceleration, IIRC). I encountered the same bloat issue with ffmpeg, which it's based on, so I decided to instead compile it myself with the bits needed for Pi hardware acceleration. See this blog post. I don't know if PiKrellCam needs any of the omitted ffmpeg parts, though.

This could be fixed by making the libav-tools dependency optional and allowing the user to select another executable (ffmpeg) to run instead of avconv.

BTW, Debian is dropping libav in favor of ffmpeg, which is already available for Jessie in Backports and is the default multimedia framework in Stretch. Preparing PiKrellCam now will avoid a lot of hassle later, when Raspbian moves on to Stretch.