How to Build Automated DVR for the Ultimate TV Experience
- Ver Original
- Maio 18º, 2015
Imagine that you have a Digital Video Recorder (DVR) that can automatically store all the content of any live TV channel for the past month, meaning that if you miss a TV show, you can always go back and watch it whenever you want and on any device.
I have had this system up and running for a long time, and I believe this will really change the way you watch live TV.
Setting up a media server with a TV tuner has been one of the most requested guides among the readers of My Media Experience. In this complete DIY guide, I will show you how to set up an exciting TV experience that you may not have ever seen elsewhere.
My DVR system allows you to watch TV on your terms.
The uniqueness of the DVR system introduced in this guide is that you do not need to worry about remembering and setting up correct recording times, as this Do-It-Yourself DVR system will have all of the TV shows always recorded to watch at later times.
In my own DVR system, I have Argus TV software recording live TV from the HDHomeRun network attached TV tuner, MCEBuddy software removing commercials, Plex Media Server software categorizing and transcoding the recorded TV programs, and front-end HTPCs and mobile devices displaying them.
This is what my DVR system looks like…
You’ll learn how to
You can use this Do-It-Yourself DVR system to automatically record only selected TV series, record automatically in primetime, or record all content on a channel. You can also define how long each recorded show will stay on your DVR system.
Using this DVR system, you do not need to plan in advance to make sure your TV shows will be recorded. Or if you hear about a great show that you have missed, you can always go back and watch it later on any device as it has been already recorded.
What you will need
In order to complete this guide, you will need a TV tuner, a Windows-based computer with the disk space for recordings, and something with a screen for viewing.
- Media server hardware: I’m using my value HTPC (my performance HTPC is a good option as well) as a back-end server for the TV recorder, scheduler, commercial remover, and media server applications.
- TV tuner: I’m using HDHomeRun network attached TV tuner to record TV.
- Media devices: I’m using my front-end HTPCs and iPad to watch TV shows.
- TV recorder: According to my tests, Argus TV is a solid TV software that has an advanced, rule-based scheduling system.
- Commercial remover: I’m using MCEBuddy to remove commercials, rename, and convert TV shows to MP4 format.
- Media server software: I’m using Plex Media Server to organize TV shows and transcode video streams to other devices.
- Front-end software: I’m using my custom HTPCs with a PleXBMC add-on on Kodi Entertainment Center software to watch recorded shows in my home.
- Plex app: I’m using a Plex app on iPhone and iPad to watch TV shows on the go.
Build a back-end media server
I’m using my reference value HTPC, which fits perfectly as a Digital Video Recorder, but many other hardware types are also suitable as a back-end media server. If you already have a Windows-based computer that has Intel Core 2 Duo processor 2.4 GHz or better and at least 2GB RAM, you can skip this step.
If you don’t yet have a computer that can act as a media server and are not sure which components to choose, you can use my value HTPC component listing to build a HTPC with me.
If you already have Windows 8.1 or Windows 10 installed on your computer, you can skip this step.
After the Windows operating system installation is completed, it is time to install graphics drivers.
Set up Windows Storage Spaces (optional step)
You can skip this step if you are using only one hard drive for your TV recordings.If you use multiple hard drives, I recommend that you create a storage pool so that you can record all TV shows into one folder.
The benefit of Storage Spaces on Windows 8 or newer versions for a Do-It-Yourself DVR is that the Storage Space is actually a virtual disk and you can record all the TV shows into one folder, while Storage Spaces distributes the data into multiple hard drives.
|First, go to Control Panel and select “Storage Spaces”
under System and Security.
|Select the “Create a new pool and storage space” option, and
you will be prompted to create your first storage space.
You will see a list of available hard drives that can be
incorporated into your pool.
|Next, enter a name, drive letter, and resiliency
type for your storage space. I decided to use “Simple”
resiliency type as I wanted to maximize storage space and
I did not want to protect my data from a single drive failure.
|Finally, click “Create storage space”, and your storage
pool will be created. Now, set up is completed and you can
start recording media files to the storage space.
Now, I have about 5.5 TB storage space on one virtual drive, which means I can record almost 5,000 hours of SD or 1,000 hours of HD content.
Set up HDHomeRun TV tuner
HDHomeRun is a great network attached TV tuner that allows you to watch and record live TV.
You can choose between three HDHomeRun products: Connect (2 tuners standard), Extend (2 tuners HD), and Prime (3 tuners HD). The Connect and Extend are over-the-air antenna devices, Prime is a premium cable TV device with full CableCARD conditional access support.
Then, let’s proceed with setting up HDHomeRun.
|First, connect coax cable, Ethernet cable and power
adapter to the HDHomeRun.
|Download HDHomeRun software and install it on your PC.
Launch the app and set your location and source type.
In the Application tab set the “Main Application” to “Other”.
Do not select _For The Record_ from the menu.
|If you are using DVB-C tuner like I am, select the
modulation settings on the DVB-C tab. If you use Dual model,
you can skip this step. If you use Prime model, refer to
|Run a channel scan on the Digital Cable tab. Once
scanning is completed, you’ve finished installation.
Install TV recorder software
There are many TV recording software to choose from. Over the past several years, I have been using Windows Media Center, Tvheadend, MediaPortal, DVBLink, NextPVR, and more recently Argus TV to record TV shows.
Here you can see a comprehensive comparison of the PVR recording software.
In my setup, I only record copy freely (i.e. unencrypted) TV channels, so my recommendation is Argus TV software because of its flexibility and reliability according to my tests.
If you are using a cable card, for example with HDHomeRun Prime, then I would recommend using ServerWMC with Windows Media Center as the PVR recording software. However, it is good to keep in mind that Windows 10 does not include Windows Media Center any more, so you need to stick with Windows 7 or Windows 8.1 operating system, if you plan to use WMC and ServerWMC.
Let’s proceed with preparing for the Argus TV software installation.
Install Microsoft SQL Express
Before you install Argus TV Scheduler, you will need to install database server software. Argus TV recommends you use Microsoft SQL Express, so let’s proceed in installing it.
|First, download Microsoft SQL Server 2014 Express and
launch installer. Select “New SQL stand-alone installation or
add features to an existing installation”.
|Accept the terms and conditions then simply click “Next” for
the following screens using the default selections until the
installation is completed.
Create recordings folder
I would recommend creating a recording folder and set up your shares before installing Argus TV.
|First, using the Windows Explorer, create a folder where
you wish record all TV shows. For example, I’m using
“E:\Argus TV\Recordings” that utilizes Windows Storage
Spaces. Then, create another folder for Timeshifting.
For example, “E:\Argus TV\Timeshift”.
Choose “Share” > “Specific people” to bring
file sharing window.
|In the file sharing window, add “Everyone” to the list and
choose Read/Write permission level. Click “Share” button.
Now, your recordings folder is visible in the Argus TV.
Repeat this step for the Timeshift folder as well.
Install Argus TV
|First, download the latest version of Argus TV.
Launch the installer application and click “Next” button.
|In the “Select Setup Type” screen, choose “Server/Client”
and click “Next”. Choose all components and click “Next”.
|In the “Set Additional Scheduler Settings”, pick a user name
and password for accessing remotely via a web page to
Argus TV. Continue clicking “Next” on “Set Additional
Web Access Settings” and “Choose Install Location”
|Next, you will need to test the database connection the
Argus TV service should use. Choose “Windows
Authentication”, and test the connection with the
“Test Connection” button. Click OK, and you will be
shown the finish dialog.
Configure Argus TV Recorder
After installing Argus TV, let’s proceed in configuring Argus TV Recorder in the Recording Console.
Let’s first detect and configure TV tuner cards and then scan TV channels as services.
|Launch the Recording Console application and click
“Connect” to connect to the Argus TV Recorder.
|Go to the “Cards” screen to get an overview of the cards
installed in your PC. If you use HDHomeRun, select “Show
settings” at the bottom of the screen and choose the
“Advanced” tab. For each card, check the box for “Reset
when idle” and change the “Wait for service PMT” to 20 sec.
|Next, go to “Scan Services” to scan for services.
Select a suitable region and click “Next” to see a
list of frequencies to scan. Click “Scan” button.
|When the scanning is completed, you will see the
list found services.
Then, you will need to map services to TV tuner cards. This is a useful feature especially for multiple tuners such as HDHomeRun, as you can scan for services on the first card and then map all the scanned services to other cards.
After mapping services to cards, you will need to link services to channels and finally you can activate EPG-grabbing for the channels.
|Go to the “Card/Service Mapping” screen. Using the
<< buttons you can map services. Repeat this step for
each of the card. When ready, click “Save” button.
|Go to “Services” screen. For each service that is
not linked, click the “Create Channel In..” button, and
select the group (e.g. the All Channels group) where
you want the channels to be created in.
|Go to “Channels” screen. For each of the channel,
check the checkboxes in the grid “Grab EPG” and
“Include in EPG” columns.
|Finally, go to “Settings” screen. Press “(Re)Check
Share” buttons to make sure that the paths entered in
the Recordings and Timeshifting are properly shared,
and accessible as UNC share (e.g. \\yourPC\\Recordings).
Add channel logos
Finally, in order to make your EPG guide to look nicer, you can add channel logos for each of the channels.
You can easily find channel logos for example by Googling for “channel name logo wikipedia”. Then, save images into “C:\ProgramData\ARGUS TV\Channel Logos\” folder with naming convention “channel name.png”.
Scheduling your recordings
Once Argus TV Recorder is ready to start recording your TV shows, let’s use the Argus TV scheduler and create schedules for the recordings.
You can schedule your recordings either via the Argus TV Scheduler Console or Web Access (http://localhost:42080).
In this guide, I will use the Argus TV Scheduler Console, but you can do these same steps via Web Access as well.
Manually schedule and record TV shows
First, let’s do an easy manual recording to get familiar with the Scheduler.
|Launch Argus TV Scheduler console application. Go
to Programs > Electronic Program Guide. Choose an
upcoming TV show on a channel, right click, and
select record. Click “Save” on the following screen.
|Now, go to Programs > Upcoming Recordings to see
your recording. Repeat the step 1 for any TV show
you wish to manually schedule for recording.
Automatically schedule and record all TV shows on a channel
Next, I will show you a more advanced way to automatically record all TV shows on a specific channel. Using this method, you don’t even need to remember to schedule your favourite TV shows.
Let’s create custom schedules so that all the TV shows will be automatically recorded on selected channels.
|Launch Argus TV Scheduler console application. Go to
the Schedules > Recordings and click “Create Schedule”.
Give a “Name” to the recording, e.g. channel name.
Set the “Pre-record” and Post-record” to “0:00:00″.
Choose “Keep 14 or 31 Days” depending on your HDD space.
Tick boxes “On days Mo, Tu, We, Th, Fr, Sa and Su”.
Select Channels on the drop down menu and press << to
add channels. You can see upcoming shows at the bottom.
|Go to Recordings > Active Recordings to verify that
the recorder has started recording all scheduled channels.
Modify the naming convention of recorded files
As the last step, in the Argus TV Schedule Console, go to “Administration” > “Recording File Formats” to modify the naming convention of recorded files. I’m using the following naming convention to help Plex Media Server to identify correct metadata, but you can choose whatever fits to your needs.
This naming convention means that each TV show will be recorded into a separate folder with the Title and episode name, season and episode number and date and time stamp: e.g., “The Flintstones\The Flintstones (Son of Rockzilla – 24) – s04e24 – 2015-05-16_16-00″.
Set up commercial remover
If you wish to clean the recorded TV shows and remove commercials, I would recommend using MCEBuddy tool.
MCEBuddy watches the recordings, strips the commercials, and re-encodes video files in high quality.
I do not want to remove ads on every recorded TV show as I record all programs on specific channels. Therefore, I decided to organize my TV recordings into two separate folders: Recordings and Favourites.
The Recordings folder contains all recorded TV shows, while the Favourites folder contains only my most frequently watched TV shows converted without commercials.
So, I will show you how I set up MCEBuddy to remove commercials and convert them to MP4 format for my favourite TV shows.
|Purchase and download MCEBuddy and install it to your PC.
Click “Settings” button to configure settings.
|Click “Add” button under “Monitor locations”. MCEBuddy
will keep monitoring this location for new recordings. Then,
click “Add” button under “Conversion tasks”.
|In the “Conversion Task” window, write task name, set
the “Profile” to “MP4 High Quality” and set the
destination folder (e.g. E:\Argus TV\Favourites). In the
“Selection Filters”, type your TV shows you want to have
ads removed and converted. (e.g. Bones*; Castle*;Holmes*).
Click OK twice to return back to main screen.
|On the “MCEBuddy Status” screen, click “Start” and it
should start converting automatically. You can leave
MCEBuddy working on the background, so when ever new
recordings are available, they will be processed.
I noticed that some of the converted recordings had a green line on the side. You can get rid of this green line by going to “Settings” > “Edit Conversion Task” > “Expert Settings” > uncheck “Hardware encoding” under “Audio and Video”.
All in all, MCEBuddy has been working well in my system and it has removed commercials very accurately with Comskip tool.
Organize recorded TV shows
Next, let’s organize recorded programs and re-encoded favourite TV shows so that they will be available to any device you use to watch videos.
For this system, I tested both Emby (was MediaBrowser 3) and Plex Media Server to see how they could be used as a back-end media server for my DVR system.
I found Plex to be the easiest way to manage recorded TV shows, so next let’s install and configure Plex Media Server to manage and stream recorded TV shows to any device.
Plex Media Server has the ability to transcode your TV recordings, depending on your device and network. This way, TV shows will play smoothly on your mobile phone or your iPad over a wireless network.
Another great feature of the Plex is that you can continue the video file from where you left off on any device. For example, you can start watching a TV program with your HTPC in the living room and then continue watching it on your iPad elsewhere.
You can set up Plex Media Server and media library for your TV recordings by following these steps.
|Download the Plex Media Server and install it on your PC.
Open the Plex by right clicking the application icon
on your start bar and selecting “Media Manager”
|The first time you load Plex Web App, a Wizard will
prompt you in the creation of Libraries for your media.
In the “Add a section” under “My Library”, select the
folder where the Recoded TV and Favourites are located.
|Allow Plex to go through your media files and scrape
the meta data. Then, you can fix any incorrectly matched
videos by seleting the TV show and click “…” icon on the
left bar. Select “Fix Incorrect Match” and search for the
correct TV show.
|Now, you can access your media library on any PC, mobile
device or Smart TV. For example, you can get the Plex app
for your mobile phone and start watching your TV shows.
Lastly, I would recommend changing the library update interval, so that media library stays up-to-date when Argus TV finishes recording new TV programs.
In Plex Web App, go to “Settings” > “Server” > “Library” > Enable “Update my library automatically” and set the “Library update interval” to “every 15 minutes”.
Configure front-end software
You can also use Plex front-end, but I prefer Kodi software as a complete entertainment center solution.
If you are new to Kodi or wish to customize it further, you should check out my comprehensive guide to set up and customize Kodi.
Integrate Kodi and Plex Media Server
In this section, I will show you how to integrate Kodi and Plex.
I would recommend using Amber skin as it is currently the best supported PleXBMC-enabled for complete integration.
In Kodi, you can download Amber skin by going to “System” > “Appearance” > “Skin” > “Get More” > “Amber”.
|Download Plexbmc add-on (direct download here). Then,
in Kodi, go to “Settings” > “Kodi” > “Add-ons”. Select
“Install from zip file” and locate the file “helix.zip”.
Select “Install” to download and install Plexbmc.
|To enable Plexbmc, select “Go Plex” below the
“Settings” main menu item. Similarly you can change,
Plexbmc settings, such as selecting server or changing
playback quality settings. Remember to add the myplex user
name and password.
Integrate Argus TV and Kodi to watch Live TV
Even if this DVR system is capable of recording all TV shows, you can of course still watch live TV.
Here are the steps to watch live TV.
|In Kodi, go to “Settings” > “Kodi” > “TV” > “Enable” the PVR features.
Next, select Argus TV from the PVR client list. Click
“Enable” start Argus TV client. You can also configure
Argus TV server address if you use remote computer.
|Kodi will start loading EPGs for each channel and
you can access the channels from the “TV” menu.
You have finally reached to the end of this guide. It may look complicated to set up this DVR system at first, but once you get it working, you can simply forget it and enjoy TV shows automatically appearing to your media devices.
Let’s recap the main points to consider when building your own DVR (Digital Video Recorder) system…
In this complete guide, I have covered step-by-step how to build and set up DVR system to automatically record TV shows. Now it’s your turn.
To get started building your own, have a look at the following hardware recommendations that are suitable back-ends and front-ends for your ultimate TV experience.
You may also find it interesting how to record premium online channels such as Netflix and Hulu in a similar way.