Project

General

Profile

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

Added by G Kazaroth almost 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: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance) - Added by G Kazaroth almost 3 years ago

The build system in GitHub is suppose to build and push the docker container, but not always happening. Have not looked into why. You can build your own docker container with the info at...
https://github.com/rocky4546/tvheadend-locast/issues/6

RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance) - Added by Eric Trösch almost 3 years ago

G Kazaroth wrote:

I think I have both Shea and Trosch issues resolved. Check out 0.9.7.3. More notes are above in the previous reply.
Only issue I still find is a defunc process is still occurring when the m3u8 process does not terminate correctly. Restarting the app seems to clear the process.

Great thanks a lot.

G Kazaroth wrote:

It is possible that the provider has made changes. I will run some recordings for Star Trek through TVH and see what happens. I record with URL filtering on, PTS/DTS Resync off and Non-VOD Segments set to 1. Also have the start time setup so the recording starts just after the program starts and ends just before the program ends. I will let you know the results.

If I understood you correctly, these are the settings you use - right?

stream_type = internalproxy
Play All (VOD) = off
Non-VOD Segments to Start = 1
Enable URL Filtering = on
URL Filter = ^.*(_ad/|google.com|plutotv_filler|Well_be_right|_AdPod|_Promo).*$
Enable PTS Filtering = off
pts_minimum = 10000000
pts_max_delta = 3000000
Enable PTS/DTS Resync = off
PTS/DTS Resync Type = ffmpeg

And in Tvheadend streaming profile:
Data Timeout=0

RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance) - Added by G Kazaroth almost 3 years ago

Thanks for the docker link. I have added it to the readme page for cabernet.

As for the settings, it looks like PlutoTV has made changes. I now get the log entry following the ads.
tvheadend [ 1147 ] : parser: PlutoTV/channels.m3u - 250P Star Trek/250P Star Trek: H264 @ #256: DTS and PCR diff is very big (18123000)

I have run a few tests and it is consistently showing that PlutoTV has made changes to its DTS/PTS. To fix this issue, I recommend setting the Enable PTS/DTS Resync to True.

RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance) - Added by Eric Trösch almost 3 years ago

G Kazaroth wrote:

Thanks for the docker link. I have added it to the readme page for cabernet.

As for the settings, it looks like PlutoTV has made changes. I now get the log entry following the ads.
tvheadend [ 1147 ] : parser: PlutoTV/channels.m3u - 250P Star Trek/250P Star Trek: H264 @ #256: DTS and PCR diff is very big (18123000)

I have run a few tests and it is consistently showing that PlutoTV has made changes to its DTS/PTS. To fix this issue, I recommend setting the Enable PTS/DTS Resync to True.

Unfortunately, I still have the problem with the missing sound after the commercials.

These are my PlutoTV Instances settings:

stream_type = internalproxy
Play All (VOD) = off
Non-VOD Segments to Start = 1
Enable URL Filtering = on
URL Filter = ^.*(_ad/|google.com|plutotv_filler|Well_be_right|_AdPod|_Promo).*$
Enable PTS Filtering = off
pts_minimum = 10000000
pts_max_delta = 3000000
Enable PTS/DTS Resync = on
PTS/DTS Resync Type = ffmpeg

And in Tvheadend streaming profile:
Stream profile = matroska
Data Timeout = 0

Is the stream profile "matroska" my problem? Do I have to choose "pass" here?

RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance) - Added by Robert Coupee over 2 years ago

Hello

So I am having problems with the recording via the PlutoTV plugin since version 0.9.7.2 or 0.9.7.3. A recording starts but will usually end after about 20 mins (possibly at the start of an ad break). These are my Player Settings:

stream_type: internalproxy
Play All (VOD): false
Non-VOD Segments to Start: 2
Enable URL Filtering: true
URL Filter: ^.*(_ad/|google.com|plutotv_filler|Well_be_right|_AdPod|_Promo).*$
Enable PTS Filtering: false
pts_minimum: 10000000
pts_max_delta: 3000000
Enable PTS/DTS Resync: true
PTS/DTS Resync Type: ffmpeg

It has been working fine in this combination for months now.

Saw the following in the error log:

2022-02-21 14:59:34,653-INFO:web_handler [192.168.50.93] "GET /modules/themes/spring/theme.js HTTP/1.1" 200 -
2022-02-21 14:59:34,663-INFO:web_handler [192.168.50.93] "GET /modules/themes/spring/theme.css HTTP/1.1" 200 -
2022-02-21 14:59:34,706-INFO:web_handler [192.168.50.93] "GET /modules/dashboard/dashboard.css HTTP/1.1" 200 -
2022-02-21 14:59:34,708-INFO:web_handler [192.168.50.93] "GET /modules/dashboard/dashboard.js HTTP/1.1" 200 -
2022-02-21 14:59:34,709-INFO:web_handler [192.168.50.93] "GET /modules/table/table.css HTTP/1.1" 200 -
2022-02-21 14:59:34,779-INFO:web_handler [192.168.50.93] "GET /modules/themes/logowhite.png HTTP/1.1" 200 -
2022-02-21 14:59:34,812-INFO:web_handler [192.168.50.93] "GET /background HTTP/1.1" 200 -
2022-02-21 14:59:35,756-INFO:decorators URLError in function DashStatusJS.get_url, retrying (): 4155 <urlopen error [Errno 111] Connection refused> http://localhost:5005/tunerstatus
2022-02-21 14:59:36,761-INFO:decorators URLError in function DashStatusJS.get_url, retrying (): 4155 <urlopen error [Errno 111] Connection refused> http://localhost:5005/tunerstatus
2022-02-21 14:59:37,764-WARNING:decorators Multiple HTTP Errors, unable to get url data, skipping DashStatusJS.get_url() 4155 <urlopen error [Errno 111] Connection refused> http://localhost:5005/tunerstatus
2022-02-21 14:59:37,769-ERROR:web_admin UNEXPECTED EXCEPTION on GET=sequence item 1: expected str instance, NoneType found
Traceback (most recent call last):
File "/home/pi/cabernet/lib/clients/web_admin.py", line 104, in do_GET
elif getrequest.call_url(self, self.content_path):
File "/home/pi/cabernet/lib/common/decorators.py", line 228, in call_url
self.url2func[_name](_webserver, *args, **kwargs)
File "/home/pi/cabernet/lib/web/pages/dashstatus_json.py", line 38, in pages_dashstatus_json
'text': dashstatus_js.get()
File "/home/pi/cabernet/lib/web/pages/dashstatus_json.py", line 53, in get
'}'
TypeError: sequence item 1: expected str instance, NoneType found
2022-02-21 14:59:37,772-WARNING:web_handler [192.168.50.93] "GET /api/dashstatus.json HTTP/1.1" 501 -
2022-02-21 14:59:38,879-INFO:web_handler [192.168.50.93] "GET /modules/fonts/roboto/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 HTTP/1.1" 200 -
2022-02-21 14:59:38,895-INFO:web_handler [192.168.50.93] "GET /api/configform?area=providers HTTP/1.1" 200 -
2022-02-21 14:59:38,950-INFO:web_handler [192.168.50.93] "GET /modules/tabs/tabs.js HTTP/1.1" 200 -

Any ideas what the problem might be?

Thanks.

RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance) - Added by G Kazaroth over 2 years ago

It says, you have changed the default stream port from 5004 to 5005.
Then there is the Connection refused error.
The Connection refused error can be caused by a number of things. These include:
- The process does not have the time to pull the connection off the heap (caused normally by CPU running at 100%)
- The process dies and is not there, so the listening port is not present
- The number of listening threads has been used up and there is no thread available to receive the connection

For the last issue, the number of threads available is printed in the DEBUG log just after the TunerHttpHandler log line. An example is provided below:
DEBUG:web_tuner TunerHttpHandler Implementing 6 tuners for PlutoTV
DEBUG:web_handler Now listening for requests. Number of listeners=22
Then, you can go the home page and see the number of active tuners in use. In my case, I would need to use 22 threads before I would get a connection refused.
The threads per tuner is set for each plugin at the plugin level.

RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance) - Added by K Shea over 2 years ago

Just wanted to say thanks for the update, I have been away for a few days so I just got the new version tonight. I'll let you know if there is any more weirdness but I suspect that 0.9.7.3 is the fix.

RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance) - Added by Warren Iver over 2 years ago

Is there anywhere that would document the setup for SparkSport with the m3u plugin for cabernet, if it is even possible? Not sure how the login and stream m3u location works in the config file.

I've seen the Kodi Spark Sports plugin, and that works great, but I'd prefer to add it to my tvheadend setup as another channel - any pointers would be greatly appreciated!

RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance) - Added by G Kazaroth over 2 years ago

Authenticated M3U. This seems to be in-line with the vision of Cabernet. I will take a look and see if authentication methods can be added to the app. Busy this weekend, but will try to take a look next week.

RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance) - Added by Warren Iver over 2 years ago

G Kazaroth wrote:

Authenticated M3U. This seems to be in-line with the vision of Cabernet. I will take a look and see if authentication methods can be added to the app. Busy this weekend, but will try to take a look next week.

Thanks for looking at this, outstanding work by the way!

I still need to actually track down the stream - but looking at the https://i.mjh.nz/ link in the opening post Spark Sport only lists the guide data, not a m3u8 file, so it may be more complicated than I hoped, and outside the scope of the m3u plugin. It looks like it has a .mpd file extension if that helps, from what I could glean from https://github.com/xbmc/inputstream.adaptive/issues/326. Way out of my comfort zone on this though..

If it's not doable it might be good to tweak the first post description for the m3u plugin :)

RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance) - Added by G Kazaroth over 2 years ago

After review of the link data, I confirmed that Spark Sport folder only provides EPG data and not stream m3u. As such, Spark Sport has been removed from the m3u list at the top of the page. I still believe the auth module is something we need, so will work on it.

RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance) - Added by Warren Iver over 2 years ago

G Kazaroth wrote:

After review of the link data, I confirmed that Spark Sport folder only provides EPG data and not stream m3u. As such, Spark Sport has been removed from the m3u list at the top of the page. I still believe the auth module is something we need, so will work on it.

Thats a pity, but cheers for looking into it!

RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance) - Added by G Kazaroth over 2 years ago

I currently do not have any authenticated providers (not DRM) like Locast, so if someone has a site that I can use for authentication, I can work on the authentication plugin. Any suggestion would be great, thanks.

RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance) - Added by anders suarz over 2 years ago

question about pluto, im new but i check all 25 pages looking for info.
im understanding the pluto plugin check your location and displays channel list based on your location ?
if yes, wondering if its possible get all channel list instead? (all countries)

i guess m3u plugin can handle the pluto playlist from https://i.mjh.nz but probably not possible record from there with all that parameters need it for pluto or im wrong?

thanks

RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance) - Added by G Kazaroth over 2 years ago

The PlutoTV Plugin does not check anything associated with the location. It determines the channels from the plutotv website. If PlutoTV is not providing the channels through the API, we do not display them.

RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance) - Added by anders suarz over 2 years ago

G Kazaroth wrote:

The PlutoTV Plugin does not check anything associated with the location. It determines the channels from the plutotv website. If PlutoTV is not providing the channels through the API, we do not display them.

ok got it

i can try use m3u option and add pluto settings? i guess thats my option, sorryy im not expert im suppose like i add that options to .ini for pluto i can do the same for m3u.

thanks!

RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance) - Added by anders suarz over 2 years ago

G Kazaroth wrote:

The PlutoTV Plugin does not check anything associated with the location. It determines the channels from the plutotv website. If PlutoTV is not providing the channels through the API, we do not display them.

ok i got it.

my option is use on m3u the settings of pluto? load m3u from pluto like m3u, and add the options in the .ini file for that m3u playlist, maybe it work i guess.

thank you

RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance) - Added by john tocher over 2 years ago

Is there a way to disable channel numbers so as not to have double channel numbers displayed in the kodi epg?
thank you for cabernet.

RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance) - Added by john tocher over 2 years ago

Thank you. I missed the dropdown for advanced setting.

RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance) - Added by Chicken Dinner over 2 years ago

So I have read through 25 pages and still can't work out how to install this on a Raspberry Pi 4 which is also the backend for Tvheadend in my network. Are there instructions for installing on a Raspberry Pi anywhere? Thanks

RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance) - Added by Hiro Protagonist over 2 years ago

Chicken Dinner wrote:

So I have read through 25 pages and still can't work out how to install this on a Raspberry Pi 4 which is also the backend for Tvheadend in my network. Are there instructions for installing on a Raspberry Pi anywhere? Thanks

A Pi isn't too different from any other system. Take a look at:
https://tvheadend.org/boards/5/topics/43052?r=44145#message-44145

RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance) - Added by john tocher over 2 years ago

Ah, I get it now. Maybe I should install windows and try the windows installer to get a config.ini to look at that is not just a few lines. I got cabernet working in a docker container running on my ubuntu server. There is still much mystery. My tvheadend chops are marginal at best. I would write up some kind of howto but I barely know what I am doing. Will sort it out eventually.

RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance) - Added by Chicken Dinner over 2 years ago

Got it installed on my Pi 4 - the install instructions are like another language for those who are codingly challenged like myself. Some of the instructions are in the cabernet github and some in the old locast github.

I have somehow managed to get it installed and USTVGO is working but I keep getting this error with PlutoTV -

DEBUG:plugin_obj Initializing plugin PlutoTV
PlutoTV HTTP Channel Request Failed for instance default
DEBUG:plugin_obj Setting plugin PlutoTV to disabled

I can play the m3u8 fine from https://i.mjh.nz/PlutoTV/ in VLC fine.

My config.ini is as follows:


[plutotv_default]
label = PlutoTV Instance
enabled = True

[ustvgo_test]
label = USTVGO Test
enabled = True

....

Not sure what the issue might be? Does anyone have any ideas.

Thanks

RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance) - Added by G Kazaroth over 2 years ago

Hi Chicken,
Not sure why the channel request failed. There should have been some log lines prior what you stated that indicate why the HTTP channel list request failed. If the plugin cannot initialize, it will automatically be disabled. Try to look further up the log and see what you find.

Although not related to the issue, you will need to change the config settings. Go to the website on your box at port 6077 and add the following settings:

Import Channel Groups: unchecked
Enable URL Filtering: true
Enable PTS/DTS Resync: true

I do plan in the near future to change the default settings to these so people do not have to make the changes manually. On USTVGO, I also recommend
Enable PTS/DTS Resync: true

By enabling the Enable PTS/DTS Resync setting, Cabernet will cleanup stream timestamps between shows to be consistent when they are way off.

(476-500/960)