Project

General

Profile

DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance)

Added by G Kazaroth about 4 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 (960)

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by john tocher over 1 year ago

Not sure what it could be. Am getting some epg data from daddylive. Much of it I have to roll my own.

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by Bob Jones over 1 year ago

Yeah seems strange that it isn’t working for me since the setup is so simple really.

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by G Kazaroth over 1 year ago

Daddylive website is changing again, but it looks like they put a redirect, so it should be fine. First, if you have no channels in your xmltv.xml, then you have no channels loaded into Cabernet (so forget about the EPG until you have channels to use). That means going to Edit Channels should NOT have a DaddyLive tab (no channels). Try going to https://d.daddylivehd.sx/24-7-channels.php
If you get a website, then it should be good where ever you are. If you do have a Daddylive tab, then you do have channel data in the xmltv.xml. Note that xmltv.xml will generate data for all enabled Daddylive channels whether the EPG is providing anything or not.

I just ran a test by clearing out the daddylive data from the database and re-running the tasks. All loaded fine.

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by Bob Jones over 1 year ago

I do have channels in my xmltx.xml and all the channels are working inside of Jellyfin I just don’t have programming data for any of the channels in the xml or of course Jellyfin.

If you get a website, then it should be good where ever you are. If you do have a Daddylive tab, then you do have channel data in the xmltv.xml. Note that xmltv.xml will generate data for all enabled Daddylive channels whether the EPG is providing anything or not.

When I load the xmltv.xml to see what is there I only see there the only thing I’m seeing is channel ID information. I don’t however see any programming data for the channels. Maybe I’m using the wrong terms and confusing things?

It sounds like it definitely something I’m doing. I’m not at the computer atm to do anything else but I will start over tomorrow and see if it wasn’t just something I did trying to get it working before coming to the forum. I’ll let you know how that goes.

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by G Kazaroth over 1 year ago

I highly recommend following the beginners guide
https://github.com/cabernetwork/cabernet/issues/78
It talks about the connection to jellyfin as well.

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by Bob Jones over 1 year ago

Thanks for pointing out the other guide I hadn't found that and it had some great information.

So far these are the steps I've taken after completely removing the previous install:
  1. Installed Cabernet using the windows installer.
  2. Started the Cabernet service in Windows.
  3. Installed the Daddylive and TVGuide Plugins
  4. Enabled Daddylive
  5. Set logging level to INFO
  6. Restarted the Service
  7. DaddyLive didn't stay enabled so according to the plugin github page I added the following to the config.ini:
    [daddylive_default]
    label = DaddyLive Instance
  8. After a restart it enabled and created the DaddyLive Instance (also enabled)
  9. A few reboots later and the TVGuide auto enabled both TVGuide and TVGuide Instance

I see the channels in the channel editor as before.
The xmltv.xml file shows all the channel data, but no programming data.
I can open the channels in JellyFin just have 0 guide data (knowing it's only for ~70 channels.)
I am making the assumption that by going to http://x.x.x.x:6077/xmltv.xml I should see the channel data at the top and the program data after all the channels, or at least somewhere in that file?

At any rate this is where I'm at and I'm just giving it some time and will restart the app on occasion in case the guide part is a time thing.

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by G Kazaroth over 1 year ago

I did your steps on a windows box. It had a few Windows errors caused by cp1252 encoding issues on debug log lines, but it completed both the channel listing and the EPG. The xmltv.xml file had 295,776 lines and included program data.

If you are having issues, check out the error.log. Mine was located at
C:\Users\<user>\AppData\Local\Temp\cabernet

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by Bob Jones over 1 year ago

So I ended up just making my own guide using mc2xml which I would have had to do either way because I wanted a guide for some UK and CA channels. I appreciate all the input and help.

I have another question I noticed the Pac-12 Network wasn't being pulled in when it updated the channels. I was able to get it added into the DB manually and working. I'm wondering if there is any way to get the Stream 1-30 channels in there? I know there wouldn't be a guide for them, but they could be tuned from the media player at least. It seems like maybe they work different from the 24/7 channels though so I'm not sure if it's a technical limitation or what?

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by T Error over 1 year ago

Hi! I was wondering if it'd be possible to also scan for the 1 to 30 channels on DaddyLive via Cabernet. They don't get included normally and Cabernet starts the index at 31 and goes up. I do know that these 1 to 30 channels change frequently, so something that would be cool is if we could have a separate plugin for just these channels so that we can make the scheduler re-scan these channels more frequently instead of having to re-scan the entirety of daddylive every time.

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by anders suarz about 1 year ago

i addded pluto all from i.mjh

wondering whats best parameters? im struggling a lot trying to record there , skip a lot. using internal proxy

wondering if i copy paste parameters from pluto to this m3u all pluto can works? its kinda rustic i guess

anyway try to check pages back if someone did it , pretty sure yes. thanks

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by Hardcore Jax about 1 year ago

First time trying to test this app , but i´m stuck after installation in portainer ( also first time using docker/portainer to so comlpetly new to all of this)

This is what i have done

1, pulled the image ghcr.io/cabernetwork/cabernet:latest
2, add container ghcr.io/cabernetwork/cabernet:latest
3, In portainer i can see Cabernet running with ip but no port for a short while, then ip is lost and log says : exec /usr/local/bin/python3: exec format error

What have i missed ?

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by G Kazaroth about 1 year ago

New Daddylive version 0.1.12
There was an issue with the referer url, which you could have requested a complete update of the channel list to fix, but went ahead and added a few updates as well.
First on a channel update, it will update the referer url every time. To help, it will also not update the channels that are disabled and not in the guide list. This should make things better and faster. Finally, the provider website has been updated to its site instead of a re-direct site.

After the update, I recommend doing a channel update request.
- In Data Mgmt, do a reset on the channel data for Daddylive with the reset edits = No
- Then in Scheduled Tasks, run the Refresh Daddylive Channels

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by Dan Schmidt about 1 year ago

Admittedly, hadn't upgraded in a long time. When I did, everything stopped working. Suggestions much appreciated!

$ python3 tvh_main.py 
2023-11-11 18:21:55,610-WARNING:main #########################################
2023-11-11 18:21:55,610-WARNING:main MIT License, Copyright (C) 2021 ROCKY4546
2023-11-11 18:21:55,759-WARNING:db plugins GET request ignored retrying 9, no such table: repos
2023-11-11 18:21:56,380-WARNING:db plugins GET request ignored retrying 8, no such table: repos
2023-11-11 18:21:57,070-WARNING:db plugins GET request ignored retrying 7, no such table: repos
2023-11-11 18:21:57,681-WARNING:db plugins GET request ignored retrying 6, no such table: repos
2023-11-11 18:21:58,152-WARNING:db plugins GET request ignored retrying 5, no such table: repos
2023-11-11 18:21:58,713-WARNING:db plugins GET request ignored retrying 4, no such table: repos
2023-11-11 18:21:59,043-WARNING:db plugins GET request ignored retrying 3, no such table: repos
2023-11-11 18:21:59,754-WARNING:db plugins GET request ignored retrying 2, no such table: repos
2023-11-11 18:22:00,155-WARNING:db plugins GET request ignored retrying 1, no such table: repos
2023-11-11 18:22:00,616-WARNING:db plugins GET request ignored retrying 0, no such table: repos
Traceback (most recent call last):
  File "/home/dan/cabernet/tvh_main.py", line 41, in <module>
    main.main(script_dir)
  File "/home/dan/cabernet/lib/main.py", line 144, in main
    plugins = init_plugins(config_obj)
  File "/home/dan/cabernet/lib/main.py", line 198, in init_plugins
    plugins = plugin_handler.PluginHandler(_config_obj)
  File "/home/dan/cabernet/lib/plugins/plugin_handler.py", line 52, in __init__
    self.repos.load_cabernet_repo()
  File "/home/dan/cabernet/lib/plugins/repo_handler.py", line 55, in load_cabernet_repo
    repo_settings = self.import_cabernet_manifest()
  File "/home/dan/cabernet/lib/plugins/repo_handler.py", line 68, in import_cabernet_manifest
    self.plugin_db.get_repos(utils.CABERNET_ID)
  File "/home/dan/cabernet/lib/db/db_plugins.py", line 167, in get_repos
    for row in rows:
TypeError: 'NoneType' object is not iterable

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by Vic K about 1 year ago

seems like server1 is down but server2 is up. I never really payed attention to how server2 works. Wondering if its possible to have an optoin for separate channel list for server2? there is also server3 for some channels.

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by G Kazaroth about 1 year ago

According to the chat, both server 1 and 2 are down. I suspect they are working hard at getting something back up. It might be a good idea to have the ability to switch profiles. Recommend writing an issue and I will tag it as an enhancement on daddylive plugin. That way we can track the update.

Ran a few tests and it will not be a simple problem to resolve...

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by anders suarz about 1 year ago

i cant imagine . they make it complex. just have my little test on other channels online that used to get with a script.

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by G Kazaroth about 1 year ago

Be aware that Cabernet will be releasing a new version today as a Release Candidate. That means it has significant changes and needs to run through some beta testing and bug fixing before it is production level. So, you may not want to upgrade just yet. The biggest change that is partially implemented is the migration from using requests library to httpx. The reason is providers are upgrading to HTTP 2.0 and requests library only supports HTTP 1.1 (seen on daddylive). This is causing connection refuse errors and packet loss when it occurs. As normal for a major release, there are many more updates, but the fix for the protocol errors seem to be the most impactful change. There seem to be two other related issues with daddylive currently in work. One is a 301 error and the other is some of the provider sites have expired certificates. Both issues are causing loss of packets.

If you do want to upgrade, it will include a number of plugins as well. Make sure to install the httpx library into python before running. The code does try to install the library if you have pip installed. No changes to the database is currently needed and not expected to be impacted, so it should just be a source upgrade.

As stated above, the source is currently using both requests and httpx, but will transition to fully using httpx before the production release.

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by Elle Smith about 1 year ago

Hey all,

I'm quite new to setting up live TV and I'm trying to get it working with Cabernet in Jellyfin.

I followed the Docker setup steps from their GitHub (https://github.com/cabernetwork/cabernet) but I'm hitting some snags. Here's my progress:

Docker Compose Setup: Did this part successfully:

version: '3'
services:
cabernet:
image: ghcr.io/cabernetwork/cabernet:latest
ports:
- "6077:6077"
volumes:
- /mnt/portainer/cabernetwork:/app/data
Got it up at http://192.168.0.101:6077/

Plugin Installation: Installed DaddyLive from the plugins section.

Enabling Stream Providers: Turned it on and saved the changes.

Restarting via Web Interface: Restarted Cabernet through its web interface.

Next, in Jellyfin:

Tried to add an M3U tuner in Live TV.

Entered URL: http://192.168.0.101:6077

Now, I'm stuck with this error:

"Alert: There was an error saving the TV provider. Please ensure it is accessible and try again."

As someone completely new to live TV setups, I'm at a bit of a loss. Any advice, tips, or step-by-step guidance would be really appreciated.

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by G Kazaroth about 1 year ago

yea, the instructions should say when adding a source in jellyfin to use "HD Homerun" and not M3U since Cabernet is a HDHomerun tuner.

... from the instructions ...
When you add a HDHomerun link, you add it without the end part. With jellyfin, you can add by plugin or for all. I add with all myself in emby. So to add all, use
http://ipaddress:6077/
for a plugin use
http://ipaddress:6077/Daddylive/
Then you get to the xmltv.xml part, I use a file-based pull with a cron job, but for now, you can use the xmltv.xml url directly.

Sometimes these media servers don't like the last "/", but try some things and it should work.

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by Vic K about 1 year ago

G Kazaroth wrote:

Be aware that Cabernet will be releasing a new version today as a Release Candidate. That means it has significant changes and needs to run through some beta testing and bug fixing before it is production level. So, you may not want to upgrade just yet. The biggest change that is partially implemented is the migration from using requests library to httpx. The reason is providers are upgrading to HTTP 2.0 and requests library only supports HTTP 1.1 (seen on daddylive). This is causing connection refuse errors and packet loss when it occurs. As normal for a major release, there are many more updates, but the fix for the protocol errors seem to be the most impactful change. There seem to be two other related issues with daddylive currently in work. One is a 301 error and the other is some of the provider sites have expired certificates. Both issues are causing loss of packets.

If you do want to upgrade, it will include a number of plugins as well. Make sure to install the httpx library into python before running. The code does try to install the library if you have pip installed. No changes to the database is currently needed and not expected to be impacted, so it should just be a source upgrade.

As stated above, the source is currently using both requests and httpx, but will transition to fully using httpx before the production release.

Just upgraded to latest version Version: 0.9.14.00-RC04
1. GUI upgrade failed. i had to pip install httpx then upgrade was fine
2. somehow it installed pluto and xumo automaticly (my instance only had daddy by default)
3. In past i had to set EPG to 2 days for daddy for my client to grab and not fail. Now its failing to grab the EPG. Im guessing its because xml size is larger since XUMO and Pluto were added. I will try to remove them and see if EPG will work on client.

update: It seems that xml size is the culprate in tv guide update failing on client side. It would be nice to have EPG URL broken down by service. IE separate link for daddy epg, pluto epg, xumo epg.

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by G Kazaroth about 1 year ago

As a major release, it is going to have quite a few new features. The upgrades for the new release are about 1/3 the way done. One feature is IF YOU install XUMO, PlutoTV or DaddyLive plugins, it will automatically instantiate the instance. The manual requirement of adding an instance for new users has been a problem, but is now solved. I suspect in your case, the plugins were not automatically installed as you indicated; but rather, they were previously installed with no instantiation.

You want the EPG URL broken down by plugin, but that was implemented over a year ago, so all you need to do is read. The information is just about anywhere. Try reading the bottom of the links page; you can separate the EPG by plugin or by instance. An additional new feature in this release allows plugins like DaddyLive to be broken into multiple instances where each instance has a unique set of channels. I am currently testing with 3 daddylive instances and it is working.

Still working on the HTTPX and streaming updates, but it is close. Be aware, Cabernet still has lots of logging going on. Will let people know when an RC version is available that they can try. I have been recording for 6 hours at a time for 2 days and only once a day am I getting any video packets dropped. So far, the new version does look promising. I did find that the HTTPX site states the HTTP 2.0 protocol is only available as an option during install. The format is "pip install httpx[http2]". Without the option, you should get a entry in the log stating the http2 part of httpx is missing during cabernet startup. (At least that is what I saw).

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by Vic K about 1 year ago

I got epg going for each plugin. Thakn you.

For daddylive internal proxy was working fine and then it just stopped working. However streamlink is working fine. this is on Version: 0.9.14.00-RC04

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by Sven B about 1 year ago

Hello, I'm looking for a way to start p a scheduled task (Pluto EPG Refresh) via curl, or is there some other api i can trigger?

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by G Kazaroth about 1 year ago

I have no idea why you would need to do this, since the scheduler can schedule a task to run when you want; however, the scheduler page for Refresh PlutoTV EPG says the url to run the task is
http://ip address:6077/api/schedulehtml?task=taskoid&run=1

where taskoid is the object identifier for the task. An example is A4A0D725-1B5D-11EC-A721-EB2BD4BF4F6F

(876-900/960)