Friday, June 28, 2013

Streamlining spur-of-the-moment recording with HD Homerun (Rev A)

(Rev A - see Notes)

The HD Homerun GUI provided by Silicondust is pathetic, as you can discover for yourself by using it to set one tuner to one subchannel within a channel, and the other tuner to another subchannel within the same channel, and then entering a "save" command (hdhomerun_config <tuner ID#> save /tunerN <FileName>.ts, where N is 0 or 1 in a dual-tuner unit) for each tuner. (This requires using one terminal for each tuner to avoid having to use background/foreground commands, which would be required to use the same terminal-window to control both recording processes.) For a complete listing of HDHR commands, find hdhomerun_development.pdf on the internet.

Let the recording processes run for a while, and then close the terminal-windows to stop recording. Then use the VLC player to examine the two files just recorded, and you'll find that both are the same. 

So, I came up with a method to avoid having to use this sorry excuse for a control panel, and to make it as easy as possible to record two channels simultaneously on the spur of the moment, without having to learn to program in Python and to create a GUI's with GTK+ to create a proper GUI for the HD Homerun. (I suggested such a program to the HD Homerun Recorder's developer, and perhaps he'll get around to it some day. But in the meantime, my system is tolerable.)

My system consists of a list commands for each tuner, which are then copied and pasted into terminal-windows. The idea is to minimize the need to alter any commands before copying and pasting them (the only field that requires alteration is the FileName field in the save command), and to make them as easy to find in the list. Each list consists of a set-command for each channel and subchannel that I might want to watch (it's necessary to set the channel, and then the subchannel, to tune in a program - use the HDHR's GUI to perform a scan and get all the channel/subchannel information) and a single save command, whose FileName slot must be modified to some unique name to prevent recordings from being overwritten, and to allow the file to be easily identified later.

I put quite a bit of effort into designing these lists to be easy to use, and I've included an excerpt from one of them as an example. I also spent quite a bit of time looking for a convenient way to copy and paste the commands into the terminal, and in the process learned of a key-combination (Shift-Insert, which I gather is widely known) which allows text to be highlighted, and then pasted into another window by simply clicking on the other window and then pressing Shift-Insert. Try it, and I think you'll like it.

Here's an excerpt from my list for Tuner1:

-->
Tuner 1


Save

hdhomerun_config 1038702F save /tuner1 <program designation>.ts

==========================================

Set

4

hdhomerun_config 1038702F set /tuner1/channel auto:23

hdhomerun_config 1038702F set /tuner1/program 1

=====================================

6

hdhomerun_config 1038702F set /tuner1/channel auto:30

KUAT

hdhomerun_config 1038702F set /tuner1/program 1

Ready-TV

hdhomerun_config 1038702F set /tuner1/program 3
====================================

9

hdhomerun_config 1038702F set /tuner1/channel auto:9

KGUN

hdhomerun_config 1038702F set /tuner1/program 3

Classic

hdhomerun_config 1038702F set /tuner1/program 4

LWN

hdhomerun_config 1038702F set /tuner1/program 5


[End of excerpt]

Note that except for the Save command (which must be altered to suit each recording), the commands are small, because at this point there's no need to read them, but to just highlight them for pasting with Shift-Insert into the terminal-window of interest. Making them small also reduces the amount of scrolling required to find a particular command. The labels are large so the commands can be found easily.)

Set-command formats

The general format of the channel-set command is as follows:

hdhomerun_config <tuner ID#> set /tunerN/channel <modulation-type>:<channel>

The tuner's ID number is on the rear of the unit, and it can also be obtained from the GUI once the tuner is set up and connected to your computer. (Two numbers will be listed - the ID # is the one that's the same in both cases.) For modulation-type, I use "auto," which is one of the options. For the others, refer to the HDHR development guide, which can be found by searching for hdhomerun_development.pdf on the internet. The channel-number is the physical channel, not the virtual channel. (The virtual channel is the traditional, pre-HDTV channel for the station of interest.)

The general format for the set-subchannel command (a.k.a. the "filtering" command because it filters out the unwanted subchannels) is as follows:

hdhomerun_config <tuner ID#> set /tunerN/program P

where N is 0 or 1 for a dual-tuner unit, and P is the "program" number associated with the subchannel of interest. 

All of the information required for the set commands can be found by tuning in the channel of interest with the HDHR's GUI, and examining the drop-down list of subchannels associated with that channel. The program number is the first number in each entry on that drop-down list. I suggest using the GUI to perform a scan of all channels, and creating a list of channel numbers and program numbers associated with each subchannel of interest. 


Notes
Rev A: Added Set-command formats section

 



No comments:

Post a Comment

Note: Only a member of this blog may post a comment.