DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance)
Added by G Kazaroth over 2 years ago
Cabernet for (Cable Network) version 0.9.12 (4/13/2023)
TVGuide, DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex¶
Provides a configurable interface from providers to TVHeadend.
- Direct streaming plugins for DaddyLive, PlutoTV, XUMO
- EPG supplemented using TVGuide.com data
- M3U Plugin provides channels for: SamsungTVPlus, Plex, PBS, Stirr, and others
- From: https://i.mjh.nz/
- Import your own M3U file
https://github.com/cabernetwork/cabernet/releases
Purpose is to get a service that will take the DaddyLive, PlutoTV or XUMO server stream, clean it and feed it into TVHeadend and other DVRs (Also tested on Emby, JellyFin and Plex). Also it runs on Linux, Windows as a service and Docker. Windows has a installer. Once installed, setup is easy with TVHeadend. Also includes a TVGuide.com plugin to obtain TVGuide data.
1) Setup the automatic IPTV network (recommend new URL is http://[host]:6077/PlutoTV/channels.m3u)
Make sure to set the "Maximum # input streams". PlutoTV is set to a max of 4 and tvheadend uses 2 per tuner during initial screening. Doing a force scan will create the mux and service values. Also, turn View level to Advanced and set the Re-fetch period (mins) to a very large number. TVheadend has a tenancy to cause issues when channels change (Changed Services will not be mapped to channels). The Maximum Timeout is used to wait for a reply during a Forced scan. Recommend keep this low, like 15-20 seconds. Some of the channels may fail, but it is faster than having a high setting and waiting for all channels to scan. Just individually rescan those that failed by setting each mux back to PEND from IDLE.
2) Next you can setup the grabber. I use a URL grabber written in Unix bash and is an extremely small file. It can be found in the github repo at
https://github.com/cabernetwork/cabernet/tree/master/lib/tvheadend/service/Unix called tv_grab_url
Place the grabber file in the same location as the other TVHeadend tv_grab* files, change the permissions to executable and restart TVHeadend. This should allow TVHeadend to pickup the new grabber. While in the grabber list, make sure and disable any OTA grabbers. Stations no longer send this information and will only cause TVHeadend to use a tuner for scanning. Displaying the log window by clicking the three ^ in the bottom right is helpful at this time.
Have the grabber run and populate the EPG data into the EPG Grabber Channels tab. The log should show a quantity of channels were detected.
Pop over to the EPG Grabber tab and disable the OTA grabber cron. Also, update/replace the Internal grabber cron schedule using something like below. The example will pull the TV guide at 6:04am and 5:52pm. Add more if you need. It is recommended to use static cron times.
4 6 * * * 52 17 * * *
3) In the Channel view, select Map all channels.

This will tie the services, EPG and channels together, automatically. After this, re-grab the EPG data. This will populate the EPG tab with shows. For TVH version 4.3, the Number column will auto-populate. For TVH 4.2, you will need to manually add channel numbers.
4) Display the TVGUIDE. This appliance has special features which maps the tvheadend genre, giving colors on tvguides. It also has enhanced guide descriptions and optional additional channel notations if you use many streams. Below is the Kodi tvguide using the pvr.hts plugin.

For Kodi, go to the settings for PVR and turn on the General setting "Use channel numbers from backend".
Replies (883)
RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance)
-
Added by Sterling Rorden over 1 year ago
Gary
I figured out my problem with USTVGO. I didn't create an instance in the config.ini file (that wasn't real obvious for a novice). I'm in the process of scanning the muxes and downloading the EPG data.
I think I'm understanding you correctly on the VOD in PlutoTV. If I want VOD (for the channels that support it) in PlutoTV I need to find an EPG that supports it. In my case where I use the PlutoTV addon in Kodi and use IPTV Merge (which supports VOD for PlutoTV) to get the data into the Kodi EPG, I would need to use the IPTV Merge epg.xml file in Tvheadend, correct?
RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance)
-
Added by G Kazaroth over 1 year ago
Not quite that simple, but if you have a m3u file and a epg file, you can use the m3u plugin.
RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance)
-
Added by Sterling Rorden over 1 year ago
G Kazaroth wrote:
Not quite that simple, but if you have a m3u file and a epg file, you can use the m3u plugin.
I see the epg.xml and playlist.m3u8 files in the IPTV Merge addon folder so I guess it could work. I don't have IPTV Merge installed on my Tvheadend box so I'd probably want to install it there to reduce complications. The other nuance I see is there isn't a Record option in the menu but there is a Timer option (which currently doesn't record) so I could probably use that. Right now both the Kodi PlutoTV EPG and the Cabernet PlutoTV EPG have the same numbers so the channels are displayed right next to each other. I select the Kodi PlutoTV channel if I want to watch VOD and the Cabernet PlutoTV channel if I want to record. But this requires me to use Kodi channel groups which seem to periodically disappear for some reason. I was going to try to use Tvheadend channel groups but Kodi requires me to use one or the other.
For the time being I'll probably keep it the way it is.
RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance)
-
Added by Sterling Rorden over 1 year ago
Now that Locast is gone I can no longer record my favorite local news as a backup to my OTA reception. However, it is available for streaming on the internet:
https://www.kcra.com/nowcast
How much trouble would it be for this novice to get it into Tvheadend? I don't even need epg data, I could just make a timer to record it from 10-11 pm.
RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance)
-
Added by Sterling Rorden over 1 year ago
I'm getting an error that the url grabber can't reach my box:
2021-11-23 16:05:00.029 [ INFO] spawn: Executing "/storage/.kodi/addons/service.tvheadend42/bin/tv_grab_url"
2021-11-23 16:05:00.198 [ ERROR] spawn: wget: can't connect to remote host (192.168.1.83): Connection refused
2021-11-23 16:05:00.200 [ ERROR] xmltv: /storage/.kodi/addons/service.tvheadend42/bin/tv_grab_url: no output detected
2021-11-23 16:05:00.200 [WARNING] xmltv: /storage/.kodi/addons/service.tvheadend42/bin/tv_grab_url: grab returned no data
However, the zap2epg grabber successfully runs.
I've also noticed that both the url and zap2epg grabbers seem to run twice each time they are scheduled.
Rebooting the Tvheadend box will fix the problem for a few days and then it happens again.
I've attached a full copy of my Tvheadened service.log.
service.log (3.39 MB) service.log |
RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance)
-
Added by G Kazaroth over 1 year ago
Check Cabernet log to see if an exception is occurring.
RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance)
-
Added by Sterling Rorden over 1 year ago
The last time it happened was 5 minutes after midnight. I don't se anything in the Cabernet log at that time:
2021-11-23 23:33:07,162-DEBUG:epg USTVGO:default Processing Program 2030281611 from USTVGO
2021-11-23 23:33:07,226-INFO:plugin_epg USTVGO:default EPG update completed
2021-11-24 01:49:28,326-DEBUG:schedule Running job Job(interval=200, unit=minutes, do=exec_trigger, args=({'uuid': '196C18A7-3DB8-11EC-BF37-D05F64D13909', 'area': 'EPG', 'title': 'Refresh PlutoTV EPG', 'timetype': 'interval', 'timelimit': -1, 'timeofday': None, 'dayofweek': None, 'interval': 200, 'randdur': 80, 'taskid': '196A9F60-3DB8-11EC-9176-D05F64D13909', 'namespace': 'PlutoTV', 'instance': None, 'funccall': 'refresh_epg', 'lastran': datetime.datetime(2021, 11, 21, 13, 17, 39, 684984), 'duration': 11, 'priority': 10, 'threadtype': 'thread', 'active': 0, 'description': 'Pulls channel program data from PlutoTV'},), kwargs={})
2021-11-24 01:49:28,338-NOTICE:scheduler Running threaded task EPG:Refresh PlutoTV EPG
2021-11-24 01:49:41,579-INFO:epg Missing PlutoTV genre translation for: Dance
2021-11-24 01:49:44,396-DEBUG:epg Refreshed EPG data for PlutoTV:default day 2021-11-24
2021-11-24 01:49:44,583-INFO:plugin_epg PlutoTV:default EPG update completed
2021-11-24 02:36:31,370-DEBUG:schedule Running job Job(interval=160, unit=minutes, do=exec_trigger, args=({'uuid': '6310EB33-4954-11EC-9690-D05F64D13909', 'area': 'EPG', 'title': 'Refresh USTVGO EPG', 'timetype': 'interval', 'timelimit': -1, 'timeofday': None, 'dayofweek': None, 'interval': 160, 'randdur': 40, 'taskid': '630EBFF7-4954-11EC-929E-D05F64D13909', 'namespace': 'USTVGO', 'instance': None, 'funccall': 'refresh_epg', 'lastran': datetime.datetime(2021, 11, 21, 15, 48, 17, 843749), 'duration': 219, 'priority': 10, 'threadtype': 'thread', 'active': 0, 'description': 'Pulls channel program data from USTVGO'},), kwargs={})
2021-11-24 02:36:31,376-NOTICE:scheduler Running threaded task EPG:Refresh USTVGO EPG
2021-11-24 02:36:36,306-DEBUG:epg USTVGO: Adding minimal EPG data for channel 9200017734
I rebooted my Tvheadend box this morning so it is working now.
Edit:
I did find this warning but it wasn't around the time when the grabber runs:
2021-11-23 23:30:32,124-DEBUG:epg USTVGO:default Processing Program 6032412973 from USTVGO
2021-11-23 23:30:42,831-INFO:decorators Socket Timeout Error in function PluginEPG.get_uri_data(), retrying 5251 The read operation timed out https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6031461719/web
2021-11-23 23:30:54,339-INFO:decorators Socket Timeout Error in function PluginEPG.get_uri_data(), retrying 5251 The read operation timed out https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6031461719/web
2021-11-23 23:30:55,341-WARNING:decorators Multiple HTTP Errors, unable to get url data, skipping PluginEPG.get_uri_data() 5251 The read operation timed out https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6031461719/web
2021-11-23 23:31:05,911-INFO:decorators Socket Timeout Error in function PluginEPG.get_uri_data(), retrying 5251 The read operation timed out https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/2030120261/web
2021-11-23 23:31:17,256-INFO:decorators Socket Timeout Error in function PluginEPG.get_uri_data(), retrying 5251 The read operation timed out https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/2030120261/web
2021-11-23 23:31:18,258-WARNING:decorators Multiple HTTP Errors, unable to get url data, skipping PluginEPG.get_uri_data() 5251 The read operation timed out https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/2030120261/web
2021-11-23 23:31:28,702-INFO:decorators Socket Timeout Error in function PluginEPG.get_uri_data(), retrying 5251 The read operation timed out https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6031014239/web
2021-11-23 23:31:41,106-INFO:decorators Socket Timeout Error in function PluginEPG.get_uri_data(), retrying 5251 The read operation timed out https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6031014239/web
2021-11-23 23:31:42,108-WARNING:decorators Multiple HTTP Errors, unable to get url data, skipping PluginEPG.get_uri_data() 5251 The read operation timed out https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/6031014239/web
2021-11-23 23:31:53,140-INFO:decorators Socket Timeout Error in function PluginEPG.get_uri_data(), retrying 5251 The read operation timed out https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/2030120261/web
2021-11-23 23:32:05,531-INFO:decorators Socket Timeout Error in function PluginEPG.get_uri_data(), retrying 5251 The read operation timed out https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/2030120261/web
2021-11-23 23:32:06,532-WARNING:decorators Multiple HTTP Errors, unable to get url data, skipping PluginEPG.get_uri_data() 5251 The read operation timed out https://cmg-prod.apigee.net/v1/xapi/tvschedules/tvguide/programdetails/2030120261/web
2021-11-23 23:32:07,462-DEBUG:epg USTVGO:default Processing Program 6003260677 from USTVGO
RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance)
-
Added by G Kazaroth over 1 year ago
Those should be considered normal issues. I was concerned about the Connection Refused which could be caused by exceptions, but since you don't have any, there is no issue.
RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance)
-
Added by Sven B over 1 year ago
Hi there,
I use the tool to bring PlutoTV into TVH.
Is there a way to get the MUXes / services without a channel number like "Avatar" instead of "115 Avatar"?
In TVH / CAB i used default settings.
RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance)
-
Added by G Kazaroth over 1 year ago
yes, I can add a setting in the client to not include the channel number. Will make an update in a short...
RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance)
-
Added by Sven B over 1 year ago
Hey, thank you very much, I have your GIT Master at work anyway.
Please think of XMLTV that the number will also be dropped there if the option is set.
Have you seen the following bug, is probably the cause of the dropouts when switching to advertising, etc.
Unfortunately I can't build my own ffmepg with this patch.
https://trac.ffmpeg.org/ticket/5419
btw do you know why some services don't get real names but only Service01?
RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance)
-
Added by G Kazaroth over 1 year ago
Updated 0.9.6.5 with patch. Flag is in settings > client > epg. Will update the xmltv.xml and channels.m3u to not include channel number with name. Let me know if you find any issues.
Service01 is normally from ffmpeg. This could be from the provider or from Cabernet. Sometimes the ATSC stream from the provider does not include the basic packets causing this to occur. If you have "Enable PTS/DTS Resync" enabled, then it should update the stream to include the basic packets and Cabernet will update the stream with the channel name based on having Clients > Stream > ATSC SDT Update enabled (which adds the channel name to the service name)
As for the EXT-X-DISCONTINUITY tag. Providers abuse the tag, so using it probably does not make sense. We use an algorithm to determine what to do. For example, one provider resends the exact same commercial/stream over and over. Around each repeat is a EXT-X-DISCONTINUITY tag. Normal processing would think this commercial as a dupe, but Cabernet knows better.
RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance)
-
Added by Sven B over 1 year ago
I'm currently testing it, but it looks very good
here are the results, something is missing- EPG works correct
- MUX Names correct
- Service names have still the number | but after mapping service to channel the number is gone ... strange
- ATSC SDT is enabled, still much Service01, but will look again after a while
Another really cool feature would be "start your own command after epg scheduled task" in my case "systemctl start get_cabernetepg.service"
It would also be nice to influence the channel numbers in Cabernet they are in my case between 10, 15, 30 ... 2000.
I have configured numbers from 200, shouldn't it be 200,201,202 ...
RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance)
-
Added by K Shea over 1 year ago
I attempted the upgrade but it came back and still says I am on Version: 0.9.6.4 and that 0.9.6.5 is available, turns out Github is returning 500 error pages this afternoon.
Looks like they are aware of the problem: https://twitter.com/githubstatus
RE: RE: Locast interface (appliance)
-
Added by Robert Coupee over 1 year ago
Hi
Been using the PlutoTV option in Cabernet for a while now and it is working well. Just wondering if it is possible to update the URL Filter to include “Sponsors” which is a screen that appears during ad breaks on the PlutoTV uk version?
Thanks.
RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance)
-
Added by G Kazaroth over 1 year ago
The URL Filter is a setting that users can change/add. The plutotv option is an example for users to see and use/adjust as they need. If you look at the log at the INFO level, it should tell you the difference in the URLs that will allow you to add filters.
RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance)
-
Added by Sterling Rorden over 1 year ago
G Kazaroth wrote:
Those should be considered normal issues. I was concerned about the Connection Refused which could be caused by exceptions, but since you don't have any, there is no issue.
I'm still having the connection refused problem.
I posted this problem on the Tvheadend forum and was told to “Allow host to “without credentials” user “*” with same password.” However, I have no clue where to do that nor why the credentials expire after a couple of days.
Could the problem have something to do with something it doesn't like in the extra argument "-u http://192.168.1.83:6077/xmltv.xml" for the tv_grab_url grabber?
RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance)
-
Added by G Kazaroth over 1 year ago
Based on the service log, it looks like the Cabernet service is shutting down at some point from something outside of Cabernet. Again, if you are not seeing any exceptions in the log, then the issue is with your system. It looks like your tv_grab_url executable is running just fine. The log indicates that both the tuner and web server interfaces are terminated at the same time. This is extremely unlikely from inside Cabernet, and I would look externally for a solution.
RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance)
-
Added by Sterling Rorden over 1 year ago
G Kazaroth wrote:
Based on the service log, it looks like the Cabernet service is shutting down at some point from something outside of Cabernet. Again, if you are not seeing any exceptions in the log, then the issue is with your system. It looks like your tv_grab_url executable is running just fine. The log indicates that both the tuner and web server interfaces are terminated at the same time. This is extremely unlikely from inside Cabernet, and I would look externally for a solution.
I understand. I'm just trying to figure out whether I should be focusing on the Tvheadend server, CoreELEC, my box, or router. My router seems unlikely since Tvheadend is on the box that is refusing the connection and zap2epg gets connected.
RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance)
-
Added by Sterling Rorden over 1 year ago
G Kazaroth wrote:
Based on the service log, it looks like the Cabernet service is shutting down at some point from something outside of Cabernet. Again, if you are not seeing any exceptions in the log, then the issue is with your system. It looks like your tv_grab_url executable is running just fine. The log indicates that both the tuner and web server interfaces are terminated at the same time. This is extremely unlikely from inside Cabernet, and I would look externally for a solution.
I'm starting to think this is a problem involving Cabernet. I was going to try to restart Cabernet after the problem occurred again and see if it cleared the problem. The last successful tv_grab_url run was this morning at 8:05 am. I got the connection refused message in the Tvheadend log at 4:05 pm today. I tried to log into Cabernet's web page after that but I get a connection refused message in my browser. I can log into Tvheadend on the same device, and I can browse files, etc. on the device. And Tvheadend is still running fine. There is a lot of activity going on in the Cabernet logs - almost like it is in a loop.
I've attached the last two Cabernet logs to cover the 8:05 am and 4:05 pm timeframes.
cabernet.log (1.34 MB) cabernet.log | |||
cabernet.log.1 (9.54 MB) cabernet.log.1 |
RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance)
-
Added by G Kazaroth over 1 year ago
Those logs had exceptions in them. You indicated that no exceptions were found. Since there are exceptions, I will take a look and see what is the cause.
RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance)
-
Added by Sterling Rorden over 1 year ago
G Kazaroth wrote:
Those logs had exceptions in them. You indicated that no exceptions were found. Since there are exceptions, I will take a look and see what is the cause.
Thanks. I guess didn't understand what was meant by exceptions. I just looked for errors around the time I was having problems.
RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance)
-
Added by K Shea over 1 year ago
For some reason I am having a problem with the EPG not sending program data for any of the m3u channels. If I disable the EPG for everything but one m3u provider and then look at the xmltv.xml file, I see all the channels listed between channel tags, but there are no programme tags at all in the file. But, if I enable PlutoTV then I do get program listings for that. I have checked that the XMLTV File URL's are correct, and I figure Cabernet must be getting them or else it would not be able to get the channels to put between the channel tags.
I know at one time it used to bring in program data for those m3u instances and I am a little confused as to why it's not working now.
EDIT: Figured it out. For some reason the scheduler had lost its EPG timers for the m3u instances (but not for PlutoTV) and it hadn't updated the guide data in several days (probably not since the last reboot).
RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance)
-
Added by G Kazaroth over 1 year ago
I guess I need to add a conditional popup on deleting schedule tasks. Most likely was caused by hitting the trash instead of the play button.
RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance)
-
Added by G Kazaroth over 1 year ago
To Sterling:
An exception is not an error. An error is an issue that has been processed, appropriately. An exception can be an issue that is either processed or not processed. Exceptions are found in the log by searching for the word exception. In your log, you have processed and unprocessed exceptions. None are considered errors.
As an example, you could have a FileNotFoundException, but it may be expected at times, so you log it as INFO. Once it is logged as INFO, it is a processed exception. Unprocessed (or unexpected) exceptions happen all the time. This is caused by unknown operator conditions that the author was not expecting. So, when an unprocessed exception occurs, authors are very interested and normally will patch the code to handle the condition.
As I mentioned, I will be looking into the unprocessed exception that was found. As for the connection refused, I did find some interesting info. It looks like you have the network refresh set to 60 minutes (called Re-fetch period). What you are saying is you believe the channel listing is changing every hour to have different channels. In reality, if channels change weekly, I would be surprised. Although this setting probably does not cause the connection refused, it is probably something you should set to a MUCH higher value. 1440 min is what I use. You are basically banging on all channels every hour looking for new channels (that rarely change). Run a search on "web_handler" in the log to see what is being requested, if you want. The xmltv.xml is successfully being executed twice each time. (TVH sends 2 requests as expected) The xmltv.xml requests took about 60 seconds according to the log to complete. Check the bottom of the tv_grab_url file and see if the -T option is greater that 60 seconds, but I believe it should be.