With high speed internet and almost everything else running on line it was only a matter of time before old OTA and cable access become too expensive and vintage.
The content nowadays is everywhere and battle of streaming services is in full swing. There is so much content out there that it feels a bit overwhelming at times, but in some cases there is still need for some local tv content.
OTA and cable content in a typical household usually require multiple receivers, one for each tv set and the price in those cases can add up quickly. But on top of that what if you want to watch your tv content on any device, not just the tv? What about phones, tablets, or even away from your home? In those cases, in the old days, you would be out of luck. To top it all, what if you forgot to record some content? Wouldn’t it be great that you can set it up to be recorded while you are away from your home?
Enter Plex Live TV and DVR. If you are unfamiliar with this product just google it a bit and you will get the idea of its potential. Let’s just say it’s a central media hub for all your streaming needs. If you want to stream your BL rips or DVDs, music, photos you name it, Plex can deliver. On top of that it can do live tv as well but unlike all the other features, this last one is a paid one. Also called Plex Pass feature. Now it’s worth mentioning that there is also a large number of other features as well but today I will focus on Live TV.
So with Plex pass feature in the bag I will show you how to get your over the air content into Plex and onto every device that Plex can work on.
Before we begin, you will need a running Plex server with plex pass subscription so bare that in mind.
This setup also includes running XTEVE. That’s a TV proxy that will emulate an OTA receiver. Plex works with a number of receivers, but if you don’t have one you can run one inside a Docker platform, or as a platform on your win/mac/linux machine of your choice.
My setup will be Plex on a Synology NAS, XTEVE running in Docker on that same NAS and as a source of channels, I will be using a demo IPTV M3U list (so no real OTA antenna).
Just before I continue let’s make one thing clear. You can run the same setup on Plex with your receiver (HDHomerun for example) connected to your cable or regular antenna.
Scenario that I’m showing here is for situations that you don’t have any hardware apart form your NAS but have access to the Internet. As a proof of concept, this setup will be more then fine.
Configuring a virtual receiver
First we need to setup up xteve (or any alternative tv proxy like tellytv for example) so that we can prepare it for Plex Live TV configuration in the last step.
For my example I have used a docker image https://hub.docker.com/r/bl0m1/xtevedocker to create xteve container that we then use to connect with your iptv channel list.
By default, this image is running on port 34400, with a single volume needed to map the location of your offline m3u files (if you choose to use that method).
This is the configuration for the docker container:
docker run -it -d --name=xteve -p 34400:34400 -v ~/xteve_home:/home/xteve/.xteve bl0m1/xtevedocker:latest
As we can see there is only one port mapped and a single volume path. I will not get into too much details on docker setup and configuration in this article as I presume that you have the basic knowledge of running a docker container.
After you have setup the XTEVE container and have it up and running it will most likely be on the ip address of your NAS running on its default 34400 port (unless you have changed that). In any case you can access the interface by going to the default page on http://your_NAS_IP:34400/web.
After the initial wizard (entering you first list as a M3U local file or a remote address and a valid XMLTV (EPG) file/url) you will be land on the xteve default UI.
Main thing to do here is to map your channel list (called playlist) and your XMLTV (EPG) source. This has to be completed here (and repeated in PLEX as well) in order for Plex LiveTV wizard to detect the channels when you configure it first time (more on this a bit later).
XTEVE has an option of filtering your list(s) depending on your needs. So for example you can filter out certain channels from IPTV lists that do not meet you criteria. Keep in mind that most IPTV list can have a lot of channels (thousands) but Plex LiveTV, at the moment of this article, supports only a max number of 480 channels.
I will not get into too much on XTEVE configuration considering its wiki site and overall documentation is rich with all the informations that you might need, so dig in.
For this setup/demo you can use any IPTV list on the internet that you can get your hands on as well as a XMLTV list/URL to make this work. Keep in mind that most EPG solutions (XMLTV lists) are paid, so I will not list here any specific ones. You can also run your own solution to create daily or weekly EPG for free but thats a topic for another article.
So, now that we have a running XTEVE setup and a working list of channels with their valid EPG, its time to configure Plex LiveTV and connect it to this tv proxy.
Plex LiveTV configuration
As mentioned above, LiveTV and DVR are a premium Plex feature and as such require Plex Pass subscription.
If you have a Plex server running on a hardware that supports hardware transcoding (also a Plex Pass feature), this will be good news for you. Live TV can at times, require transcoding depending on your choice of Plex client device. In certain cases, video and/or audio will need to be transcoded and with HW transcode support your CPU will not be pegged that much (if at all) as it would be while transcoding would be on a pure software level.
Log into your Plex server and open up the Settings section. In the left column under the Manage section you will find Live TV & DVR option.
For this to work Plex needs to find your digital tuner (XTEVE in this case) on your network. There is also a manual input option so if it will not detect XTEVE you can manually input it in this format:
Click continue. In the next step your tuner should be detected and you will see the list of channels as well (those that you mapped in XTEVE with their corresponding EPG). If all the channels that you were expecting are listed just click continue again.
In the next step Plex will ask for your EPG (XMLTV) source. Even though we have mapped the channels in XTEVE we have to do it again here. So if you have used a public list or static file enter the path to that file and continue forward.
As you can see we need to map all the channels again (if not detected automatically) with their corresponding EPG code in order for Plex LiveTV to be able to pull the timetable as well as the description for all the content of all those channels.
As a final step you need to be patient. Building the guid for the first time can take some time depending on the number of channels as well and amount of data in the EPG for each channel. For about 2-3 days worth of data and about 10 channels it will be done in matter of minutes (of this will depend on your sources, internet speed etc).
Now that we have completed the setup, it would be good to reset Plex server. There is a known problem with XTEVE and Plex if this is not done. XTEVE tuner will be presented as not accessible unless you reboot (but it will still work fine).
After all this is done, you are good to go and enjoy your content. Visit the Live TV & DVR section on your Plex server and you will be presented with a similar TV Guide.
Clicking on any channel name it will tune Live TV broadcast and for all the things that you see in the guide in the future, you will have the option to record and save in a library that you can prepare for it. All that content will be crawled as well and you can edit them as you see fit.
Plex Live TV playback and utilization
Considering that you now have OTA content on any device that you can used Plex on give yourself a pat on the back.
At the time of this article this great feature works on all Plex platforms but on the Samsung Tizen (TVs 2016+). To clarify, Live TV works on them but the grid feature is missing, meaning you will only be able to tune into things that are about to start or record whats to come. If for any reason you switch channels, you will not be able to go back to the content thats already in progress. Stupid I know, but Plex is working on it, and hopefully Guid will be available soon.
As I mentioned before, depending on your client platform of choice, some channels will require transcoding like any other movie or tv show that you can stream via plex. In some cases, audio will be just repacked in a different container, and video will be transcoded if an unsupported codec is detected.
This will have a bigger or smaller CPU impact on your Plex server (NAS in this case) depending on the hardware transcoding feature being active (supported) or not. Most NAS devices from Intel have a QuickSync technology built in and thats what Plex uses to make use of the HW transcoding.
On a typical device that has HW transcoding CPU utilization will be almost non existing.
If you are running Plex Home feature (Plex server with multiple local Plex users) you can also enable Plex Live TV feature to be visible to those users just like any other library and content on your Plex server.
On the other hand this feature will not work for your outside (remote) Plex users. You will be able to share any recorded content of course, considering it will be a part of a library that you can choose to share with them.
So to sum it up. If you have a tuner that you can hook up to your LAN and have a working Plex server with Plex Pass feature, there is no reason for you not to give this a go. It will eliminate your need to have multiple set top boxes for your OTA/cable, save you money in the process and give you your content in a great visual presentation on more device that you can handle.
As always, ask away, comment and criticize!