RaspberryCast icon indicating copy to clipboard operation
RaspberryCast copied to clipboard

General questions and suggestions

Open doronbehar opened this issue 7 years ago • 3 comments

Hello @vincelwt ,

I'm very interested in using and contributing to this project. However, I think the way the server scripts are organized could use some improvements. I think this project could really shine if you'd organize it differently, here are a few suggestions:

  • Why use a shell wrapper for the server.py? You can processes command line arguments inside python and I believe you can fork processes and make the same script fork it self and kill it self according to CLI arguments.
  • The installation script is probably very NOOB friendly but it's not very distribution / system administrator friendly IMO. I use Arch Linux on my Raspberry Pi and I can't use this script because we don't use /etc/rc.local. We use strictly systemd services. I understand that setup.sh creates a user that the server.py will run under his privileges but IMHO it's not truly necessary. I think this should stay in the documentation only as a recommendation.
  • In addition, as for using /etc/rc.local and especially putting stuff like this in setup.sh, it doesn't make it easy to uninstall RaspberryCast. With a systemd based configuration it will be much easier.
  • If we'll get rid of the shell script wrapper and distribute only a python script that will manage it self, you can distribute a pip package that will have youtube-dl bottle and livestreamer in it's requirements.txt so they will be installed automatically.
  • As for the rest of the dependencies (lsof, python-pip, git, wget, omxplayer, libnss-mdns and fbi) it could be even better to distribute a package that could be installed through https://launchpad.net/ (I can write a PKGBUILD for Arch Linux).

I'll be glad to know your thoughts :)

doronbehar avatar May 20 '18 15:05 doronbehar

Hi! Sure, there is a lot of room for improvements! When I made the setup.sh script, I wanted it to work as a one-line installer for Raspbian. But its true it should be compatible with more OSs, without making it harder to install on Raspbian. I agree about removing the shell wrapper and packing it as a PIP package. What do you think would be the use of Launchpad? We can already use Github to distribute packages.

I'm not really maintaining this project anymore, so feel free to submit pull requests :)

vincelwt avatar May 22 '18 10:05 vincelwt

Hi @vincelwt how open to changes are you? Since this is essentially a single-process app, I was thinking of converting the control mechanism from files on the filesystem to streams. Would you be accepting for big changes like this? I ask this here because it would make the distribution much easier if there are not files lying around the filesystem.

jarondl avatar Jun 05 '18 15:06 jarondl

Hi @jarondl , I'm open to improvements :) What files are you referring to transform to streams? RaspberryCast already stream videos. You can always fork the repo, implement what you want, and start a pull request if you feel it's ready for all RaspberryCast users.

vincelwt avatar Jun 05 '18 19:06 vincelwt