telly

command module
v1.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 16, 2018 License: MIT Imports: 16 Imported by: 0

README

telly

IPTV proxy for Plex Live written in Golang

Configuration

Here's an example configuration file. You will need to create this file. It should be placed in /etc/telly/telly.config.toml or $HOME/.telly/telly.config.toml or telly.config.toml in the directory that telly is running from.

[Discovery]                                    # most likely you won't need to change anything here
  Device-Auth = "telly123"                     # These settings are all related to how telly identifies
  Device-ID = 12345678                         # itself to Plex.
  Device-UUID = ""
  Device-Firmware-Name = "hdhomeruntc_atsc"
  Device-Firmware-Version = "20150826"
  Device-Friendly-Name = "telly"
  Device-Manufacturer = "Silicondust"
  Device-Model-Number = "HDTC-2US"
  SSDP = true

[IPTV]
  Streams = 1               # number of simultaneous streams that the telly virtual DVR will be able to provide
                            # This is often 1, but is set by your iptv provider; for example, Vaders provides 5
  Starting-Channel = 10000  # When telly assigns channel numbers it will start here
  XMLTV-Channels = true     # if true, any channel numbers specified in your M3U file will be used.
  FFMpeg = true             # if true, streams are buffered through ffmpeg; ffmpeg must be on your $PATH
                            # if you want to use this with Docker, be sure you use the correct docker image
  
[Log]
  Level = "info"            # Only log messages at or above the given level. [debug, info, warn, error, fatal]
  Requests = true           # Log HTTP requests made to telly

[Web]
  Base-Address = "0.0.0.0:6077"   # Set this to the IP address of the machine telly runs on
  Listen-Address = "0.0.0.0:6077" # this can stay as-is

[SchedulesDirect]           # If you have a Schedules Direct account, fill in details
  Username = ""             # This is under construction; Vader is the only provider
  Password = ""             # that works with it fully at this time

[[Source]]
  Name = ""                 # Name is optional and is used mostly for logging purposes
  Provider = "Vaders"       # named providers currently supported are "Vaders", "area51", "Iris"
  Username = ""
  Password = ""
  Filter = "Sports|Premium Movies|United States.*|USA"
  FilterKey = "tvg-name"   # FilterKey normally defaults to whatever the provider file says is best, otherwise you must set this.
  FilterRaw = false        # FilterRaw will run your regex on the entire line instead of just specific keys.
  Sort = "group-title"     # Sort will alphabetically sort your channels by the M3U key provided

[[Source]]
  Name = ""
  Provider = "IPTV-EPG"
  Username = "M3U-Identifier"  # From http://iptv-epg.com/[M3U-Identifier].m3u
  Password = "XML-Identifier"  # From http://iptv-epg.com/[XML-Identifier].xml


[[Source]]
  Provider = "Custom"
  M3U = "http://myprovider.com/playlist.m3u"
  EPG = "http://myprovider.com/epg.xml"

You only need one source; the ones you are not using should be commented out or deleted. The name and filter-related keys can be used with any of the sources.

If you do not have a Schedules Direct account, that section can be removed or left blank.

Set listen- and base-address to the IP address of the machine running telly.

FFMpeg

Telly can buffer the streams to Plex through ffmpeg. This has the potential for several benefits, but today it primarily:

  1. Allows support for stream formats that may cause problems for Plex directly.
  2. Eliminates the use of redirects and makes it possible for telly to report exactly why a given stream failed.

To take advantage of this, ffmpeg must be installed and available in your path.

Docker

There are two different docker images available:

tellytv/telly:dev

The standard docker image for the dev branch

tellytv/telly:dev-ffmpeg

This docker image has ffmpeg preinstalled. If you want to use the ffmpeg feature, use this image. It may be safest to use this image generally, since it is not much larger than the standard image and allows you to turn the ffmpeg deatures on and off without requiring changes to your docker run command. The examples below use this image.

docker run

docker run -d \
  --name='telly' \
  --net='bridge' \
  -e TZ="America/Chicago" \
  -p '6077:6077/tcp' \
  -v /host/path/to/telly.config.toml:/etc/telly/telly.config.toml \
  --restart unless-stopped \
  tellytv/telly:dev-ffmpeg

docker-compose

telly:
  image: tellytv/telly:dev-ffmpeg
  ports:
    - "6077:6077"
  environment:
    - TZ=Europe/Amsterdam
  volumes:
    - /host/path/to/telly.config.toml:/etc/telly/telly.config.toml
  restart: unless-stopped

Troubleshooting

Please free to open an issue if you run into any problems at all, we'll be more than happy to help.

Social

We have a Discord server you can join!

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
api
context
Package context provides Telly specific context functions like SQLite access, along with initialized API clients and other packages such as models.
Package context provides Telly specific context functions like SQLite access, along with initialized API clients and other packages such as models.
guideproviders
Package guideproviders is a telly internal package to provide electronic program guide (EPG) data.
Package guideproviders is a telly internal package to provide electronic program guide (EPG) data.
m3uplus
Package m3uplus provides a M3U Plus parser.
Package m3uplus provides a M3U Plus parser.
metrics
Package metrics provides Prometheus metrics.
Package metrics provides Prometheus metrics.
videoproviders
Package videoproviders is a telly internal package to provide video stream information.
Package videoproviders is a telly internal package to provide video stream information.
xmltv
Package xmltv provides structures for parsing XMLTV data.
Package xmltv provides structures for parsing XMLTV data.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL