I have now switched to using a Chromecast for all our TV needs. I have an old Android phone (Moto G) that has been re-purposed as the remote. For local pre-downloaded content, I have a Media Server running Ubuntu 17.10. The best setup I have found for streaming this local content to the Chromecast is VideoStream.
The Android App can be found here: https://getvideostream.com/
On Linux, there is no native install so you need to use Chrome and install VideoStream as an extension: https://chrome.google.com/webstore/detail/videostream-for-google-ch/cnciopoikihiagdjbjpnocolokfelagl?hl=en
As my server is headless, the install of Chrome and the VideoStream extension are done using ssh -X.
When you Pair your device, you also need to have Chrome open over SSH to receive the popup and accept the pairing.
Running VideoStream Headless on Boot
Create the following systemd service file: /etc/systemd/system/videostream.service
[Unit] Description=VideoStream Server [Service] User=austin Environment= WorkingDirectory=/home/austin/ ExecStart=/bin/bash xvfb-run google-chrome --app-id=cnciopoikihiagdjbjpnocolokfelagl Restart=always [Install] WantedBy=multi-user.target
Netflix, TVNZ and TV3.