Iwould like to add IPTV channels that is currently configured in PVR IPTV Client on KODI to broadcast like a virtual tuner, so I can add it to Plex Live TV & DVR for Plex Pass. I read that there is a way to make the IPTV channels running on KODI via OSMC to look like a HDHomeRun tuner to the Plex DVR setup.
There are a number of things that can help with this, for example tvhproxy (GitHub - jkaberg/tvhProxy: An small flask app to help Plex DVR connect with Tvheadend) or antennas (GitHub - jfarseneau/antennas: ?HDHomeRun emulator for Plex DVR to connect to Tvheadend.) both of which will feed tvheadend to plex as if it was a hdhomerun.
Maybe your team can develop a proxy tuner addon for OSMC that allows the existing media box browser to broadcast to Plex like TVH and Telly proxy does. Since I can already access my iptv channels via the OSMC media browser from any device in my house, why not add a feature for it to connect to Plex like a virtual tuner?
We have discussed that this is possible with various proxy tuners that can emulate a physical tuner. So I am hoping to understand whether this can be done with the in-store TVH server or if I need to install an offsite bundle of TVH along with a proxy add-on to achieve this.
I am currently able to stream IPTV channels from my OSMC media browser page by setting up PVR IPTV Simple Client add-on. Supposedly, TVH is able to accomplish the same thing with IPTV channel m3u links.
While this setup certainly lacked the flexibility of more elaborate options based on network tuners (like the popular HDHomeRun) or virtualized tuners such as the now defunct DVBLink, it was actually trivial to set up and exceptionally stable, specially since replacing the old TV tuners by newer Hauppauge WinTV-quadHD cards (these things are not only ultra-stable but they also offer low-latency channel switching and have a fairly good reception).
As you probably already know, due to internal Windows Media Center/DirectShow limitations, only MPEG1, MPEG2 and H.264 channels are supported and it's not possible to watch or record H.265/HEVC channels, even if you install the appropriate DirectShow codecs. Since WMC was abandoned by Microsoft many years ago, it's extremely unlikely we'll ever see an update to make it compatible with HEVC channels.
To work around this limitation, acer-5100 opted for a simple but clever setup that consists in combining DVBLink (and its IPTV source plugin) with Tvheadend: by simply configuring DVBLink to use transcoded streams provided by Tvheadend rather than the original HEVC sources, Windows Media Center always gets a good old MPEG2 or H.264 video stream it can decode without any issue. Simple and clever.
A first DVB-T2 multiplex will be progressively deployed in most regions of France later this year, but acer-5100's results were so promising that I decided not to wait for the DVB-T2 mux to be available to start testing these two options:
I initially decided to give acer-5100's DVBLink-based approach a try: thanks to acer-5100, I was able to download the hard-to-find DVBLink 4.1 installer and managed to make the whole thing work after a few attempts. Unfortunately, the result wasn't great: it worked, but the channel switching delay was higher than my traditional setup and I was getting frequent PlayReady update incomplete errors that required switching to a different channel before switching back to the channel I wanted to watch (definitely not a great user experience!). After chatting with acer-5100, he confirmed he was also seeing similar errors from time to time. I tried a few other DVBLink versions, but each had its own issues (which surprised me quite a bit as DVBLink has always been a popular option amongst the Windows Media Center enthusiasts).
I then decided to give my variant a try: installing the HDHomeRun BDA driver was trivial as even the latest version worked absolutely fine. Once installed, all I needed was an HDHomeRun emulator to make the HDHomeRun BDA driver think it was communicating with a real HDHomeRun device: I initially opted for Antennas, but it wasn't recognized by the HDHomeRun setup utility, most likely because it doesn't emulate all the APIs it needs. I quickly gave up and tried the fantastic HDHRProxyIPTV instead: while it's no longer actively developed and not super easy to configure, it works just fine and is extremely stable.
After a month, the conclusion was clear: not only the channel switching times were comparable to my traditional setup (despite the additional IP latency caused by the use of Ethernet/PLC adapters), but it was also as stable as a physically attached tuner: the flexibility of DVBLink without any of the downsides ?
I've since replaced the Raspberry PI by a more traditional x64 machine running Ubuntu Server with two Hauppauge WinTV-quadHD PCIe cards attached (as it will be much better at transcoding than a limited ARM SBC), but I haven't changed anything to the client part.
Given that I'm extremely happy with the result, I decided to write this post for those who would be interested in an alternative to DVBLink. While there's nothing terribly complicated, the whole process is of course much more elaborate than simply configuring a physically-attached TV tuner: if you're not willing to get your hands dirty, I would probably not recommend this option ?
Of course, nothing in this world is perfect and there's a downside: Tvheadend is not available on Windows, so you'll need a Linux machine (Tvheadend itself will work fine on Windows Subsystem for Linux or in more traditional virtual machines, but if you want to use a PCIe or USB tuner to receive terrestrial or satellite TV, it's surely going to be a painful process and the result might not be as stable as you'd expect).
Installing Tvheadend is quite easy, but the configuration part will differ depending on how you receive TV (e.g IPTV, DVB-T, DVB-C, DVB-S or a mix of multiple sources). If you're not familiar with Tvheadend, don't miss the tutorial written by the Pi Mylife Up guys: -pi-tvheadend/.
An already compiled x86 Windows executable can be found in the GitHub repository of the project alongside the default configuration files: Download the 3 files and store them in the same folder but don't start the executable yet.
For those who prefer running HDHRProxyIPTV as a Windows service (which is ideal for a headless WMC recording server), I created a simple installer containing the official .exe from GitHub and a local copy of WinSW 3 that allows using HDHRProxyIPTV.exe as a service (the configuration files are stored alongside these executables in C:\Program Files (x86)\HDHRProxyIPTV, which requires admin rights to edit them).
Of course, since it runs as a service, there's no GUI visible, which can make the debugging process more complicated: in this case, I suggest starting with the "regular" version of HDHRProxyIPTV and switching to the service approach once you have a working HDHRProxyIPTV.ini/HDHRProxyIPTV_MappingList.ini.
HDHRProxyIPTV.ini: it contains the HDHRProxyIPTV configuration and all the settings of the emulated HDHomeRun device. Most of the lines should be left as-is, but three options deserve a special attention:
The number of tuners: by default, only 2 tuners will be created, but you can select up to 9 tuners (and not 8, as indicated in the file). It's worth noting that the number of virtual tuners exposed to WMC doesn't have to match the number of physical tuners attached to the Tvheadend machine: you can of course select a lower number, but also a higher value if you want to be able to record multiple channels of the same DVB multiplex (in this case, Tvheadend is smart enough to reuse the same physical tuner when the requested channels share the same DVB frequency).
The auto-start option: it is disabled by default but can be set to 1 if you want the emulated device to start automatically when the HDHRProxyIPTV executable is launched, which is very convenient if you add HDHRProxyIPTV to the list of programs that are started when opening your WIndows session.
HDHRProxyIPTV_MappingList.ini: it contains all the channels that will be accessible by the emulated HDHomeRun device. Each channel has a channel ID that you can set to any value you want and a virtual DVB-T frequency range. Here's an example of a mapping file containing 2 channels:
Once started, HDHomeRun Setup should initiate a firmware update: of course, since the device is emulated, no actual update will happen, but don't cancel the process: just wait a few moments and the message will eventually disappear.
Depending on the device ID you chose, the tuners might either appear as individual "sub-devices" or as a single, multi-tuner device: in both cases, things will work exactly the same way and the rest of the process will be identical.
If you configured your emulated HDHomeRun device to expose more than 4 tuners, you'll need to tweak WMC to be able to configure more than 4 tuners of the same type. This can be done using TunerSalad or via epg123 (my recommended option).
When WMC starts examining the TV signals, click Cancel and select Let me configure my TV signal manually. Then, select Antenna, click Next and ensure all the virtual TV tuners you want to enable are selected:
Windows Media Center doesn't offer a way to create arbitrary channels via its graphical user interface. Luckily, it's possible to do it programmatically using public APIs that are part of Windows Media Center.
Unfortunately, when multiple channels share the same exact DVB information, Windows Media Center ends up merging them automatically at some point (a process typically performed by the mcGlidHost executable). While it is possible to disable this mechanism, using the same DVB information has other side-effects like forcing a bogus channel change when recording a program on another channel while already watching live TV.
3a8082e126