streaming | ||
tests | ||
config.ini | ||
main.py | ||
notlive.html | ||
README.md | ||
streamer.py |
Church Autostream
The goal of this project is to fully automatically stream a church service without any user input required. This is for people who do not understand how a computer works but still want to join the service.
See https://wiki.herreweb.nl/e/en/Projects/Church_AutoStream for an extended overview of the project.
Basic setup overview
Each person who wants a setup at our church will receive a prepared RPI4, which will be used to automatically run this script on startup.
Requirements
Any computer that can run a recent browser and python3. I highly recommend a Linux OS and even better a RPI.
Adding streaming service
Both Youtube and Kerkdienstgemist are provided as streaming service in this auto streamer. However, if you want to implement your own streamer for a different streaming service you can do that by adding a file to streaming with code for the streaming service. You will need to create class that inherits the StreamService class in streaming/base_stream.py and add the following functions:
class NewStreamingService:
def __init__(self, churchid) -> None:
pass
def livestream_url(self):
#Code to get livestream url
def post_load_actions(self, driver):
# Actions to do after loading the page. Like clicking on the video to start playing.
Next you will need to tell the streamer to use this service when specified in the config. Edit streamer.py and add the line according to your service
elif self.streaming_method == "yourservice":
self.stream_service = NewStreamingService(churchid)
You will also need to specify this service your config file.
Streamlink
The stream for youtube can also be started using streamlink. This is less resource intensive but currently there is no way of showing that no stream is active and it might be less stable then the browser.
Todo
- Add fallback option for the streamer. For example: If youtube does not work, fall back to KDG