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 G Kazaroth 12 months ago

0.9.14.00-RC06
Looks like this version will be a good test for those wanting to try it. Here are some major updates you will see.
- The logging is going to be pretty high for now as we go through testing
- It now has parallel processing of video packets. Normal clients use a single synchronous thread to get the video packets in order, but Cabernet will now have multiple downloads at one time then reassemble the packets in the correct order. It makes a huge difference when the provider (like daddylive) is slow or has timeouts. An issue with this type of processing is it uses more memory. Could use a temp database to keep the memory lower, but for now it will use memory
- Added HTTP and STREAM config settings in each of the plugins for setting timeouts, retries and downloads
- Fixed an issue with TVGuide EPG where it was not updating the EPG

Make sure to upgrade Cabernet and the plugins as well as installing httpx[http2]

If you find something broken, go ahead and report it.

For those interested in the log:
- COUNTER: Number of video packets that have been requested from the provider
- PROCESSED: Number of video packets that have been downloaded and sent to client
- PROCESSED_Q: Number of video packets that have been downloaded and not sent to client. If greater than 1 or 2, it is waiting on the next packet, which has been delayed
- QUEUE: Number of packet sent by the provider that has not been received for processing
If timeouts start occurring, Cabernet will handle this and packets are normally not dropped, but the PROCESSED_Q will start to grow, taking up memory. Once the slow packets are received, the PROCESSED_Q will start processing the queued items to the client.

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

i get this. what i need do?

ImportError: Using http2=True, but the 'h2' package is not installed. Make sure to install httpx using `pip install httpx[http2]`.

i already run this

pip install httpx[http2]

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

Thanks for the screen shots. lol, this is funny because it is something I actually did, as well. You ran the install as yourself, then run Cabernet as root. So your account has httpx installed, but root does not. Install httpx in the account running Cabernet is the answer.

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

G Kazaroth wrote:

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

theadend and cabernet run on a VM, which is only active when a client is online. therefore the epg is mostly out of date.

With a targeted API call I could update it and then have it processed by tvheadend... but I can't manage it

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

G Kazaroth wrote:

Thanks for the screen shots. lol, this is funny because it is something I actually did, as well. You ran the install as yourself, then run Cabernet as root. So your account has httpx installed, but root does not. Install httpx in the account running Cabernet is the answer.

im confuse why its kinda like a root? i mean all cabernet files are owned by the user no the root, but i have a root crontab for cabernet.

thanks its working now

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

0.9.14.00-RC06 seems like a winner. Good work.Seems much smoother. Impressed.
Curious about the log now. Thank you.

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

Well I found a bug with the resync set to yes. Will fix that on Tuesday. I am also having issues with DaddyLive. Looks like they put out a new version and it is quite different causing errors in Cabernet. Can someone let me know if it is more than just me?

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

i tried like 4 channels of daddylive but not working. what other test can be done?

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

That is probably good enough. I have not dug into it much, but it is not going to be simple. The changes I have for tomorrow makes sure plutotv and xumo still work correctly.

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

oh looks like both pluto and xumo do changes too like daddylive?

i bet those are the most challenging things. keep functional, kinda see same thing in other iptv stuff like epg.

i tried in my small scale of knowledge get a channel from a site they change so much, i give up. but i get it for some time until they make it impossible.

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

G Kazaroth wrote:

Well I found a bug with the resync set to yes. Will fix that on Tuesday. I am also having issues with DaddyLive. Looks like they put out a new version and it is quite different causing errors in Cabernet. Can someone let me know if it is more than just me?

I am having no issues with daddylive on the channels i watch.....

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

Thanks for checking. Mine is also now working again. There is the resync bug that needs to still be fixed (only if resync is yes). It causes the video packets to be arranged out of order. I should have the updates out today.

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

Trying some different configurations for internalproxy for DL. I have lowered the timeout issues by changing the "HTTP Timeout" to 4 and the "HTTP Retries" to 8. I have also found running for 4-6 hours straight causes DL to go into a connection refused condition on all channels. This does seem to reset after a long while. So far, running for 2 hours per channel at a time seems to be OK.

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by Denzel Chicargo 12 months ago

Wow what a cool tool!, thanks for making such a great tool and develop it.

Got everything working exept the Docker image.
on a RPI4, latest image

sudo docker run --rm -it -p 6077:6077 -p 5004:5004 ghcr.io/generator/cabernet:latest

I can open the PlutoTV list from VLC , but nothing is streaming?
What am i missing?, could see others in this thread is struggerling to do the same, but I never came across the solution!

Keep up the good work, hoping to hear from ya!

DC

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

How do you unlock the database. I often get the following errors on my windows computer after it launches and does the channel scan. in the past I deleted the database and let it recreate it but is there an easier way so i don't need to redo my edited?

2023-12-20 23:33:31,480-INFO:channels DaddyLive: Found 682 stations on instance default
2023-12-20 23:33:36,869-NOTICE:utils channels Update request ignored, retrying 9, database is locked
2023-12-20 23:33:42,908-NOTICE:utils channels Update request ignored, retrying 8, database is locked
2023-12-20 23:33:48,965-NOTICE:utils channels Update request ignored, retrying 7, database is locked
2023-12-20 23:33:54,929-NOTICE:utils channels Update request ignored, retrying 6, database is locked
2023-12-20 23:34:01,174-NOTICE:utils channels Update request ignored, retrying 5, database is locked
2023-12-20 23:34:06,969-NOTICE:utils channels Update request ignored, retrying 4, database is locked
2023-12-20 23:34:12,623-NOTICE:utils channels Update request ignored, retrying 3, database is locked
2023-12-20 23:35:17,069-NOTICE:utils channels Update request ignored, retrying 2, database is locked
2023-12-20 23:35:23,190-NOTICE:utils channels Update request ignored, retrying 1, database is locked

Martin

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

On the database lock issue, I have some ideas how to fix. Can you please write an issue in Cabernet?

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

The Docker question above may be related to the hardware arch for RPi. I recommend looking at an active issue
https://github.com/cabernetwork/cabernet/issues/117

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by Denzel Chicargo 12 months ago

G Kazaroth wrote:

The Docker question above may be related to the hardware arch for RPi. I recommend looking at an active issue
https://github.com/cabernetwork/cabernet/issues/117

Thanks, will do!

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by K Shea 12 months ago

I let Cabernet update to Version: 0.9.14.01 after not touching it for several months, well that was a big mistake because now nothing works. Specifically, if I go into Stream Providers there is nothing there. If I try to access an xml or m3u file there is nothing at all in it other than the header. This is on a system running Debian Linux 5.10.197-1.

So I reverted the system back to a snapshot prior to the upgrade, which took me back to Version: 0.9.13.11 then it all worked again, but it complains that my plugins need an upgrade (but says "Error: Cabernet version 0.9.13.11 too low for plugin. Requires 0.9.14.00, aborting install") and of course on the home page it wants me to upgrade Cabernet to the version that doesn't work.

Any suggestions? Note that just because I run a Linux server doesn't mean I know all that much about Linux.

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

I had the same experience. Then I found that when I upgraded to 0.9.14 all my plugins just needed to be reinstalled.
Just go to 'plugins' and then click on catalog and install the ones you want.

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

You are the second person to claim they upgraded from an old version and it messed up. What Cabernet should be doing is doing a third position upgrade at a time and running the patch upgrade. So, it would upgrade from 0.9.12.x to 0.9.13.x to 0.9.14.x. It looks like it is not working correctly, so the best thing to do is to clean out the data folder (at least the config.ini, and db folder) and start with a fresh latest. The changes to the config.ini and db files would be difficult to do manually. I will take a look at the patch upgrade system and see what is happening. I know it works when you are only one third position version back.

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by K Shea 12 months ago

I am already running 0.9.13.11, that is what I have been running for months, so it only tried to go from that to 0.9.14.01 when I saw the problem. I don't have time to try anything right now but maybe sometime in the next few days I will, particularly if you happen to find a problem in the upgrade system and fix it. I kind of hate to touch a working system, but on the other hand I don't want to let it get too out of date.

As for the plugins, once I had done the upgrade I did look at the plugins and it said they were all already installed, which I thought a bit odd because there were only a couple that I had installed in version 0.9.13.11 prior to the upgrade. And I could not see any way to remove the ones I didn't want (not from the web interface, anyway) but then I realized that was probably also another symptom of whatever went wrong during the upgrade.

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by Travis Leake 12 months ago

Since the 0.9.14 upgrade(s) I haven't been able to get all the Pluto channels. Is there something I've forgotten to add in the config file?

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

K Shea wrote:

As for the plugins, once I had done the upgrade I did look at the plugins and it said they were all already installed, which I thought a bit odd because there were only a couple that I had installed in version 0.9.13.11 prior to the upgrade. And I could not see any way to remove the ones I didn't want (not from the web interface, anyway) but then I realized that was probably also another symptom of whatever went wrong during the upgrade.

Your symptons sound exactly like mine. It looked like I had all the plugin installed and yet there was nothing in 'stream providers' and 'epg providers'. I would recommend you take a second look at your plugins. Be sure to note the two tabs at the top of the plugin screen named 'My Plugins" and "Catalog". If there seemed like there was no way to remove a plugin you didn't want you might have been looking at the plugin 'Catalog' tab which shows you plugins that are not installed but you can install. Make sure you are looking at the 'My Plugins' tab which shows you the installed plugins.

(901-925/960)