Project

General

Profile

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

Added by G Kazaroth almost 3 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 (915)

RE: DaddyLive, 123TV, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by Ron L 7 months ago

Yes, I would recommend caution when proceeding with EPG gathering as well. In North America at least it's all basically controlled by one company who maintains copyrights and will go after any who redistribute. One needs to stay under the radar. While Schedules Direct managed to secure distribution rights on a subscription model they never managed to develop a workable system to build a lineup for available FTA satellite channels.

RE: DaddyLive, 123TV, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by G Kazaroth 7 months ago

You are correct. Plan is to do a number of things to try and keep lawyers away. Obviously, we have learned from trump that you can sue somebody even though it is a lie and many times the person will bend. That would imply doing nothing, which is not an option. So, the plan is to be compliant with the TOS. iptv-org recently got banded from GitHub for redistributing information from epg websites. The TOS clearly states "You are only permitted to access and view the Content for personal, non-commercial purposes in accordance with this Agreement". Redistribution is prohibited unless they specifically authorize it. So, the plan is to
1. Have no data that is redistributed in the plugin
2. Clearly state the plugin falls under the TOS
3. Clearly state the information provided by the plugin is for personal, non-commercial use
4. Separate the plugin from Cabernet so any attacks would only be to the plugin and not to the project as a whole
5. Hope and pray the lawyers have more to do than attack little me just because
6. Keep the project as non-commercial for now. Means things like: no advertising, no subscriptions, etc...

RE: DaddyLive, 123TV, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by G Kazaroth 7 months ago

0.9.9.0 new EPG plugin
I do not recommend this unless you want to try it out. Please read release notes before upgrading. Expect more changes due to the size of the changes made. The EPG plugin is in a separate repository of the plugin name and can be downloaded for release 0.1.0. More testing and updates will be needed although the current version does seem stable.

After running the upgrade tests and finding a few bugs, those are all fixed. It looks like 0.9.9.2 with the EPG plugin is stable. Running more tests.

Found during a patch upgrade, the EPG plugin library is deleted (during the upgrade). It can be restored by copying the files back into the EPG plugin folder. Will be working on a fix.

For the external EPG plugin, I have added another plugin folder called plugins_ext at the same level as the current plugins folder to house external plugins. Had to cleanup the plugin in the plugins folder, but it works under 0.9.9.3.

The initial EPG days to pull is set to 2 days, which should stay until you are sure you are ready. The schedule only takes a second, but pulling the program details takes a very long time.

RE: DaddyLive, 123TV, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by G Kazaroth 7 months ago

If you see any other issues, let me know. I am working to reduce the number of connection refuse exceptions for daddylive right now. will probably be in the 9.9.4 release.

The connection refused looks like a DDOS issue with everyone trying to get the same video segment at the same time. Trying to see if Cabernet slows down for a short, if that reduces the number of lost segments.

RE: DaddyLive, 123TV, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by john tocher 7 months ago

Trying to run without epg plugin but as soon as I restart it after adding:

[xumo_default]
label = xumo instance
enabled = False

2023-02-24 09:41:06,178-WARNING:main MIT License, Copyright (C) 2021 ROCKY4546
Traceback (most recent call last):
File "/home/john/cabernet-0.9.9.3/tvh_main.py", line 23, in <module>
main.main(script_dir)
File "/home/john/cabernet-0.9.9.3/lib/main.py", line 127, in main
plugins = init_plugins(config_obj)
File "/home/john/cabernet-0.9.9.3/lib/main.py", line 181, in init_plugins
plugins.initialize_plugins()
File "/home/john/cabernet-0.9.9.3/lib/plugins/plugin_handler.py", line 94, in initialize_plugins
plugin.plugin_obj = plugin.init_func(plugin, self.plugins)
File "/home/john/cabernet-0.9.9.3/plugins/provider_video_xumo/__init__.py", line 26, in start
return XUMO
File "/home/john/cabernet-0.9.9.3/plugins/provider_video_xumo/lib/xumo.py", line 35, in init
self.geo = Geo(_plugin.config_obj, self.namespace.lower())
File "/home/john/cabernet-0.9.9.3/plugins/provider_video_xumo/lib/geo.py", line 40, in init
self.get_geo()
File "/home/john/cabernet-0.9.9.3/lib/common/decorators.py", line 115, in wrapper_func
return f(self, *args, **kwargs)
File "/home/john/cabernet-0.9.9.3/lib/common/decorators.py", line 49, in wrapper_func
x = f(self, *args, **kwargs)
File "/home/john/cabernet-0.9.9.3/plugins/provider_video_xumo/lib/geo.py", line 50, in get_geo
if self.config_obj.data[self.section]['channellistid'] is not None:
KeyError: 'channellistid'

RE: DaddyLive, 123TV, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by G Kazaroth 7 months ago

i'll look into it. Just saw daddy reboot server causing connection refused and not found errors. I think slowing down for theses issue is definitely the solution.

For now, take you backup config.ini and replace the geoid and channellistid in the config.ini under [xumo]. The backups are in the ./data/backups folder...

RE: DaddyLive, 123TV, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by C Island 7 months ago

To make it work with my docker configuration I had to modify "Dockerfile_tvh_crypt.slim-buster" and "Dockerfile_tvh_crypt.alpine" to copy the plugins_ext directory.

Here the relevant section of the dockerfiles with the added COPY statement:

COPY plugins /app/plugins
COPY plugins_ext /app/plugins_ext
RUN touch /app/is_container

This is what they looked like previously:

COPY plugins /app/plugins
RUN touch /app/is_container

RE: DaddyLive, 123TV, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by G Kazaroth 7 months ago

makes sense. will update

0.9.9.6 has the Docker updates and some more adjustments for the Connection Refused issue. May be getting close to the solution.

RE: DaddyLive, 123TV, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by G Kazaroth 7 months ago

0.9.9.7 Changes to 404 HTTP errors and Connection Refused look much better. This is a good version if you want to try out the new EPG and cleaned up DaddyLive.

RE: DaddyLive, 123TV, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by R W 7 months ago

I got a lot of channels setup right but a few like MTV and vh1 play a different channel even after setting them up with the correct channel (MTV is 331 I believe).

RE: DaddyLive, 123TV, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by G Kazaroth 7 months ago

Determine if it's a Cabernet or a TVH issue. I suspect you have some mismatches in TVH. To check Cabernet, you can load the m3u file into VLC. The URL should be
http://ipadress/daddylive:6077/channels.m3u
You can also play the channel directly in VLC by entering the following URL for a Network Stream
http://ipaddress:5004/DaddyLive/watch/344
This URL is for my VH1.
If all is good in Cabernet, then you will need to dig into TVH. I normally find issues in the Channels/EPG > Channels area.
http://ipaddress:5004/DaddyLive/watch/371
This is for my MTV.
We should have the same UIDs for the channels since those are set by daddylive.

RE: DaddyLive, 123TV, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by R W 7 months ago

G Kazaroth wrote:

Determine if it's a Cabernet or a TVH issue. I suspect you have some mismatches in TVH. To check Cabernet, you can load the m3u file into VLC. The URL should be
http://ipadress/daddylive:6077/channels.m3u
You can also play the channel directly in VLC by entering the following URL for a Network Stream
http://ipaddress:5004/DaddyLive/watch/344
This URL is for my VH1.
If all is good in Cabernet, then you will need to dig into TVH. I normally find issues in the Channels/EPG > Channels area.
http://ipaddress:5004/DaddyLive/watch/371
This is for my MTV.
We should have the same UIDs for the channels since those are set by daddylive.

I am using it with Plex. In Plex it let's you do a channel match and choose the right channel. For MTV it says is channel 331. Channel 371 it tells me is for TBN Inspire. When I choose 371 for MTV and save the setting then it won't even show me MTV in the channel guide.

RE: DaddyLive, 123TV, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by G Kazaroth 7 months ago

I installed the daddylive channels fine into plex, including vh1 and mtv. All played the correct channels. Weird part was that my plex guide is using the channel UID and not the channel number. Must be a configuration in Plex somewhere to change that. One possible issue is somehow having channels from different plugins having the same numbers and getting crossed. Did you move the channel numbers for each plugin so they do not duplicate? Also, I still recommend running the test with the channels.m3u into VLC and see what you get to make sure it is a plex cross link issue.

In plex, when selecting the guide data for a channel, the channel shows up with just the channel number and name. The guide shows up with just the UID, channel number and name, then the main guide after setup shows up with the UID and not the channel number... Strange... Example for MTV in the guide during setup appears as

371 1135 MTV USA (1135 MTV USA)

371 is the UID while 1135 is the channel number. MTV on the main guide appears as "371 [MTV icon]" even though the channel number is 1135

RE: DaddyLive, 123TV, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by G Kazaroth 7 months ago

New release of provider_epg_tvguide 0.1.2
Since Cabernet does not have the external plugin upgrade automated, please move a new copy of the folder to the plugins_ext and restart Cabernet.
This fixes an issue where the programs around midnight GMT will not be present in the EPG. After upgrading it may take a few hours for the system to correct itself.

Note for Linux, I can soft link my tvguide repo folder to the plugins_ext folder and it works. It does not have to be a hard link.

Interesting how tvguide has TBAs for ESPN events while zap2it has actual teams...

RE: DaddyLive, 123TV, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by R W 7 months ago

G Kazaroth wrote:

I installed the daddylive channels fine into plex, including vh1 and mtv. All played the correct channels. Weird part was that my plex guide is using the channel UID and not the channel number. Must be a configuration in Plex somewhere to change that. One possible issue is somehow having channels from different plugins having the same numbers and getting crossed. Did you move the channel numbers for each plugin so they do not duplicate? Also, I still recommend running the test with the channels.m3u into VLC and see what you get to make sure it is a plex cross link issue.

In plex, when selecting the guide data for a channel, the channel shows up with just the channel number and name. The guide shows up with just the UID, channel number and name, then the main guide after setup shows up with the UID and not the channel number... Strange... Example for MTV in the guide during setup appears as
[...]
371 is the UID while 1135 is the channel number. MTV on the main guide appears as "371 [MTV icon]" even though the channel number is 1135

Got it. The issue was duplicate channel numbers between Daddylive and Pluto TV. Thanks for the help!

RE: DaddyLive, 123TV, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by G Kazaroth 7 months ago

Looks like 123tv website is currently down...

I have confirmed that the DNS can no longer find the web site IP address from multiple sources. Looks like that site is gone...

Recommend disabling the plugin...

RE: DaddyLive, 123TV, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by Jonas Lang 7 months ago

Possibly related to the major round of DMCA takedown notices issued over the last 10 days. Who knows.

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

0.9.10.0 Contains all the code cleanup for analytics and some fixes for the other stream types. There are around 100 files changed, so I would let it ride for a bit before upgrading.
This version does not contain the 123TV plugin, so you should go ahead and cleanup the folder and data_mgmt areas if you have not done so.

Also be aware that the tvguide plugin is also updated. It also contains a fix when the program data is not available. It was throwing exceptions, but latest version is fixed.

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by Martin Runneals 7 months ago

Thanks for all your work. I just got it running on Windows in a cmd prompt and connected to Jellyfin . Does anyone have a correct Docker-compose file for Cabernet? The one included is for locast. My few attempts at installing on Docker has not been able to start a video stream. even before with ustvgo and m3u plug in so I suspect I'm missing a dependency .

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

the docker I use is called Dockerfile_tvh_crypt.alpine

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

I think the streamlinkproxy is the best stream type for daddylive. I am using version 5.3.1 of streamlink. It took me a bit to find the way to install it with the latest version. On Ubuntu, I used

pip3 install --user -U streamlink

Then I updated the path to the executable in the settings > internal > paths area to /home/user/.local/bin/streamlink
I hope this helps.

(701-725/915)