Project

General

Profile

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

Added by G Kazaroth about 2 years ago

Cabernet for (Cable Network) version 0.9.7 (2/16/2022)
PlutoTV, XUMO, M3U/XMLTV, SamsungTV, Plex

Provides a configurable interface from providers to TVHeadend.

  • Direct plugin for PlutoTV, XUMO
  • M3U Plugin provides channels for: SamsungTVPlus, Plex, Binge, DStv, Foxtel, Kayo, Optus, PBS, Singtel, SkyGo, SkySportsNow, Stirr, and others
  • From: https://i.mjh.nz/
  • Import your own M3U file

https://github.com/cabernetwork/cabernet/releases
Working on getting a service that will take the PlutoTV or XUMO server stream, clean it and feed it into TVHeadend and other DVRs (Also tested on Emby, JellyFin and Plex). It works on the subscription and free versions. Also it runs on Linux and Windows as a service. Windows has a installer. Once installed, setup is easy with TVHeadend.
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 (775)

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

Ich hätte da noch eine Frage. Was ist eigenlich das offizielle Docker Image?
Bisher habe ich nur das hier gedunden https://registry.hub.docker.com/r/eblabs/cabernet
Aber das wurde irgendwie mit dm Update auf 0.9.7.1 nicht aktualisiert

UPDATE:
I found the offical on.

ghcr.io/cabernetwork/cabernet:latest

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

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.

RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance) - Added by G Kazaroth 12 months 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 12 months 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 12 months 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 12 months 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 12 months 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 12 months 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 12 months 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 12 months 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 12 months 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 12 months 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 11 months 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 11 months 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 11 months 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 11 months 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 11 months 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 11 months 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 11 months 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 10 months 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 G Kazaroth 10 months ago

Settings > Clients > EPG > Channel # in Name

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

Thank you. I missed the dropdown for advanced setting.

RE: PlutoTV, USTVGO, XUMO, M3U/XMLTV, SamsungTV, Plex interfaces (appliance) - Added by Chicken Dinner 10 months 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 10 months 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 10 months 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.

(601-625/775)