|
General Discussion General discussion about SageTV and related companies, products, and technologies. |
|
Thread Tools | Search this Thread | Display Modes |
#1
|
|||
|
|||
PlutoTV with OpenDCT and fHDHR
I was playing around with PlutoTV this weekend and was able to get it working in Sage using OpenDCT and fHDHR.
Background: PlutoTV is a free IPTV service owned by ViacomCBS. It is ad supported so there is currently no subscription fee. Mostly they run old shows so if you want a 24/7 MacGyver channel or a classic 80s movie channel this is a nice service. fHDHR is a project to make various video sources appear as an HDHR or other "devices". In most cases, this means it's pulling from an m3u IPTV stream, but it depends on the exact origin/source. fHDHR has a "core" and plugins. Plugins can be sources (called "origins") like PlutoTV or "interfaces" like HDHR, which "look" like an HDHR device to other services like Sage or Plex or Emby. What I did (brief summary): I set up the fHDHR "core" (https://github.com/fHDHR/fHDHR) and the PlutoTV plugin (https://github.com/fHDHR/fHDHR_plugin_origin_plutotv). There are basic instructions on github which basically involve doing a git clone and then installing some Python dependencies. (Python3 is required.) My final fHDHR config file is pretty basic: Code:
[main] uuid = RANDOMLY_ASSIGNED [fhdhr] address = 0.0.0.0 port = 5004 [plutotv] username = REDACTED password = REDACTED On the web page you might notice that by default it creates 4 tuners for PlutoTV, although you can override this in the configs. I did not test how many streams PlutoTV allows simultaneously. Then in OpenDCT, I followed the normal instructions for creating a Generic HTTP Capture device which is basically: 1. Stop OpenDCT 2. Add the new device to the 'generic.http.device_names_csv' list in the 'opendct.properties' file. (I named mine "DCT-fHDHR PlutoTV-0"). 3. Start OpenDCT so it creates a device entry. 4. Wait 20 seconds then stop OpenDCT 5. Edit 'opendct.properties' and add the device to the 'sagetv.device.global.only_devices_csv' list if you filter devices. 6. Add streaming_url for the new device: "http\://IP_ADDRESS\:5004/api/tuners?method\=stream&tuner\=0&channel\=%c%&origin\=plutotv&stream_method\=direct" 7. Start OpenDCT 8. Stop/Start SageTV (so it will pick up the new device) You should now have a new source in SageTV. If you use Schedules Direct, there is a "Pluto TV" lineup you can use. Issues I've noticed so far: 1. The SD "Pluto TV" lineup channel numbers don't always line up with the ones presented from fHDHR and the Pluto TV web page. I remapped (both physical and logical) the channels that I wanted so all the numbers match. 2. When OpenDCT stops using a stream, it takes 5-10 seconds for fHDHR to stop steaming. When switching from one PlutoTV channel to another, OpenDCT will try to connect again more quickly than that, and fHDHR will reject the request because the tuner is still "in use". I tried using the "stopping_executable" option to force a delay but that didn't seem to help. I have "fast_network_encoder_switch" set to false. Some other notes: 1. There is a Locast "origin" so you should be able to use this same method for Locast. I have not tested this. 2. Because of the plugin architecture, it looks relatively easy to add new origins. This might be a way to get TV Everywhere into SageTV, but I did not have time to work on this but may in a few weeks. 3. For some origins (sources), fHDHR grabs and/or builds XMLTV data, but SageTV has no way by default to grab this from fHDHR, so in order to have EPG data you have to use a lineup that exists in Schedules Direct (PlutoTV has this), or possibly use the XMLTV plugin. I have not tried this either. 4. Originally I tried fHDHR set up with PlutoTV as a "source" and the HDHR "interface" plugin so OpenDCT would just magically see it as a new HDHR, but fHDHR's HDHR implementation isn't quite what OpenDCT and Sage expects (different APIs I believe) so they don't see these automatically like they do with real HDHR devices. fHDHR has streaming URLs that can be used even without the HDHR interface plugin, so that is what I used above. I removed the HDHR interface plugin as it wasn't needed. 5. If you want more than one PlutoTV tuner, just repeat the instructions above to add more to OpenDCT. Be sure to change the "tuner=0" to "tuner=1" or similar in the URL for each device. 6. fHDHR can have multiple origins/sources defined (like PlutoTV and Locast). If you add another origin plugin, you can add another device in OpenDCT, just change the 'origin' in the URL to match the "short" origin name. So far it's working pretty well, although I have not done any long recordings. Hopefully ENE or someone else will have some thoughts on options for OpenDCT to wait longer between tunings of the same device. --John |
#2
|
|||
|
|||
fHDHR seems like a project that could be useful for SageTV since HDHRs are so well supported. And I saw your post in the Locast thread as well.
We are starting to see some interesting ways in being able to integrate streaming TV channels into SageTV. Or other Media Server software like Plex, Emby, etc.
__________________
New Server - Sage9 on unRAID 2xHD-PVR, HDHR for OTA Old Server - Sage7 on Win7Pro-i660CPU with 4.6TB, HD-PVR, HDHR OTA, HVR-1850 OTA Clients - 2xHD-300, 8xHD-200 Extenders, Client+2xPlaceshifter and a WHS which acts as a backup Sage server |
#3
|
|||
|
|||
Nice work, Thank You!
|
#4
|
|||
|
|||
Quote:
I do think it's good that a lot of "video source" projects are using the HDHR API to act as a common interface to various DVR like projects. --John |
#5
|
|||
|
|||
The FHDHR product has been modularized so there are plugins for origins and interfaces. Wouldn't the Interface plugin make it easy to integrate into SageTV?
|
#6
|
|||
|
|||
Quote:
An fHDHR Interface plugin that behaves like a Sage Network Encoder would be a really cool idea and open up a lot of options. --John |
#7
|
|||
|
|||
Being a user of HDHRs but being completely not a programmer (i.e., most lingo in the OP was Greek to me ), I would love to know if there is a possibility that this could be packaged up into a SageTV plugin. Could that happen?
__________________
Server: AMD Athlon II x4 635 2.9GHz, 8 Gb RAM, Win 10 x64, Java 8, Gigabit network Drives: Several TB of internal SATA and external USB drives, no NAS or RAID or such... Software: SageTV v9x64, stock STV with ADM. Tuners: 4 tuners via (2) HDHomeruns (100% OTA, DIY antennas in the attic). Clients: Several HD300s, HD200s, even an old HD100, all on wired LAN. Latest firmware for each. |
#8
|
|||
|
|||
I think the previous post to yours is the most relevant here. There is something called fHDHR which allows various streams to mimic and HDHR. If you could do that and come up with a tuning method then there could be a variety of IPTV type of streaming services which could be used by SageTV with very little effort required.
There is a slight problem in that currently SageTV does not read those streams as it uses a newer protocol. If we could get someone to change things so that SageTV used the older protocol then it could really open up some interesting things . And there is a much larger universe writing "plugins" to allow services like Locast, PlutoTV, etc to allow them to work with fHDHR. Here are some of the docs: Quote:
__________________
New Server - Sage9 on unRAID 2xHD-PVR, HDHR for OTA Old Server - Sage7 on Win7Pro-i660CPU with 4.6TB, HD-PVR, HDHR OTA, HVR-1850 OTA Clients - 2xHD-300, 8xHD-200 Extenders, Client+2xPlaceshifter and a WHS which acts as a backup Sage server |
#9
|
|||
|
|||
Wayner, not sure if you were talking to me... I understood "what" this is, I was just wondering whether it could be packaged into a SageTV plugin where you'd click "install" and it would do everything needed and maybe an interface could be created (or a simple how-to instruction guide where you'd have to manually enter feeds into the sage.properties file or some other file or GUI). In other words, for folks like me, adding/writing scripts and manually installing other files/software and setting them all up would take a lot of "for dummies"-level explanation, so I wondered if a lot of that could be rolled into a plug-in.
Also wondering if those looking at this were around and/or remember Michaeldjcox's web feed encoder plugin back in v7 era, that somewhat did the same thing (https://forums.sagetv.com/forums/sho...b+feed+encoder). Michael quit Sage in January 2020 (per his farewell post then). His plugin worked for some internet video streams and even online streaming radio stations (you'd just have a logo on the screen while the music streamed through SageTV) and created fake channels in your EPG for them. I never got it working well myself, but again, that's probably due to my aforementioned lack of programming knowledge.
__________________
Server: AMD Athlon II x4 635 2.9GHz, 8 Gb RAM, Win 10 x64, Java 8, Gigabit network Drives: Several TB of internal SATA and external USB drives, no NAS or RAID or such... Software: SageTV v9x64, stock STV with ADM. Tuners: 4 tuners via (2) HDHomeruns (100% OTA, DIY antennas in the attic). Clients: Several HD300s, HD200s, even an old HD100, all on wired LAN. Latest firmware for each. |
#10
|
|||
|
|||
I was responding to you. I am not sure how much work would be needed to set this up. I haven't really used OpenDCT. It takes a bit of work but it isn't too bad. Once that is set up it shouldn't be too bad to get the stream into SageTV. The other issue then becomes the guide data. If the channels that you are receiving in something like Pluto are esixting TV channels then it shouldn't be too hard to pull the data into SageTV, assuming that you subscribe to guide data today from SD. Getting data for online only channels might be a bit trickier and require a bit of work but it shouldn't be too hard.
__________________
New Server - Sage9 on unRAID 2xHD-PVR, HDHR for OTA Old Server - Sage7 on Win7Pro-i660CPU with 4.6TB, HD-PVR, HDHR OTA, HVR-1850 OTA Clients - 2xHD-300, 8xHD-200 Extenders, Client+2xPlaceshifter and a WHS which acts as a backup Sage server |
#11
|
|||
|
|||
Quote:
--John |
#12
|
|||
|
|||
Quote:
Back in the Sage v6 days there were a number of plugins I installed which had pretty complicated installations but folks wrote really great "how to" pages that made it fairly easy to follow along and get things working. Unfortunately there aren't the huge number of people using Sage anymore (both from the lack of interested programmers and from the lack of interested users who finance... er... egg them on )
__________________
Server: AMD Athlon II x4 635 2.9GHz, 8 Gb RAM, Win 10 x64, Java 8, Gigabit network Drives: Several TB of internal SATA and external USB drives, no NAS or RAID or such... Software: SageTV v9x64, stock STV with ADM. Tuners: 4 tuners via (2) HDHomeruns (100% OTA, DIY antennas in the attic). Clients: Several HD300s, HD200s, even an old HD100, all on wired LAN. Latest firmware for each. |
#13
|
|||
|
|||
Quote:
--John |
#14
|
|||
|
|||
It looks (from their github) that fHDHR doesn't work under Windows.
https://fhdhr.github.io/fHDHR_Docs/usage/
__________________
Server: Windows 8.1 4gb RAM; 4TB SATA + others. Homebrew quad core AMD. Inputs: Haup. 980, 850 & 950Q on ATSC; Haup 1600 on ATSC & Comcast 2 DTAs with USBUIRT for NTSC. Haup 1800 on ATSC. HDHR Dual (ATSC). Sage 9.22 64 bit. |
#15
|
|||
|
|||
Quote:
This is from the link you posted: Quote:
__________________
New Server - Sage9 on unRAID 2xHD-PVR, HDHR for OTA Old Server - Sage7 on Win7Pro-i660CPU with 4.6TB, HD-PVR, HDHR OTA, HVR-1850 OTA Clients - 2xHD-300, 8xHD-200 Extenders, Client+2xPlaceshifter and a WHS which acts as a backup Sage server |
#16
|
|||
|
|||
Quote:
--John |
#17
|
|||
|
|||
Quote:
__________________
Server: Windows 8.1 4gb RAM; 4TB SATA + others. Homebrew quad core AMD. Inputs: Haup. 980, 850 & 950Q on ATSC; Haup 1600 on ATSC & Comcast 2 DTAs with USBUIRT for NTSC. Haup 1800 on ATSC. HDHR Dual (ATSC). Sage 9.22 64 bit. |
#18
|
|||
|
|||
Quote:
--John |
#19
|
|||
|
|||
Quote:
__________________
Server: Windows 8.1 4gb RAM; 4TB SATA + others. Homebrew quad core AMD. Inputs: Haup. 980, 850 & 950Q on ATSC; Haup 1600 on ATSC & Comcast 2 DTAs with USBUIRT for NTSC. Haup 1800 on ATSC. HDHR Dual (ATSC). Sage 9.22 64 bit. |
#20
|
|||
|
|||
Quote:
__________________
New Server - Sage9 on unRAID 2xHD-PVR, HDHR for OTA Old Server - Sage7 on Win7Pro-i660CPU with 4.6TB, HD-PVR, HDHR OTA, HVR-1850 OTA Clients - 2xHD-300, 8xHD-200 Extenders, Client+2xPlaceshifter and a WHS which acts as a backup Sage server |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
OpenDCT for ARM is it possible? | emveepee | Hardware Support | 7 | 11-26-2019 04:54 PM |
OpenDCT and Tuning_Delay | atchoo | SageTV for unRAID/Docker | 3 | 05-12-2018 10:50 AM |
OpenDCT stopping.. | jbuszkie | SageTV for unRAID/Docker | 1 | 07-27-2017 08:32 AM |
OpenDCT and R5000 | checkbin | Hardware Support | 9 | 12-29-2016 12:54 PM |
OpenDCT: Can I use it? | SDeGonge | Hardware Support | 7 | 02-20-2016 10:27 AM |