Thursday, March 26, 2020

Mythchromium - Add a Menu Button in MythTV that Launches a Web Browser

Mythchromium is a small script that adds a Chromium menu button and optionally a Chrome menu button in MythTV which launches the browser full screen.  Controlling the mouse cursor with a TV remote is also an option.  Additionally, automatically opening lv.tedsblog.org is an option.  This website contains links to video streaming websites.  Mythchromium is for Ubuntu Linux and other similar Linux distributions.


Mythchromium Instructions

  1. Install HTPC Browser Launcher by following the instructions at htpc.tedsblog.org/2020/03/htpc-browser-launcher.html.
  2. Navigate to github.com/heyted/mythchromium/releases, and download the latest tar.gz file.
  3. Put the tar.gz file in your home folder.
  4. Open Terminal, and enter "tar -xvf mythchromium-20200326.tar.gz -C /tmp/ && cd /tmp/mythchromium-20200326 && ./mythchromium.py" without the quotes.  Change the version numbers if needed to match the downloaded file name.
  5. The downloaded tar.gz file can be deleted.
  6. Restart MythTV Frontend.

Saturday, March 14, 2020

Linux Friendly Video Streaming Websites

The website lv.tedsblog.org contains links to video streaming websites that meet the criteria listed below.  The site is intended for use with a computer or other device that is connected to a TV and running a web browser.  It uses a large font size and is navigable using the arrow and enter keys in addition to using a mouse, and this makes it suitable for use with a TV remote from approximately 10 feet away from the TV screen.  The site consists of three pages -- an internet only sites page, a broadcast channel sites page, and a cable channel sites page.  Also, the site does not use cookies, and no login is needed.

Website Inclusion Criteria


Please help with additional links to other video streaming sites.  If you know of a website that meets the criteria below and is not included or one that is noncompliant, please let me know in the comments below.  Also, if you notice an error or one of the included websites is not working, please let me know.
  • Contains streaming video and works with Ubuntu and other similar Linux distributions
  • Works with Chrome, Chromium or Firefox with no significant modification to the browser needed
  • Accessible in the United States
  • Not a local only website such as a local news website

Noncompliant Websites


There are millions of Ubuntu users worldwide according to ubuntu.com, and that is just one Linux distribution.  Despite the large and growing number of Linux desktop operating system users, the owners of the sites below have made it impossible or difficult to stream video using a browser on Linux.
  • Hulu
  • Comcast (video on demand)
  • Disney+
  • Vudu

Using a Browser with Hardware Video Acceleration


As of the writing of this blog post, Chrome and Firefox do not support VA-API hardware acceleration for Linux.  A Chromium beta build that is kept updated, however, is available with VA-API enabled for Ubuntu from launchpad.net/~saiarcot895.  Chromium beta builds are not officially intended for regular use.  To install Chromium beta with VA-API, open a terminal and enter the following:
  1. sudo add-apt-repository ppa:saiarcot895/chromium-beta
  2. sudo apt-get update
  3. sudo apt install chromium-browser

Sunday, March 8, 2020

HTPC Browser Launcher - Launch a Browser with TV Remote Mouse Pointer Control

HTPC Browser Launcher is a small script for Ubuntu and other similar Linux distributions that launches a browser full screen.  It is currently compatible with only Chrome, Chromium and Firefox.  The script optionally allows control of the mouse pointer movement and clicking using Keynav which is convenient when using a TV remote.  Also, the script optionally opens lv.tedsblog.org which contains links to video streaming websites.  The directions below are for Ubuntu but are similar for other Linux distributions.  Also, the directions below assume ir-keytable is being used for the TV remote.  Example instructions for ir-keytable are shown here.

Install and Configure HTPC Browser Launcher

  1. Navigate to https://github.com/heyted/htpc-browser-launcher/releases.
  2. Under the latest release, download the tar.gz file and put it in your home folder.
  3. Open Terminal and enter "tar -xzf htpc-browser-launcher-20200329.tar.gz && cd htpc-browser-launcher-20200329 && ./install" without the quotes.  Edit the release numbers if needed to match the tar.gz file name and press enter.  The message "HTPC Browser Launcher was successfully installed" should appear in the terminal.
  4. The tar.gz file and htpc-browser-launcher-20200329 folder can be deleted
  5. Enter "nano ~/.htpc-browser-launcher/htpc-browser-launcher.cfg" without the quotes.
  6. Leave "True" for Keynav to enable it while the browser is open, or change this to "False" if you do not want to use TV remote keys to control the mouse pointer.
  7. Leave "True" for Unclutter to have the mouse pointer disappear when not being used, or change this to "False" if desired.
  8. Leave "False" for no screensaver if the screen saver and screen blanking are turned off using the operating system settings or if Gnome is not being used, or change this to "True" if desired.
  9. Leave "True" for the streaming links site setting to have the browser open the site mentioned above, or change this to "False" if desired.
  10. Leave "chromium-browser" if it is installed and is the desired browser.  Change this to "google-chrome" or "firefox" without the quotes if desired.
  11. Press Ctrl+s to save the file.
  12. Press Ctrl+x to exit nano.

Optional Additional Software


Keynav allows control of the mouse pointer using a dynamically moving and shrinking grid in which the pointer jumps to a selected position instead of the conventional method of moving the pointer to the new position.  Kevnav requires an X11 or Xorg graphical system such as that used by Ubuntu 18.04 and 20.04, and it is not compatible with Wayland.  By default, HTPC Browser Launcher uses the 1, 2, 3, 4, 6, 7, 8, and 9 number keys to move the selected grid, the 5 key moves the pointer and left clicks, the 0 key moves the pointer and right clicks, and the p key starts a sequence.  These keys must be included in the ir-keytable rc_keymps file to control the pointer with a TV remote.  Unclutter is used to make the pointer disappear when not being used.
  1. Open Terminal.
  2. Enter "sudo apt install keynav" without the quotes.
  3. Enter "sudo apt install unclutter" without the quotes.
  4. Enter "sudo nano /etc/default/unclutter" without the quotes.
  5. Change START_UNCLUTTER="true" to START_UNCLUTTER="false" to disable starting it when booting.
  6. Press Ctrl+s to save the file.
  7. Press Ctrl+x to exit nano.

Enable Launching and Closing the Browser with a TV Remote

  1. Edit your ir-keytable /lib/udev/rc_keymaps file to include KEY_F14 and KEY_Pause.  KEY_F11 is also useful to toggle full screen mode.  F11 cannot toggle the full screen mode in kiosk mode (see notes below).
  2. Reboot the computer.
  3. In Ubuntu, open Settings, select Devices and Keyboard.
  4. Scroll to the bottom, and click + to create a custom shortcut.
  5. For the name, type "Launch Browser" without the quotes.
  6. For the command, type "./.htpc-browser-launcher/htpc-browser-launcher.py" without the quotes.
  7. For the shortcut, press the button on the remote that is assigned to KEY_F14.
  8. Click Add.
  9. Click + to create a custom shortcut.
  10. For the name, type "Close Active Window" without the quotes.
  11. For the command, type "wmctrl -c :ACTIVE:" without the quotes.
  12. For the shortcut, press the button on the remote that is assigned to KEY_Pause.
  13. Click Add.

Notes

  1. Chrome and Chromium start in full screen mode, and Firefox starts in the full screen kiosk mode.
  2. Firefox not always starting full screen is a known issue.  Comments are welcome and appreciated about this.
  3. The script can be started using a command line switch which overrides the browser in the configuration file.  The switch options are "google-chrome", "chromium-browser" and "firefox".