Sunday, November 3, 2019

Roku as a DVR vs. TiVo and Other CableCARD Compatible Devices with Comcast

Last modified:  November 12, 2019

You may be able to save money by purchasing your own DVR equipment instead of renting equipment from Comcast.  This is more often the case if you pay a portion of your Comcast bill or the complete bill as part of your rent or homeowners association fee.  One option is to purchase TiVo equipment or other CableCARD compatible devices.  Another option is to purchase a Roku Ultra, Roku Streaming Stick or other devices that are compatible with the Xfinity Stream App.

TiVo and Other CableCARD Compatible Devices 


This has been the traditional choice, and there are federal regulations that often allow you to spend less of your hard-earned money to watch and record content as compared to renting equipment from Comcast.  A single CableCARD can be used to allow multiple TVs in your home to have access to recordings and live TV without the additional fee that is sometimes charged by Comcast due to using multiple outlets.  If your package includes a box, you can choose to use your own equipment instead and receive a discount on your bill.  If your Comcast package does not include access to HD content when using non-CableCARD equipment without an additional fee, you still may be able to watch and record HD channels using your own CableCARD compatible equipment without paying the additional HD fee.  This HD access as described is not always the case, and the best way to determine if it is possible is to try it or ask some of your neighbors if applicable.  More details about saving money using this option can be found here.

This option does not limit the number of hours you can record since additional hardware can be purchased to save recordings.  Also, this option is very convenient when it comes time to quickly change the channel or manage recordings.  Unlike the option described below, it is possible to use a full remote with easily accessible numbers, or you can optionally use a full size or miniature keyboard or air mouse with some CableCARD compatible equipment.  On some future date, Comcast will discontinue the ability to use CableCARD devices with its services.  Since TiVo recently released a new CableCARD DVR and SiliconDust is developing a new HDHomeRun Prime, it indicates these companies believe CableCARDs will be supported by Comcast for the life of these products.  TiVos are not currently able to access Comcast video on demand, but other CableCARD compatible devices are able to do this.


Roku and Other Xfinity Stream App Compatible Devices


The beta version of the Xfinity Stream app can currently be used on Roku devices with Comcast's cloud DVR service to allow it to be used to watch and record the content included in your package.  It was previously necessary to have at least one Comcast box in order to use the cloud DVR service, but Comcast has recently made it possible to use the beta-version app on Roku devices and smart TVs with the cloud DVR service with no other equipment from Comcast.  If you want Comcast's Extra plan with only Roku devices and a Comcast representative tells you that a Comcast box is required, you can obtain a CableCARD with no charge instead without using the CableCARD.  This will likely allow you to use your Roku devices with the cloud DVR service, live TV, and video on demand.  Having only Roku devices, however, is not recommend due to the nonefficient user interface and lack of numbers on the remote that make it more time consuming to change the channel.  The Extra plan only includes 10 or 20 hours or recordings.  The full DVR service can be added to the Extra plan for an additional $10 per month, and that will enable 60 hours of cloud recordings.

There is currently no additional outlet fee for using the app on multiple Roku devices, but Comcast has indicated that the future version of the app may have a fee for additional outlets.  Also, Comcast has recently indicated here that it is no longer possible to receive HD service for most channels on a Roku device for customers that do not have HD service included in their package unless an additional fee is paid.  Many Comcast customers currently have the Digital Starter plan with HD service not included without an additional fee, and this is more often the case for customers with a bulk account.  There is speculation on some forums that Digital Starter will be eliminated nationwide and all packages will include HD for all devices, but if or when that happens, there may be additional fees to use the app at that time as described above.

Comcast customers with a bulk account will need to check with Comcast to determine how much it will cost to use Roku devices with the cloud DVR service due to bulk accounts not always matching the information on the services and pricing rate card provided by Comcast for their location.  For example, it is common for a customer to have Comcast internet service combined with Digital Starter with a bulk account even though the rate card indicates these services cannot be combined.  In this case, cloud DVR service can often be added for $10 per month.  The fees for HD access, cloud DVR service and internet service are paid directly to Comcast, and the cost for Digital Starter is paid for by the building owner or homeowners association. These fees quickly add up often making this not the best financial choice for Comcast customers with a bulk account.



Popular Opinion Poll and Conclusion


A poll was posted on the TiVo Community Forum, DSLReports Forum, and Reddit asking about the two options presented above.  As of November 12, 2019, the results are as follows:

TiVo Community Forum:  13 votes for CableCARD devices, 3 votes for Xfinity Stream App devices
DSLReports Forum:  3 votes for CableCARD devices, 1 vote for Xfinity Stream App devices
Reddit:  1 vote for CableCARD devices, 1 vote for Xfinity Stream App devices

My overall recommendation after researching the two options presented above and conducting the poll is to choose the CableCARD compatible devices option.  This may vary for your specific case, but savings are possible for many people, and the user experience to switch channels and navigate recordings is much better with the CableCARD devices option.

Monday, September 2, 2019

Using a TiVo Roamio Remote with MythTV on Ubuntu

Instructions are shown below for setting up a TiVo remote to control an HTPC that has MythTV installed.  An HTPC is a computer that is connected to a home theater system or simply a single TV.  MythTV is media center software for an HTPC that is mainly used to watch and record TV content.  Ubuntu is one of the most popular Linux operating systems.  I used a TiVo Roamio remote, but this can be done with other TiVo model infrared (IR) remotes with some possible minor differences.

Hardware


A TiVo remote can be purchased here on Amazon.  Alternatively, one can be purchased used together with a TiVo from eBay or various other sources for very little money.  An Inteset USB external IR receiver works great with a TiVo remote, and one can be purchased here on Amazon.

Software Setup


The following steps can be used to set the TiVo remote to work with a specific TV and optimize the remote for use with MythTV:
  1. Open a web browser and visit TiVo's instructions here to make the remote control the TV power, volume, mute and input directly.
  2. Open a terminal and type "sudo apt install ir-keytable" without the quotes.
  3. Copy /lib/udev/rc_keymaps/rc6_mce to a folder in your home folder just to make a backup copy of the original.
  4. Make another copy of rc6_mce in your home folder.
  5. Open the rc6_mce file in your home folder in a text editor, erase all content, and replace the content as shown below.
  6. Open a terminal, and enter "sudo cp ./rc6_mce /lib/udev/rc_keymaps/rc6_mce" without the quotes.
  7. Open a web browser, and visit http://BACKEND.IP.ADDRESS.HERE/mythweb/settings/mythtv/keys
  8. Under Jumpoints Editor, enter "=" for Main Menu and ";" for Live TV.
  9. Under Keybinding Editor, delete "F5" for Menu Blue and MenuEPG, enter "F5" for Add bookmark, delete "B" for Toggle active PIP/PBP window, and enter B for Jump to the start of the recording.
Replacement entries in new rc6_mce file:

# table tivo, type: NEC
0x3085d028 KEY_1
0x3085d029 KEY_2
0x3085d02a KEY_3
0x3085d02b KEY_4
0x3085d02c KEY_5
0x3085d02d KEY_6
0x3085d02e KEY_7
0x3085d02f KEY_8
0x0085302f KEY_8
0x3085c030 KEY_9
0x3085e014 KEY_UP
0x3085e016 KEY_DOWN
0x3085e017 KEY_LEFT
0x3085e015 KEY_RIGHT
0x3085c031 KEY_0
0x3085c033 KEY_ENTER
0x3085c032 KEY_ESC
0x3085f00d KEY_EQUAL
0x3085c036 KEY_S
0x3085e019 KEY_ENTER
0x3085d024 KEY_DOT
0x3085e011 KEY_SEMICOLON
0x3085d023 KEY_P
0x3085d021 KEY_P
0x3085e01e KEY_UP
0x3085e01f KEY_DOWN
0x0085301f KEY_DOWN
0x3085708d KEY_ESC
0x3085d022 KEY_COMMA
0x3085d020 KEY_R
0x3085e013 KEY_I
0x3085b044 KEY_W
0x3085e018 KEY_D
0x3085e01a KEY_F5
0x3085d025 KEY_K
0x3085d026 KEY_PAGEUP
0x3085d027 KEY_PAGEDOWN
0x30859060 KEY_M
0x30859061 KEY_B
0x30859062 KEY_SLASH
0x30859063 KEY_H

Key Descriptions

Key descriptions while watching live TV, watching a recording and global as applicable:
  1. Jump to main menu (=)
  2. Jump to live TV (;)
  3. Directly control the TV power
  4. Show information (I)
  5. Directly control the TV input (also known as source)
  6. Switch between preconfigured zoom modes (W)
  7. Exit (Esc)
  8. Select (Enter)
  9. Navigate (arrow keys)
  10. Change channel (arrow keys up and down)
  11. Directly control the TV volume
  12. Show EPG (S)
  13. Directly mute and unmute the TV
  14. Record (R)
  15. Delete (D)
  16. Add bookmark (F5)
  17. Play (P)
  18. Sticky fast forward or skip forward one second while paused (.)
  19. Sticky rewind or jump back one second while paused (,)
  20. Pause (P)
  21. Jump to bookmark (K)
  22. Jump ahead (Page Down)
  23. Jump back (Page Up)
  24. Switch to the previous channel (H)
  25. Show pop-up menu (M)
  26. Cycle through channel groups and all channels in the program guide (/)
  27. Jump to the start of the recording (B)
  28. Select (Enter)
  29. Exit (Esc)

Friday, July 26, 2019

MythTV v30 Example Installation Steps with Ubuntu 18.04

I used the steps shown below to install MythTV v30 on Ubuntu 18.04.  MythTV is open source media center software for a home theater or television computer and is often used to watch and record TV content.  Ubuntu is one of the most popular Linux operating system distributions.  The steps below are based on the installation instructions found on the MythTV wiki and this blog post.

The MythTV frontend and backend was installed so the system can be used to watch and record TV content, and the system can be used by other MythTV frontends in my home.  An Asus H110T was used with Intel graphics.  A single hard drive was used for the operating system and all other files.  Also, an HDHomeRun Prime was used with Comcast Xfinity.  The guide data source is from SiliconDust and TVMaze, and this differs from the more commonly used Schedules Direct source.
  1. Install Ubuntu using the minimal install option.  The installation iso file and instructions for installing Ubuntu Desktop LTS can be found at https://ubuntu.com.
  2. Boot into Ubuntu and start Software Updater.
  3. Install all available updates.
  4. Reboot, and repeat steps two and three until Software Updater indicates there are no more updates.
  5. Set a static IP address:
    • Left click on the network icon on the top-right of the screen, left click on the right arrow next to the network connection, and left click Wired Settings.
    • Left click the gear icon next to the current working network connection.
    • Left click the IPv4 tab.
    • Left click Manual, and enter appropriate values for the address, netmask, and gateway.
    • Left click the toggle to turn automatic DNS off, and enter appropriate values for the DNS addresses.
    • The automatic routes can be left on.
  6. Reboot, start Firefox, and verify the connection is working.
  7. Left click the lower left Show Applications icon, and left click on Terminal.
  8. Install MythTV v30, plugins, and do some miscellaneous tasks by entering the following in the terminal:
    • sudo add-apt-repository ppa:mythbuntu/30
    • sudo apt install mythtv
    • sudo apt install mythplugins
    • sudo adduser $USER mythtv
    • mkdir -p $HOME/.mythtv
    • ln -s -f /etc/mythtv/config.xml ~/.mythtv/config.xml
  9. Reboot the PC.
  10. Setup the backend (part one):
    • In the terminal, enter "sudo systemctl stop mythtv-backend".
    • In the terminal, enter "mythtv-setup".
    • In General, set the security pin to 0000.
    • In General, set the IPv4 primary IP address to the address used in setting the static IP address above.
    • In Capture Cards, press enter with new capture card highlighted, press the down key to highlight new capture card, and press enter.
    • Select HDHomeRun networked tuner, press the right arrow key, press enter with use HDHomeRun... selected to enable it, and in Recording Options, deselect EIT scanning.
    • Repeat the above step three times for the three available tuners.
    • In Video Sources, create a new source, name it NG, set the listing grabber to no grabber, the CF table to default, and the network ID to -1.
    • In Input Connections, create three connections, name them Prime1, Prime2 and Prime3, set the name to MPEG2TS, and set the source to NG.
    • In Storage Directories, set the default to /var/lib/mythtv/recordings/, and set live TV to /var/lib/mythtv/livetv/.
    • Save, and press Esc to exit myth-setup.  Do not start the backend, and do not update the database when prompted upon exiting.
  11. Reboot the PC.
  12. Scan for channels and add channels to MythTV:
    • Start Firefox, and access the HDHomeRun Prime's web page interface by going to http://my.hdhomerun.com.
    • Left click HDHomeRun Prime.
    • Left click Channel Lineup.
    • Left click Detect Channels, and give it about 20 minutes to detect all channels.  The channel numbers should appear as the scan progresses.  Channels marked "DRM" will not work with MythTV.  With Comcast, only premium channels such as HBO are generally marked "DRM".
    • Add channels to MythTV using the hdhrchan2myth.py script.  The usage instructions can be found at here.
  13. Setup the backend (part two):
    • In the terminal, enter "sudo systemctl stop mythtv-backend".
    • In the terminal, enter "mythtv-setup".
    • In Channels, delete the channels that are not needed.
    • Exit myth-setup.  Do not start the backend, and do not update the database when prompted upon exiting.
  14. Reboot the PC.
  15. Set the sound output in Ubuntu:
    • Left click the lower left Show Applications icon, and left click on Settings.
    • In Sound, set the output to HDMI/displayPort-Built-in Audio.
    • Close the settings window.
  16. Change settings in systmed so the backend will not start until the network is up:
    • In the terminal, enter "sudo systemctl edit mythtv-backend.service".
    • Once the nano edit mode starts, add only the following two lines:
      • [Unit]
      • After=NetworkManager-wait-online.service
    • Save and exit from nano edit mode.
    • Edit /etc/mysql/mysql.conf.d/mythtv.cnf, and delete "#" before "bind-address=::" if it is there
  17. Setup the frontend:
    • Left click the lower left Show Applications icon, and left click on MythTV Frontend.
    • In Setup, select Setup Wizard.
    • In the wizard, choose an audio device, and select Test Speakers.  Change the audio device and test again until the test sound can be heard.  
    • Also in the wizard, choose VAAPI Normal for the video playback profile.  After this step, it should be possible to watch live TV.
    • In Video, select Playback.
    • Use the arrow keys to highlight Current Video Playback Profile, and press the right arrow key.
    • For the vaapi entry, deselect Deblocking filter, and set the primary and fallback deinterlacer to none.
  18. Install hdhrepg2myth using the directions shown here.
  19. Install mythrecmaze using the directions shown here.
  20. Automatically start MythTV when the computer starts:
    • Open Terminal and enter "gnome-session-properties".
    • Left click on Add and enter bash -c "sleep 20 && mythfrontend --service" to start the MythTV frontend.  No entry is needed for the backend.