tellytv / telly

An IPTV proxy
MIT License
750 stars 105 forks source link

Filter Problems #295

Open dutchdragon3 opened 7 months ago

dutchdragon3 commented 7 months ago

telly release with the issue: 1.1.0.8

Operating environment (Docker/Windows/Linux/QNAP, etc.): Windows

Description of problem: Dont know how to fix the filter

if got 1 item in my filter NL| ALGEMEEN With 31 channels

But when i start telly is saids is loading 26136 channels.

If have looked in the m3u file in indeed found only 31 channels

but i see some other group names like : NL| SPORT same starting with NL|

Could that be the problem ?

Contents of telly.config.toml [if you're using a version above 1.1]:

# 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 Tuner:
# 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 telly virtual tuner will provide
                            # This is often 1, but is set by your iptv provider
  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 [Issue #185]

# 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 = "192.168.1.46:6077"   # Set this to the IP address of the machine telly runs on AS SEEN BY PLEX
                                  # telly will be telling Plex to connect to URLs at this address.
                                  # DO NOT REMOVE THE PORT
                                  # Just change the 0.0.0.0 to your IP address.
  Listen-Address = "0.0.0.0:6077" # this can stay as-is

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

# AT LEAST ONE SOURCE IS REQUIRED #################################################################
# COPY/PASTE THIS BLOCK TO ADD MORE SOURCES #######################################################
# THIS EXAMPLE WILL NOT WORK AS-IS ################################################################
[[Source]]
  Name = ""                 # Name is optional and is used mostly for logging purposes
  Provider = "Custom"       # DO NOT CHANGE THIS
                            # "Custom" is telly's internal identifier for this 'Provider'
                            # If you change it to "SOMETHING ELSE", telly's reaction will be
                            # "I don't recognize a provider called 'SOMETHING ELSE'."
  M3U = "http://line.myox.me/get.php?username=XXX&password=XXX&type=m3u_plus&output=ts"  # This can be either URL or fully-qualified path.
                            # This needs to be an M3Uplus file
                            # IT CANNOT BE A STREAM ADDRESS
                            # IT CANNOT BE AN M3U THAT LINKS TO ANOTHER M3U
  EPG = "http://line.myox.me/xmltv.php?username=XXX&password=XXX&type=m3u_plus&output=ts"       # This can be either URL or fully-qualified path.
  # THE FOLLOWING KEYS ARE OPTIONAL IN THEORY, REQUIRED IN PRACTICE
  Filter = "NL| ALGEMEEN"
                            # Telly is written in Go, and uses the Go regular expression system, 
                            # which is limited compared to other regular expression parsers.
  FilterKey = "group-title" # Telly applies the regular expression to the contents of this key in the M3U.
  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  ###############################################################################

Command line used to run telly [if applicable]:

time="2023-11-21T17:58:48+01:00" level=info msg="telly is preparing to go live (version=1.1.0.8, branch=dev, revision=96424a4719f33de9c1b66d8d2186e0452e45a234)"
time="2023-11-21T17:58:48+01:00" level=info msg="Loading M3U from http://line.myox.me/get.php?username=REDACTED&password=REDACTED&type=m3u_plus&output=ts"
time="2023-11-21T17:59:13+01:00" level=info msg="Loading XMLTV from http://line.myox.me/xmltv.php?username=REDACTED&password=REDACTED&type=m3u_plus&output=ts"
time="2023-11-21T18:00:32+01:00" level=info msg="Loaded 26136 channels into the lineup from "
time="2023-11-21T18:00:32+01:00" level=panic msg="telly has loaded more than 420 channels (26136) into the lineup. Plex does not deal well with more than this amount and will more than likely hang when trying to fetch channels. You must use regular expressions to filter out channels. You can also start another Telly instance."
panic: (*logrus.Entry) (0xae8e20,0x1bfab440)

goroutine 1 [running]:
github.com/sirupsen/logrus.Entry.log(0x1152ac0, 0x25382160, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        /go/pkg/mod/github.com/sirupsen/logrus@v1.4.1/entry.go:239 +0x2c4
github.com/sirupsen/logrus.(*Entry).Log(0x1bfab3c0, 0x0, 0x12031de4, 0x1, 0x1)
        /go/pkg/mod/github.com/sirupsen/logrus@v1.4.1/entry.go:268 +0xb4
github.com/sirupsen/logrus.(*Entry).Logf(0x1bfab3c0, 0x0, 0xb1cfd5, 0x112, 0x12031e48, 0x1, 0x1)
        /go/pkg/mod/github.com/sirupsen/logrus@v1.4.1/entry.go:314 +0xca
github.com/sirupsen/logrus.(*Logger).Logf(0x1152ac0, 0x0, 0xb1cfd5, 0x112, 0x12031e48, 0x1, 0x1)
        /go/pkg/mod/github.com/sirupsen/logrus@v1.4.1/logger.go:145 +0x86
github.com/sirupsen/logrus.(*Logger).Panicf(...)
        /go/pkg/mod/github.com/sirupsen/logrus@v1.4.1/logger.go:186
main.(*lineup).Scan(0x120399e0, 0xafff78, 0x15)
        /app/lineup.go:141 +0x18d
main.main()
        /app/main.go:168 +0xd96

Docker run command used to run telly [if applicable]:


**telly or docker log:**


**Additional information:**
chazlarson commented 7 months ago

There are some scripts linked here that can help you test filters outside telly: https://github.com/tellytv/telly/wiki/Running-Telly%3A-Filtering