Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
hdhomerun_config [2019/06/22 02:12] – [Channelmap] neds | hdhomerun_config [2024/02/07 03:04] (current) – neds | ||
---|---|---|---|
Line 9: | Line 9: | ||
* PC or embedded platforms. | * PC or embedded platforms. | ||
- | ===== Compiling | + | ===== Obtaining |
+ | <WRAP indent> | ||
=== Windows (pre-compiled) === | === Windows (pre-compiled) === | ||
- | Download and install the HDHomeRun software for Windows. The hdhomerun_config.exe executable can be found in the program directory - default C:\Program Files\Silicondust\HDHomeRun. | + | <WRAP indent> |
+ | |||
+ | Download and install the [[https:// | ||
+ | |||
+ | </ | ||
=== Windows (MSVC++) === | === Windows (MSVC++) === | ||
- | Download and extract the libhdhomerun archive. Create a new empty project and include all | + | <WRAP indent> |
+ | |||
+ | Download and extract the libhdhomerun archive | ||
the .c and .h files. From the project properties page under C/C++ advanced, change the Compile As type to C, click apply and then change it back to C++ -- this is a workaround for a bug in MSVC++. Under the Linker input, add Ws2_32.lib and iphlpapi.lib as Additional Dependencies. | the .c and .h files. From the project properties page under C/C++ advanced, change the Compile As type to C, click apply and then change it back to C++ -- this is a workaround for a bug in MSVC++. Under the Linker input, add Ws2_32.lib and iphlpapi.lib as Additional Dependencies. | ||
Compile. | Compile. | ||
+ | </ | ||
+ | === Mac (pre-compiled) === | ||
+ | <WRAP indent> | ||
+ | |||
+ | Download the [[https:// | ||
+ | |||
+ | </ | ||
+ | === Linux/BSD === | ||
+ | <WRAP indent> | ||
- | === Cygwin/ | + | Download and extract the libhdhomerun archive |
- | Download and extract the libhdhomerun archive. | + | |
Run " | Run " | ||
+ | </ | ||
+ | </ | ||
===== Using hdhomerun_config ===== | ===== Using hdhomerun_config ===== | ||
+ | <WRAP indent> | ||
+ | |||
The list of supported commands can be obtained by running hdhomerun_config without any parameters: | The list of supported commands can be obtained by running hdhomerun_config without any parameters: | ||
hdhomerun_config discover | hdhomerun_config discover | ||
Line 35: | Line 55: | ||
hdhomerun_config <id> save < | hdhomerun_config <id> save < | ||
hdhomerun_config <id> upgrade < | hdhomerun_config <id> upgrade < | ||
+ | |||
+ | </ | ||
===== Discover the HDHomeRun devices on the network ===== | ===== Discover the HDHomeRun devices on the network ===== | ||
+ | <WRAP indent> | ||
+ | |||
The discover command will find HDHomeRun devices that are on the same subnet as the host: | The discover command will find HDHomeRun devices that are on the same subnet as the host: | ||
hdhomerun_config discover | hdhomerun_config discover | ||
+ | |||
+ | </ | ||
===== Sending commands to a specific HDHomeRun ===== | ===== Sending commands to a specific HDHomeRun ===== | ||
+ | <WRAP indent> | ||
+ | |||
The "< | The "< | ||
hdhomerun_config <device id> get help | hdhomerun_config <device id> get help | ||
Line 48: | Line 76: | ||
A Device ID of FFFFFFFF can be used as a wild card for the first HDHomeRun device found on the network. Do not use this syntax if there are multiple HDHomeRun devices on the network, as the device used will be random based on discovery order, which may change between commands. | A Device ID of FFFFFFFF can be used as a wild card for the first HDHomeRun device found on the network. Do not use this syntax if there are multiple HDHomeRun devices on the network, as the device used will be random based on discovery order, which may change between commands. | ||
+ | |||
+ | </ | ||
===== Query the list of options supported by a HDHomeRun device ===== | ===== Query the list of options supported by a HDHomeRun device ===== | ||
+ | <WRAP indent> | ||
The get/set options supported by a specific HDHomeRun device can be queried using the get help command: | The get/set options supported by a specific HDHomeRun device can be queried using the get help command: | ||
Line 74: | Line 105: | ||
| < | | < | ||
| < | | < | ||
+ | | < | ||
+ | |||
+ | </ | ||
===== Channelmap ===== | ===== Channelmap ===== | ||
+ | <WRAP indent> | ||
+ | |||
The channelmap is used to configure the auto-modulation detection and channel scan. This should be configured correctly for each tuner. | The channelmap is used to configure the auto-modulation detection and channel scan. This should be configured correctly for each tuner. | ||
Line 106: | Line 142: | ||
| tw-bcast | | tw-bcast | ||
| tw-cable | | tw-cable | ||
+ | </ | ||
+ | |||
</ | </ | ||
===== Channel scan ===== | ===== Channel scan ===== | ||
+ | <WRAP indent> | ||
+ | |||
To run a channel scan: | To run a channel scan: | ||
< | < | ||
Line 118: | Line 158: | ||
When a digital channel is found it will identify the programs on the channel. The log filename is optional; if included it will log to the given filename. | When a digital channel is found it will identify the programs on the channel. The log filename is optional; if included it will log to the given filename. | ||
+ | |||
+ | </ | ||
===== Tuning a physical channel ===== | ===== Tuning a physical channel ===== | ||
+ | <WRAP indent> | ||
To set a channel use the set channel command: | To set a channel use the set channel command: | ||
Line 139: | Line 182: | ||
eg: | eg: | ||
</ | </ | ||
+ | |||
+ | </ | ||
===== Checking the signal strength ===== | ===== Checking the signal strength ===== | ||
+ | <WRAP indent> | ||
+ | |||
The basic signal information can be obtained by using the get status command: | The basic signal information can be obtained by using the get status command: | ||
< | < | ||
Line 169: | Line 216: | ||
flt: bps=38809216 | flt: bps=38809216 | ||
net: pps=0 err=0 stop=0 | net: pps=0 err=0 stop=0 | ||
- | + | ||
- | | + | |
Each line contains a prefix to indicate the type of data, followed by the values. | Each line contains a prefix to indicate the type of data, followed by the values. | ||
* tun = tuner status | * tun = tuner status | ||
Line 189: | Line 235: | ||
The counters are reset to zero upon a channel change, but may indicate a small number of errors caused before the tuner locks on the channel. As a result, diagnostics should be based on the change in values over time, and not the initial values. | The counters are reset to zero upon a channel change, but may indicate a small number of errors caused before the tuner locks on the channel. As a result, diagnostics should be based on the change in values over time, and not the initial values. | ||
+ | |||
+ | </ | ||
===== Detecting the programs on a physical channel ===== | ===== Detecting the programs on a physical channel ===== | ||
+ | <WRAP indent> | ||
The HDHomeRun will detect the programs (sub-channels). Use the get streaminfo command to query the detected programs: | The HDHomeRun will detect the programs (sub-channels). Use the get streaminfo command to query the detected programs: | ||
< | < | ||
format: hdhomerun_config <id> get / | format: hdhomerun_config <id> get / | ||
- | eg: | + | eg: |
</ | </ | ||
The output format is: | The output format is: | ||
< | < | ||
- | + | ||
Example output: | Example output: | ||
3: 20.1 KBWB-HD | 3: 20.1 KBWB-HD | ||
4: 20.4 AZTECA | 4: 20.4 AZTECA | ||
- | | + | |
Digital cable does not always provide the channel name or virtual channel number: | Digital cable does not always provide the channel name or virtual channel number: | ||
1: 0 | 1: 0 | ||
2: 0 (encrypted) | 2: 0 (encrypted) | ||
3: 0 (control) | 3: 0 (control) | ||
- | | + | |
It may take several seconds after setting the channel for the stream information to be fully populated (depending on how long the channel takes to lock and how often the stream information is sent by the broadcaster/ | It may take several seconds after setting the channel for the stream information to be fully populated (depending on how long the channel takes to lock and how often the stream information is sent by the broadcaster/ | ||
+ | |||
+ | </ | ||
===== Filtering by program (sub-channel) ===== | ===== Filtering by program (sub-channel) ===== | ||
+ | <WRAP indent> | ||
The HDHomeRun supports automatic PID filtering by program number: | The HDHomeRun supports automatic PID filtering by program number: | ||
Line 232: | Line 284: | ||
hdhomerun_config <id> set / | hdhomerun_config <id> set / | ||
</ | </ | ||
+ | |||
+ | </ | ||
===== Filtering by PID ===== | ===== Filtering by PID ===== | ||
+ | <WRAP indent> | ||
+ | |||
The HDHomeRun supports arbitrary hardware PID filtering: | The HDHomeRun supports arbitrary hardware PID filtering: | ||
< | < | ||
Line 244: | Line 300: | ||
The filter is cleared to pass-all (0x0000-0x1FFF) when a set channel command is received. | The filter is cleared to pass-all (0x0000-0x1FFF) when a set channel command is received. | ||
+ | |||
+ | </ | ||
===== Saving a stream ===== | ===== Saving a stream ===== | ||
+ | <WRAP indent> | ||
+ | |||
The hdhomerun_config command can be used to automate the process of saving to the local filesystem: | The hdhomerun_config command can be used to automate the process of saving to the local filesystem: | ||
< | < | ||
Line 252: | Line 312: | ||
</ | </ | ||
- | While saving the stream, a single period | + | While saving the stream, a single period |
Example output: | Example output: | ||
Line 261: | Line 321: | ||
</ | </ | ||
- | **Advanced: | + | **Advanced: |
**Advanced: | **Advanced: | ||
< | < | ||
+ | |||
+ | </ | ||
===== Streaming to a target machine ===== | ===== Streaming to a target machine ===== | ||
+ | <WRAP indent> | ||
Set the target IP address and port number using the set target command: | Set the target IP address and port number using the set target command: | ||
Line 281: | Line 344: | ||
A global broadcast (255.255.255.255) or subnet broadcast can be specified however care must be taken to ensure that the broadcast traffic will not cause problems with other devices on the network. If the local network is bridged to a wireless network then the AP will typically transmit at a low broadcast speed saturating the wireless network. | A global broadcast (255.255.255.255) or subnet broadcast can be specified however care must be taken to ensure that the broadcast traffic will not cause problems with other devices on the network. If the local network is bridged to a wireless network then the AP will typically transmit at a low broadcast speed saturating the wireless network. | ||
+ | \\ | ||
+ | \\ | ||
=== Example: Streaming to VLC === | === Example: Streaming to VLC === | ||
+ | <WRAP indent> | ||
+ | |||
Run VLC: File, Open Network Stream. Select UDP/RTP. Specify port 5000. Discover the HDHomeRun: | Run VLC: File, Open Network Stream. Select UDP/RTP. Specify port 5000. Discover the HDHomeRun: | ||
hdhomerun_config discover | hdhomerun_config discover | ||
- | | + | |
Run a channel scan: | Run a channel scan: | ||
hdhomerun_config FFFFFFFF scan /tuner0 scan0.log | hdhomerun_config FFFFFFFF scan /tuner0 scan0.log | ||
- | | + | |
Set the physical channel: | Set the physical channel: | ||
hdhomerun_config FFFFFFFF set / | hdhomerun_config FFFFFFFF set / | ||
- | | + | |
Check sub-programs: | Check sub-programs: | ||
hdhomerun_config FFFFFFFF get / | hdhomerun_config FFFFFFFF get / | ||
Line 296: | Line 363: | ||
Select a sub-program: | Select a sub-program: | ||
hdhomerun_config FFFFFFFF set / | hdhomerun_config FFFFFFFF set / | ||
- | | + | |
Set the target: | Set the target: | ||
hdhomerun_config FFFFFFFF set / | hdhomerun_config FFFFFFFF set / | ||
+ | |||
+ | </ | ||
+ | </ | ||
+ | |||
+ | {{tag> | ||
+ | {{tag> |