Introduction

locast2tuner provides an interface between locast.org and Plex Media Server (PMS) or Emby by acting like an HDHomerun or an m3u tuner and an XMLTV provider.

locast2tuner can emulate one or more digital tuners and provides geo cloaking across regions.

❗ Since locast.org uses Amazon CloudFront to stream, region restrictions imposed by CloudFront can not be circumvented. This means that locast2tuner might not work outside of the United States.

Features

  • Override your location using ZIP code or GPS coordinates
  • Multiple digital tuners in a single server, either as separate servers or as one (multiplexing)
  • Emulates either an HDHomerun or an m3u tuner
  • Provides locast EPG information as an XMLTV guide

Background

locast2tuner is a rewrite in Rust of locast2dvr, which in turn is a rewrite of locast2plex. Thanks to the locast2plex developers for writing it and figuring out how to stitch things together!

I rewrote locast2plex to be able to more easily add functionality, use libraries wherever possible (like HTTP, m3u, starting multiple devices, etc), heavily document, generally write clean code, and provide a better user experience (command line argument parsing, automatic download of FCC facilities, etc). And since python's GIL gave me a headache, I rewrote the whole thing in Rust.

Apart from the fact that everything is Rust now, the big difference between locast2tuner and locast2dvr is that locast2tuner does not require ffmpeg anymore. Actually, I completely dropped support for it and only implemented the direct mode that locast2dvr supports. Next to that, I removed a few debugging features (like --multiplex-debug), that don't seem to be used.

Even though this project started as a Locast to PMS interface, it's more focused on integrating locast with Emby, since Emby provides a bit more functionality when it comes to Live TV and Tuner (like m3u tuners, XMLTV, etc).