Code Monkey home page Code Monkey logo

telly's Introduction

telly

IPTV proxy for Plex Live written in Golang

Please refer to the Wiki for the most current documentation.

This readme refers to version 1.1.x . It does not apply to versions other than that.

The Wiki includes walkthroughs for most platforms that go into more detail than listed below:

THIS IS A DEVELOPMENT BRANCH

It is under active development and things may change quickly and dramatically. Please join the discord server if you use this branch and be prepared for some tinkering and breakage.

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.

NOTE "the directory telly is running from" is your CURRENT WORKING DIRECTORY. For example, if telly and its config file file are in /opt/telly/ and you run telly from your home directory, telly will not find its config file because it will be looking for it in your home directory. If this makes little sense to you, use one of the other two locations OR cd into the directory where telly is located before running it from the command line.

ATTENTION Windows users: be sure that there isn’t a hidden extension on the file. Telly can't read its config file if it's named something like telly.config.toml.txt.

# THIS SECTION IS REQUIRED ########################################################################
[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

# Note on running multiple instances of telly
# There are three things that make up a "key" for a given Telly Virtual DVR:
# Device-ID [required], Device-UUID [optional], and port [required]
# When you configure your additional telly instances, change:
# the Device-ID [above] AND
# the Device-UUID [above, if you're entering one] AND
# the port [below in the "Web" section]

# THIS SECTION IS REQUIRED ########################################################################
[IPTV]
  Streams = 1               # number of simultaneous streams that the telly virtual DVR will 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 this is uncommented, streams are buffered through ffmpeg; 
                            # ffmpeg must be installed and on your $PATH
                            # if you want to use this with Docker, be sure you use the correct docker image
# if you DO NOT WANT TO USE FFMPEG leave this commented; DO NOT SET IT TO FALSE
  
# THIS SECTION IS REQUIRED ########################################################################
[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

# THIS SECTION IS REQUIRED ########################################################################
[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

# THIS SECTION IS NOT USEFUL ======================================================================
#[SchedulesDirect]           # If you have a Schedules Direct account, fill in details and then
                             # UNCOMMENT THIS SECTION
#  Username = ""             # This is under construction; no provider
#  Password = ""             # works with it at this time

# AT LEAST ONE SOURCE IS REQUIRED #################################################################
# NONE OF THESE EXAMPLES WORK AS-IS; IF YOU DON'T CHANGE IT, DELETE IT ############################
[[Source]]
  Name = ""                 # Name is optional and is used mostly for logging purposes
  Provider = "Custom"       # DO NOT CHANGE THIS IF YOU ARE ENTERING URLS OR FILE PATHS
                            # "Custom" is telly's internal identifier for this 'Provider'
                            # If you change it to "NAMEOFPROVIDER" telly's reaction will be
                            # "I don't recognize a provider called 'NAMEOFPROVIDER'."
  M3U = "http://myprovider.com/playlist.m3u"  # These can be either URLs or fully-qualified paths.
  EPG = "http://myprovider.com/epg.xml"
  # THE FOLLOWING KEYS ARE OPTIONAL IN THEORY, REQUIRED IN PRACTICE
  Filter = "Sports|Premium Movies|United States.*|USA"
  FilterKey = "group-title" # 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
# END TELLY CONFIG  ###############################################################################

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 features 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!

telly's People

Contributors

5ub-z3r0 avatar billoatman avatar chazlarson avatar einauslander avatar enormoz avatar guyspr avatar hazcod avatar imimx avatar maaximal avatar mulbc avatar omgimalexis avatar robbiet480 avatar tmm1 avatar tombowditch avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

telly's Issues

Advanced Filtering

Rather than just matching channels that contain a specified string, I'd like to be able to exclude channels that contain a string, or start/end with a string.

(I tried using negative lookarounds, but go doesn't support them)

DVR Device name is tvhProxy, not telly

Thank your for this great project.

I have some trouble to get it work.

If i try to add telly to the plex, i am getting this:

telly

If i am done with the configuration, cant open any channel (unable to tune channel, timed out).

On the DVR settings from plex:

image

I am not using tvhproxy or tvheadend.

Australian IPTV - m3u(8) woes

Hi,
New to IPTV and playlist files so please excuse any basic ignorance that shows through :)

I have your Telly docker installed on unraid and have found a source of Australian IPTV from here:
https://www.matthuisman.nz/2017/07/australia-iptv-epg-files.html

From the instructions on that page I determined the relevant URL as:
TV: http://iptv.matthuisman.nz/au/Adelaide/raw-tv.m3u8

and plugged that into the docker config (Path or URL to m3u playlist from IPTV Provider:)

Result I'm getting is that the docker fails to start and the log shows:
[telly] [info] booting telly v0.4.4
[telly] [info] Downloading file http://iptv.matthuisman.nz/au/Adelaide/raw-tv.m3u8 to /telly.m3u
[telly] [error] Could not download: Get https://raw.githubusercontent.com/matthuisman/iptv/9d837a45e637b4c6f59b9ffd8faa7a09f10eaf90/au/Adelaide/raw-tv.m3u8: x509: failed to load system roots and no roots provided

Not sure if I'm missing something obvious, or what I'm trying to do is simply not supported - would very much appreciate any guidance.

** not sure if it helps, but this same URL works using the IPTV plugin within Plex **

Thanks,
Shane.

Unclear on how to use -filterregex

I have tried using -filterregex in various forms but it seems no matter what I'm doing, it's not filtering out channels:

This doesn't seem to work:

./telly-linux-amd64 -file tv_channels_.com_plus.m3u -filterregex Arabic -filterregex French -filterregex Latino -filterregex Germany -filterregex NHL -filterregex MLB -filterregex CBN -filterregex Indian -filterregex African -filterregex Polish -filterregex Portuguese -logrequests

This also doesn't seem to work:

./telly-linux-amd64 -file tv_channels_.com_plus.m3u -filterregex Arabic French Latino Germany NHL MLB CBN Indian African Polish Portuguese -logrequests

and I've tried this:

./telly-linux-amd64 -file tv_channels_.com_plus.m3u -filterregex Arabic, French, Latino, Germany, NHL, MLB, CBN, Indian, African, Polish, Portuguese -logrequests

Any help would be appreciated.

Adding a License

Please add a license to your project, that way contributors no what they're getting into and what this code can be used for.

If you don't have any preferences, I'd recommend MIT or BSD for giving users permission to do most everything.

nas install

Hello, please how to execute on synology nas docker please

Channel names not parsed correctly

#EXTM3U
#EXTINF:-1, tvg-name="NBC San Diego HD" tvg-id="I393.10590.schedulesdirect.org" tvg-logo="http://xxxx.tv/logos/usa%20nbc%20hd.png" group-title="United States - Regionals",NBC San Diego HD
http://xxxx.tv/live/username/password/2769.ts
#EXTINF:-1, tvg-name="CBS San Diego HD" tvg-id="I391.19567.schedulesdirect.org" tvg-logo="http://xxxx.tv/logos/usa%20cbs%20hd.png" group-title="United States - Regionals",CBS San Diego HD
http://xxxx.tv/live/username/password/2768.ts

feb-08-2018_05 52 53-capturfiles

command line:
./telly --file xxxxx.m3u --listen 10.0.0.52:6077 --useregex .*United.States.*

Unable to tune channel error

I'm running Telly command below and though it's added successfully, it errors out when playing

./telly-linux-amd64 -playlist="https://raw.githubusercontent.com/matthuisman/iptv/master/nz/tvh-tv.m3u8" -streams=1
[telly] [info] booting telly v0.4.5
[telly] [info] Downloading file https://raw.githubusercontent.com/matthuisman/iptv/master/nz/tvh-tv.m3u8 to /tmp/telly.m3u
[telly] [info] Reading m3u file /tmp/telly.m3u...
[telly] [warning] telly is not attempting to strip out unneeded channels, please use the flag -filterregex if telly returns too many channels
[telly] [info] telly is currently not filtering for only uk television. if you would like it to, please use the flag -uktv
[telly] [info] found 15 channels
[telly] [info] creating discovery data
[telly] [info] creating lineup status
[telly] [info] creating device xml
[telly] [info] creating webserver routes
[telly] [info] Building lineup
[telly] [info] listening on localhost:6077

I get a Unable to tune channel (Timed out) error.

There are no errors in telly stdout. I'm running this on Ubuntu 17.04 with plex media server v1.12.0.4829.

Mac OS support?

Hey! This is great! How would I go about this on Mac OS? Or is it not possible currently?

generic question

I just found this, thanks a lot. My question is the following (and sorry if the question is too simple or not for you but I'm just getting familiar with all of this):

I have a IPTV service and I'm getting the m3u file through a url using the API of my provider with my user/pass. I see in the m3u a url with a ts file for every channel. My question is do I have to generate this m3u with some frequency?
I'm asking this because in the past I was using a different tvproxy and it automatically generated a token that was changed every 4h by the provider. I don't see this here but just in case.

Thanks again.

telly on nVidia Shield Plex Media Server

There are a huge amount of people in the Plex world using nVidia Shields as their Plex Media Server. It’s basically a small powerful games console running Android TV and with hardware H264 and H265 chips which means it runs circles around most older but more powerful Intel Core i7 processors that don’t have hardware decoding.

Could telly be used on the nVidia Shield?

Pull m3u from URL?

Is it currently possible to pull an m3u from a URL? If not is this something that could be added? Thanks.

use -useregex and -filterregex to take a .txt file

Feature request:

I use a set of scripts in an automated way for now to archive an Unique file that can be use in combination with telly

It will be more handy in some cases if is possible to use the power of use:
-useregex & -filteregex from a "newfileName.txt"
as an alternative for large selection of channels, groups, country's, etc...

this came up as the result of using other scripts in combination with telly
for an easy and clear example this can be archive in the following way.

C:\Python27\python.exe C:\m3u-epg-editor.py -m="http://iptv...=ts" --epgurl="http://epg.xml.gz" -g="'sports','spain'" -d="C:\telly" -f="C:\telly\mix"

With this script you can filter the original files m3u & xml and will give you also two (2) files.txt

  1. no_epg_channles.txt
  2. mix.txt

So here it comes the action

I take Powershell and gc $mix| sort | get-unique > $newfileName

Now

telly -useregex "C:\telly\newfileName.txt" -filteregex "C:\telly\no_epg_channles.txt" instead of the current way oftelly -filteregex "'a'|'b'|...|'z'"`

This is all accomplished in an automated way (not all the scripts are full disclosure)

Flawless M3U - unable to parse length

I read somewhere that the creator of this uses flawless hosting IPTV so i thought i'd sign up for a 48 hour trial so i could try telly out.

When i download the m3u file from flawless, save it in the same folder as telly and run

./telly -uktv -playlist=iptv.m3u

I get the following:

[telly] [info] Reading m3u file playlist.m3u...
[telly] [error] unable to read m3u file, error below
[telly] [error] m3u files need to have specific formats, see the github page for more information
[telly] [error] future versions of telly will attempt to parse this better
panic: Unable to parse length

goroutine 1 [running]:
main.main()
/Users/tom/code/telly/main.go:161 +0x199b

I've tried a free iptv playlist from the internet just to see if telly runs, picks up channels and if i can add the tuner into plex, which all works fine minus the channels not working due to i assume it being a free playlist with unreliable streams.

I also tried using the URL that flawless gave me which looks like this (obviously with my credentials):

http://flawless-hosting.solutions:/get.php?username=xxmyemailxx&password=xxmypasswordxx&type=m3u_plus&output=mpegts

but it picks up 0 channels.

Can anyone please help? Or even tell me which IPTV the creator does use so i can follow suit.

How to use -useregex and Examples

I tried with:
./telly-linux-amd64 -file=xxx.m3u -useregex Latino
and
./telly-linux-amd64 -file=vader.m3u -useregex=Latino
and
./telly-linux-amd64 -file=vader.m3u -useregex=(Latino)

Can you please provide some examples? I'm trying to filter the group "Latino" and "United States" similar to the -uktv flag but for other groups of channels.

I have almost 1200 channels in the playlist and I'm having issues when trying to edit my channel list / mapping in Plex. During setup it loaded ok but afterwards the browser just hangs and then shows an error that was not able to load the list and I see a timeout error in the Plex logs. Not sure if is telly related or Plex related but having a small group of channels I hope it can be fixed.

Thanks.

Virus in telly-windows-386.exe ?

I can't download telly-windows-386.exe. Windows is removing the file every time and it's telling me that there is a virus.

Ben

Parameter -temp & -Useregex not working on Windows

Hi, there's some issues on the windows 64 release
As you can see bellow the local directory exist but telly someshow is unable to finish the creation of the file and fails.
As i could see on discord you have solve this on linux and it would be nice to have it too on Windows.

PS C:\Users\Carlos\Documents\tools> telly-windows-amd64.exe -playlist="http://api.vaders.tv/vget?username=username&password=password&format=ts" -streams 5 -friendlyname "MIX"-useregex 'usa|spain' -logrequests [telly] [info] booting telly v0.4.4 [telly] [error] Could not create file: C:\Users\Carlos\AppData\Local\Temp ; open C:\Users\Carlos\AppData\Local\Temp: is a directory

if the temp file is definded it will work for example -temp C:\Users\Carlos\AppData\Local\Temp\filename

1 Channel showing

I have 9 channles in my m3u file but only 1 is showing up. here is my output. everything seems to be running fine though.

#EXTM3U
#EXTINF:-1, tvg-ID="HGTV.ca" tvg-name="HGTV CA HD" tvg-logo="http://xxxx.tv/logos/hgtv%20ca%20hd.png" group-title="Canada",HGTV CA HD
http://xxxx.tv:80/live/xxxx/xxxx/2860.ts
#EXTINF:-1, tvg-ID="" tvg-name="Showcase HD" tvg-logo="" group-title="Canada",Showcase HD
http://xxxx.tv:80/live/xxxx/xxxx/75897.ts
#EXTINF:-1, tvg-ID="" tvg-name="Global TV Montreal" tvg-logo="" group-title="Canada",Global TV Montreal
http://xxxx.tv:80/live/xxxx/xxxx/75898.ts
#EXTINF:-1, tvg-ID="ABC.us" tvg-name="ABC HD" tvg-logo="http://xxxx.tv/logos/usa%20abc%20hd.png" group-title="United States",ABC HD
http://xxxx.tv:80/live/xxxx/xxxx/2435.ts
#EXTINF:-1, tvg-ID="CBS.us" tvg-name="CBS HD" tvg-logo="http://xxxx.tv/logos/usa%20cbs%20hd.png" group-title="United States",CBS HD
http://xxxx.tv:80/live/xxxx/xxxx/2440.ts
#EXTINF:-1, tvg-ID="NBC.us" tvg-name="NBC HD" tvg-logo="http://xxxx.tv/logos/usa%20nbc%20hd.png" group-title="United States",NBC HD
http://xxxx.tv:80/live/xxxx/xxxx/2455.ts
#EXTINF:-1, tvg-ID="FOX.us" tvg-name="FOX HD" tvg-logo="http://xxxx.tv/logos/usa%20fox%20hd.png" group-title="United States",FOX HD
http://xxxx.tv:80/live/xxxx/xxxx/2448.ts
#EXTINF:-1, tvg-ID="CW.us" tvg-name="CW HD" tvg-logo="http://xxxx.tv/logos/usa%20cw%20hd.png" group-title="United States",CW HD
http://xxxx.tv:80/live/xxxx/xxxx/8198.ts
#EXTINF:-1, tvg-ID="AandE.us" tvg-name="A&E HD" tvg-logo="http://xxxx.tv/logos/usa%20a%26e%20hd%20.png" group-title="United States",A&E HD
http://xxxx.tv:80/live/xxxx/xxxx/2463.ts

telly needs SSDP/UPnP

According to @andyblac Plex pings the device to see if it's "alive" persay via SSDP/UPnP. telly does NOT do this currently and we'll need to implement it to allow telly to be automatically discovered and to make it properly work with existing HDHomeruns (see #26)

From @andyblac:

just a heads up plex 'pings' the device via the SSDP protocol, you need to add a SSDP routine to your code, have a look how i managed this at my project https://github.com/OpenViX/HRTunerProxy your more than welcome to used some code, just a give me a thanks in your app.

this is also how your device will be automatically seen in the plex setup screens. also make sure your UUID's are the correct length and format a simple 12345678 is not enough

T

I need m3us!

telly will be moving to its own m3u parser shortly and I think it'd be nice to add different providers m3u's to the test scripts

Now, I need m3us. I need, ideally, 10 channels of your m3u unmodified (except for censoring URLs & credentials) - that means no sed command, etc.

A format like this would be great:


Provider: MyIptvProvider
M3U:

#EXTM3U
#EXTINF:-1 tvg-name="some name" tvg-id="some id.country" tvg-logo="http://some/logo" group-title="abc",some name
http://your-provide.r/a/b/c/d.ts
#EXTINF:-1 tvg-name="some name" tvg-id="some id.country" tvg-logo="http://some/logo" group-title="abc",some name
http://your-provide.r/a/b/c/d.ts
#EXTINF:-1 tvg-name="some name" tvg-id="some id.country" tvg-logo="http://some/logo" group-title="abc",some name
http://your-provide.r/a/b/c/d.ts
#EXTINF:-1 tvg-name="some name" tvg-id="some id.country" tvg-logo="http://some/logo" group-title="abc",some name
http://your-provide.r/a/b/c/d.ts
#EXTINF:-1 tvg-name="some name" tvg-id="some id.country" tvg-logo="http://some/logo" group-title="abc",some name
http://your-provide.r/a/b/c/d.ts
#EXTINF:-1 tvg-name="some name" tvg-id="some id.country" tvg-logo="http://some/logo" group-title="abc",some name
http://your-provide.r/a/b/c/d.ts
#EXTINF:-1 tvg-name="some name" tvg-id="some id.country" tvg-logo="http://some/logo" group-title="abc",some name
http://your-provide.r/a/b/c/d.ts
#EXTINF:-1 tvg-name="some name" tvg-id="some id.country" tvg-logo="http://some/logo" group-title="abc",some name
http://your-provide.r/a/b/c/d.ts
#EXTINF:-1 tvg-name="some name" tvg-id="some id.country" tvg-logo="http://some/logo" group-title="abc",some name
http://your-provide.r/a/b/c/d.ts
#EXTINF:-1 tvg-name="some name" tvg-id="some id.country" tvg-logo="http://some/logo" group-title="abc",some name
http://your-provide.r/a/b/c/d.ts

T

timeout in Plex Web

Hey Tom!

I am trying to play basically any stream at all via Plex Web but sadly it always fails with this error message:
imgur

The .m3u looks like this:

#EXTM3U
#EXTINF:-1 tvg-id="station" tvg-name="Station" tvg-logo="xxx.xxx/picon/station.png" group-title="Germany",Station
http://xxx.xxx:8080/live/xxx/xxx/9150.ts

It also fails in the iOS app.

Any idea?

Changes to m3u not picked up by Telly

Once you get Telly setup and running, it does not ever look to re-parse your input .m3u file. This could be done either by listening for changes on the file itself, or just allowing the user to set Telly to re-parse the m3u file on a set interval.

In my situation something like this is useful when my provider decides to add channels for live events, or if the URL of a channel changes.

Appreciate the hard work!

Slow transcoding

Can you guys maybe help me track down why I can't get plex to transcode above 1? I have dual e5-2670s so I have more than enough power. When it's buffering I only have a load of 4 or 5 and CPU usage of 20%. This is with a bunch of other people streaming non-live TV.

Can't setup DVR

First of all, thank you for this promising software.

I tried to setup Telly but I can't manage to get past the DVR setup. It tries to get the channel list but then shows an error.

My Plex Media Server version is 1.11.1.4760.

capture d ecran 2018-02-08 a 18 52 23

This is what I get from the terminal

# ./telly -file playlist.m3u
[telly] [parser] Reading m3u file playlist.m3u ...
[telly] [warning] telly is not attempting to strip out unneeded channels, please use the flag -useregex if telly returns too many channels
[telly] [info] telly is currently not filtering for only uk television. if you would like it to, please use the flag -uktv
[telly] [info] found 131 channels

[telly] [info] creating discovery data
[telly] [info] creating lineup status
[telly] [info] creating device xml
[telly] [info] creating webserver routes
[telly] [info] listening on localhost:6077
2018/02/08 18:53:45 http: panic serving 127.0.0.1:43795: runtime error: index out of range
goroutine 19 [running]:
net/http.(*conn).serve.func1(0xc420093040)
	/usr/local/Cellar/go/1.9/libexec/src/net/http/server.go:1697 +0xd0
panic(0x684ea0, 0x849410)
	/usr/local/Cellar/go/1.9/libexec/src/runtime/panic.go:491 +0x283
main.main.func6(0x81ff40, 0xc42013c000, 0xc420138000)
	/Users/tom/go/src/github.com/tombowditch/telly/main.go:204 +0x4a9
net/http.HandlerFunc.ServeHTTP(0xc42008cd80, 0x81ff40, 0xc42013c000, 0xc420138000)
	/usr/local/Cellar/go/1.9/libexec/src/net/http/server.go:1918 +0x44
net/http.(*ServeMux).ServeHTTP(0x853b60, 0x81ff40, 0xc42013c000, 0xc420138000)
	/usr/local/Cellar/go/1.9/libexec/src/net/http/server.go:2254 +0x130
net/http.serverHandler.ServeHTTP(0xc4200a2c30, 0x81ff40, 0xc42013c000, 0xc420138000)
	/usr/local/Cellar/go/1.9/libexec/src/net/http/server.go:2619 +0xb4
net/http.(*conn).serve(0xc420093040, 0x820480, 0xc4200a8440)
	/usr/local/Cellar/go/1.9/libexec/src/net/http/server.go:1801 +0x71d
created by net/http.(*Server).Serve
	/usr/local/Cellar/go/1.9/libexec/src/net/http/server.go:2720 +0x288

Do you know what I've done wrong ? I've tried to pass m3u file with only one (working) channel, but that doesn't fix it.

Thank you

Docker

Hello,

I'm unable to use software outside of Docker containers or not in .exe format due to technical reasons mostly linking to my lack of brain cells can you provide a .exe or docker container for me to run?

Kind Regards,
Tom Glass

xmltv epgs

If you would like to use a epg other than the default Plex one you can visit. http://wiki.xmltv.org/index.php/Main_Page

Search for your country of choice and it will guide you to where you can get the relevant epg, I used the UK version and Plex mapped most of the channels correctly with only a few to map. Hopefully this helps with the tedious process of mapping.

Set max number of streams

Is there a way to set the number of streams/tuners allowed? At the moment Plex seems to detect Telly only capable of a single stream. But my provider supports up to 6 streams at once. Thanks

Recordings stop after a couple of minutes

My recordings are stopping from anywhere between 30 seconds and 15 minutes, telly doesn't seem to show any errors and neither does plex. I've attached my logs.
Plex Media Server Logs_2018-03-05_11-33-10.zip
Watching live works well and my other DVB-T tuners record the full programme.
I'm using the following line in my batch file to start telly in windows 10:
start /d "C:\Users\Mayserver\Desktop" telly.exe -uktv -streams 3
Anyone else having the same problem.

Unable to add Telly with exiting HDHomeRun

I have an existing HDHomeRun Prime that's hooked through Plex on Ubuntu 16.04 LTS. With ZERO DVR's configured I input localhost:6077 and then hit continue it shows the telly tuner but then auto switches to the HDHomerun.

With the HDHomerun configured first, I'm allowed to add Telly tuner and configure channels, match epg and finish. Says complete and it will be downloading the program guide. However as soon as I switch off that screen the Tuner displays: Device not found. Ensure your device is powered on and connected to your network.

https://imgur.com/a/xhmGo
(screens to display what I'm referencing)

I'm remote currently but will try unplugging the HDHomerun tomorrow and setup telly on it's own and report back.

edit#1
I should also report that I'm using Vaders m3u link from Xtream-editor widdled down to roughly 404 channels.

Plex will lose connection to telly, but no error reported

I'm not exactly sure where the break is occurring, but when updating large EPGs (~2500 channels) plex will lose connection to telly and stop the update process. I've never actually gotten it to successfully update the EPG once telly is added. I have another tuner on the network (hdhomerun connect) and plex isn't losing connection to that.

I'm running telly on the same instance as plex, listening on localhost.

Possible docker image change required for Kitematic

I've got the docker running in Kitematic, but can't get it to create the temp m3u file.
[telly] [info] booting telly v0.4.3
[telly] [error] Could not create file: /tmp/telly.m3u ; open /tmp/telly.m3u: no such file or directory

It's possible when creating the image the VOLUME argument needs to be defined, but I am a newbie to dockers.

Running sed on OSX produces an error

Running sed as instructed in the readme...
sed -i 's/#EXTINF:-1/#EXTINF:-1,/g' myiptv.m3u
...on OSX will result in the following error
sed: 1: "myiptv.m3u": invalid command code o

OSX requires an additional parameter to run correctly

The OS X version needs a value for the -i flag so you don’t inadvertently overwrite a file if you don’t mean to. To overwrite the file we’re trying to modify you just need to add two speech marks after the -i flag as follows.
https://ed.gs/2016/01/26/os-x-sed-invalid-command-code/

The following works like a charm
sed -i "" 's/#EXTINF:-1/#EXTINF:-1,/g' myiptv.m3u

👍

Plex in docker can not see telly

I'm running plex in docker via cloudbox (https://github.com/Cloudbox/Cloudbox).

Running telly locally not in docker works to the point it says go to localhost:6077 but plex says There was a problem adding the device: localhost:6077.

I then put telly into a docker container and have it on the same network as plex docker, same problem works, finds m3u file and says There was a problem adding the device: localhost:6077.

Stuck as what to trouble shoot now.

Tried localhost 0.0.0.0, 127.0.0.1, 172.17.0.15 ect

fails to parse Freebox m3u

Hi !
Great tool, couldn't wait to test it ;-)

I get the following error with Freebox m3u (French Internet provider with free IPTV stream)

goroutine 1 [running]:
main.main()
        /go/src/app/main.go:180 +0x1b9f
[telly] [info] booting telly v0.4.3
[telly] [info] Reading m3u file "/config/playlist.m3u"...
[telly] [error] unable to read m3u file, error below
[telly] [error] m3u files need to have specific formats, see the github page for more information
[telly] [error] future versions of telly will attempt to parse this better
panic: Unable to open playlist file

Extract of the m3u:
#EXTM3U
#EXTINF:0,2 - France 2 (standard)
rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=201&flavour=sd
#EXTINF:0,2 - France 2 (bas débit)
rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=201&flavour=ld
#EXTINF:0,2 - France 2 (HD)
rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=201&flavour=hd
#EXTINF:0,2 - France 2 (auto)
rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=201
#EXTINF:0,3 - France 3 (HD)
rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=202&flavour=hd
#EXTINF:0,3 - France 3 (standard)
rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=202&flavour=sd
#EXTINF:0,3 - France 3 (bas débit)
rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=202&flavour=ld
#EXTINF:0,3 - France 3 (auto)
rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=202
#EXTINF:0,5 - France 5 (auto)
rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=203
#EXTINF:0,5 - France 5 (HD)
rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=203&flavour=hd
#EXTINF:0,5 - France 5 (standard)
rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=203&flavour=sd
#EXTINF:0,7 - Arte (standard)
rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=204&flavour=sd
#EXTINF:0,7 - Arte (bas débit)
rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=204&flavour=ld
#EXTINF:0,7 - Arte (HD)
rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=204&flavour=hd
#EXTINF:0,7 - Arte (auto)
rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=204
#EXTINF:0,8 - C8 (standard)
rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=372&flavour=sd
#EXTINF:0,10 - TMC (bas débit)
rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=497&flavour=ld
#EXTINF:0,10 - TMC (HD)
rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=497&flavour=hd
#EXTINF:0,10 - TMC (standard)
rtsp://mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=497&flavour=sd
#EXTINF:0,10 - TMC (auto)

Thanks,
Christophe.

MAC addresses and telly

I am missing in the how-to set this up. All IPTV services require you to provide them with a MAC address to connect to their servers. I don't see any of that in the how-to. So how does this work? You have to explain it like we are all 3 year old's if you want it to be super popular! :)

-streams not working

Does it matter what location we put the -streams 4? It doesn't seem to be working. Plex is only allowing one stream at a time. Also even when telly is running Plex shows that the tuner is offline, but it's still functional.

Help with -file

Have downloaded the telly file onto my Mac and using this command to try and run Telly
pointed at my m3u file but it says 'no such file or directory'
Am not great with Command Line any ideas please ? here is the command I am using
chmod +x ./telly -file=/Users/user/Desktop/myiptv.m3u

I have used CD to the file where telly is sitting and it now only gives me that error. Any help would be appreciated.

Jon

EXTM3U header present but telly doesn't wnat to read the m3u file

Hi @tombowditch
I am really interested in using telly but I can't get it to read any m3u file
my os is Windows 10
I launch a command console as administrator
and do that launch telly-windows-amd64.exe

C:\Users\NicoLeOca\Downloads>telly64.exe -playlist=C:\Users\NicoLeOca\Downloads\IPTV2.m3u
[telly] [info] booting telly v0.4.4
[telly] [info] Reading m3u file C:\Users\NicoLeOca\Downloads\IPTV2.m3u...
[telly] [error] unable to read m3u file, error below
[telly] [error] m3u files need to have specific formats, see the github page for more information
[telly] [error] future versions of telly will attempt to parse this better
panic: Invalid m3u file format. Expected #EXTM3U file header

goroutine 1 [running]:
main.main()
        /Users/tom/code/telly/main.go:182 +0x1ca7

here is one of the m3u file which failed.
It has a #EXTM3U header

#EXTM3U
#EXTINF:-1,FR: SFR SPORT 1 HD
http://beinshoot.net:8000/live/zeinsport3/afsfsf00202s0f20sfs20/488.ts
#EXTINF:-1,FR: SFR SPORT 2 HD
http://beinshoot.net:8000/live/zeinsport3/afsfsf00202s0f20sfs20/487.ts
#EXTINF:-1,FR: SFR SPORT 3 HD
http://beinshoot.net:8000/live/zeinsport3/afsfsf00202s0f20sfs20/486.ts
#EXTINF:-1,France-13emeRue
http://beinshoot.net:8000/live/zeinsport3/afsfsf00202s0f20sfs20/794.ts
#EXTINF:-1,France-2
http://beinshoot.net:8000/live/zeinsport3/afsfsf00202s0f20sfs20/806.ts
#EXTINF:-1,France-23-Local
http://beinshoot.net:8000/live/zeinsport3/afsfsf00202s0f20sfs20/779.ts
#EXTINF:-1,France-24
http://beinshoot.net:8000/live/zeinsport3/afsfsf00202s0f20sfs20/776.ts
#EXTINF:-1,France-3
http://beinshoot.net:8000/live/zeinsport3/afsfsf00202s0f20sfs20/805.ts
#EXTINF:-1,France-4
http://beinshoot.net:8000/live/zeinsport3/afsfsf00202s0f20sfs20/804.ts
#EXTINF:-1,France-5
http://beinshoot.net:8000/live/zeinsport3/afsfsf00202s0f20sfs20/803.ts
#EXTINF:-1,France-AB1
http://beinshoot.net:8000/live/zeinsport3/afsfsf00202s0f20sfs20/795.ts
#EXTINF:-1,France-Action
http://beinshoot.net:8000/live/zeinsport3/afsfsf00202s0f20sfs20/796.ts
#EXTINF:-1,France-Animaux
http://beinshoot.net:8000/live/zeinsport3/afsfsf00202s0f20sfs20/787.ts
#EXTINF:-1,France-ARTE-local
http://beinshoot.net:8000/live/zeinsport3/afsfsf00202s0f20sfs20/775.ts
#EXTINF:-1,France-BFM
http://beinshoot.net:8000/live/zeinsport3/afsfsf00202s0f20sfs20/785.ts
#EXTINF:-1,France-C-news-local
http://beinshoot.net:8000/live/zeinsport3/afsfsf00202s0f20sfs20/810.ts
#EXTINF:-1,France-C8-Local

Can you help please?

Vaderstreams m3u

Has anyone had any luck getting this to work with the vaderstreams m3u? I Have saved the link from them to a m3u file and changed the format. But another thing I noticed by teseting one stream is that telly would only see it if I removed the line tvg-id="BTSport3.uk" for example, this is to much work to remove all of those from a list of about 2000 streams.

#EXTINF:-1, tvg-name="BBC One HD" tvg-id="BBC1.uk" tvg-logo="http://redacted/logos/bbc%20one%20hd.png" group-title="United Kingdom",BBC One HD http://redacted/live/xxxx/xxxx/2464.ts

This line will not work with telly, but if I edit to.

#EXTINF:-1, tvg-name="BBC One HD" tvg-logo="http://redacted/logos/bbc%20one%20hd.png" group-title="United Kingdom",BBC One HD http://redacted/live/xxxx/xxxx/2464.ts

it works

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.