Advanced DVR notes and options

Generally whichever record engine has the most free space will do the recording.

If a record engine is already recording the channel and the new recording overlaps due to padding then this record engine will do the overlapping recording if it can. This allows a single tuner to be used for overlapping recordings on the same channel.

If a record engine reaches its concurrent stream limit then another record engine will take over additional concurrent streams. The default limit is 16 for Windows/Mac/Linux/BSD.

The StorageID in the conf file must be specified (and must be unique). The record engine will automatically create and add a StorageID to the conf file if it has write access to the file. Normally, this should happen automatically.

To limit the number of concurrent recordings set RecordStreamsMax in the conf file (registry on Windows). Once this limit is reached another record engine will take over additional concurrent recordings. The default/max is 16.

  • If there is a mix of CableCARD and OTA tuners, the OTA tuners will get a higher priority as they tend to have better picture quality than compressed cable signals.
  • HD channels will be prioritized over SD channels.

Location of recordings

The default directory for recordings is:

%PUBLIC%\Recorded TV\HDHomeRun\

To change this directory use the HDHomeRun Setup utility and click on the “DVR” tab.

A second advanced method to change this setting (only for advanced users) is to use regedit to modify the registry:
Key: HKEY_LOCAL_MACHINE\SOFTWARE\Silicondust\HDHomeRun\DVR
Name: RecordPath
Type: String
Value: <full path to desired directory for recordings>

After specifying or changing the RecordPath you will need to reboot the PC (or stop and restart the HDHomeRun RECORD service).

WARNING: do not run the RECORD service on Windows with RecordPath set to a shared network folder provided by another system. Doing so will appear to work but Windows has a resource limit relating to tracking sub-directories on network shares and it will fail in subtle ways once this threshold is reached.

The default directory for recordings is:

/Users/HDHomeRun/

To change this directory edit /Users/HDHomeRun/hdhomerun.conf and change the RecordPath line.

The hdhomerun_record daemon and hdhomerun.conf MUST stay in /Users/HDHomeRun/.

After editing hdhomerun.conf you will need to reboot the Mac.

To specify a path for recordings create a file hdomerun.conf and add a line:

RecordPath=<full path to desired directory for recordings>

The conf file can be specified when running hdhomerun_record by adding –conf <conf filename> to the command line. If not specified the record engine will check the current directory and /etc/hdhomerun.conf.

Additional search paths can be added by setting RecordPath to:

<record path>;<additional search path>;<...>

The first path provided will be used for storing new recordings and locating existing recordings.

Additional search paths will be used to locate additional recordings.

For MacOS and Android, a file called hdhomerun.conf can be created in the recording directory that contains the following definable parameters.

On Linux-based systems (including most commercial NAS systems) the hdhomerun.conf file is required, often created automatically by using a given installation method for the DVR software.

On Windows, this data is stored differently. Please see the Windows DVR page for information on how change these settings.

RecordPath=<full path to desired directory for recordings>
StorageID=
Port=
RecordStreamsMax=
PlaybackStreamsMax=
SendfileDisable=

The hdhomerun.conf file should be a plain text file (no rich text formatting), and only end in .conf (not .txt). Each setting is written on a new line in the file. If you have an existing hdhomerun.conf file and a setting isn't present, simply start a new line (press return/enter) and paste the text in for that setting (such as “RecordStreamsMax=”).


RecordPath
The full file path to the desired directory/folder to be used for recordings. This can be used to specify an external drive as well. We strongly discourage using mounted network drive locations for performance reasons.

On Windows, this can be set using the HDHomeRun Setup utility.


StorageID
The record engine will automatically create and add a StorageID to the conf file if it has write access to the conf file. Normally, this should happen automatically. HDHomeRun DVR software installation methods mentioned in the guides will all automatically generate a unique StorageID. This is mainly used for very specific situations such as testing, and most users can safely ignore this setting.


Port
The port used by the DVR software.


RecordStreamsMax
Sets the number of recording streams, or “slots”/channels, that the DVR software will allow to happen simultaneously. A setting of 0 will disable that DVR installation for recording, while still allowing previous recordings to be accessed by the HDHomeRun app.

The default number of recording streams is 16. Most PCs and NAS devices wired to ethernet should be able to handle that much traffic, but this can be lowered or raised based on the needs of that specific DVR installation.


PlaybackStreamsMax
Sets the number of playback streams, or “slots”, that the DVR software will allow to happen simultaneously. Basically, this will set how many users can watch a previously made recording at the same time. This will also impact the live TV buffer, which can allow multiple users to watch a single channel off of a single tuner.

The default number of playback streams is 16. Most PCs and NAS devices wired to ethernet should be able to handle that much traffic, but this can be lowered or raised based on the needs of that specific DVR installation.

For example, if your network and DVR hardware can support more playback streams, you could increase the number to 20 and have 20 TVs/devices all watching the same TV channel, while only consuming a single tuner slot.


SendfileDisable
SendfileDisable=1 option for use with complex disk/filesystem configurations that do not work reliably with “sendfile”.


Live TV buffer note

The DVR software also works to extend the live TV pause/rewind buffer. Live TV buffers will take at least one slot from PlaybackStreamsMax and RecordingStreamsMax.

  1. Example: if 2 people are watching two different TV channels, even if they are not recording those channels, 2 Playback slots and 2 Recording slots will be consumed.
  2. Example: if 2 people are watching the same TV channel, even if they are not recording that channel, 2 Playback slots and 1 Recording slot will be consumed.
  3. Example: if a person is watching a previously made recording, only 1 Playback slot will be consumed. No Record slots will be consumed.
  • Last modified: 2021/03/02 04:05