Send locally stored videos to your Smart TV or other UPnP/DLNA media renderer. This is intended as the simplest approach for sending a video through the local network.
Spellcast works by setting up a temporary HTTP server that hosts only the video file, and sending its URI to the rendering device via UPnP protocols.
This is a Python 3 application. It uses Twisted and requests. For your convenience you can easily install it with pip:
python3 -m pip install spellcast
Or, alternatively, you can set everything up in a virtual environment as follows:
python3 -m venv venv
source venv/bin/activate
python3 -m pip install -r requirements.txt
Pass the video file as argument, and Spellcast casts to the first media renderer found on the network:
cast /path/to/video.mp4
Or:
python -m spellcast /path/to/video.mp4
This implementation borrows a lot from the video2smarttv project by probonopd, which in turn uses dankrause's solution for SSDP discovery. Thanks go to all developers involved!