General questions and suggestions
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 strictlysystemdservices. I understand thatsetup.shcreates a user that theserver.pywill 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.localand especially putting stuff like this insetup.sh, it doesn't make it easy to uninstall RaspberryCast. With asystemdbased 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-dlbottleandlivestreamerin it'srequirements.txtso they will be installed automatically. - As for the rest of the dependencies (
lsof,python-pip,git,wget,omxplayer,libnss-mdnsandfbi) it could be even better to distribute a package that could be installed through https://launchpad.net/ (I can write aPKGBUILDfor Arch Linux).
I'll be glad to know your thoughts :)
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 :)
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.
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.