Project

General

Profile

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

Added by G Kazaroth over 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 (910)

RE: DaddyLive, PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex, TVGuide interfaces (appliance) - Added by G Kazaroth over 1 year 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 over 1 year 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 over 1 year 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 over 1 year 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 over 1 year 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 over 1 year 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 over 1 year 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 over 1 year 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 over 1 year 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 over 1 year 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.

(901-910/910)