Simplified Smart TV via Raspberry Pi

Overview

The original goal here was to create a simple to use Media Player to show converted family movies on the 'big screen'. Over time (and during pandemic lock-in) MoviePi's role expanded to provide access to a couple of free streaming TV and Movie services.

Tailored for users 95+ that know how to use their VCR!

Migrated to new site fall 2021 - Original site/recipe @ http://ventures.tpedersen.net/errata/raspberrypi/moviepi

MoviePi: VCR-like Gizmo to smarten up Dumb TV's

Original: Mid-2019
Last Update: Dec 2022
(MoviePi moved to WiFi only world, time for RPI 3 & refresh. Minor recipe cleanup during rebuild)

Background & Capabilities

The original plan was to load a USB stick with MP4 movies and provide a simple mechanism to play them on a non-smart TV. The Chromecast concept (casting from a tablet) didn't work well for my elderly end-users so I ended up creating a contraption that operate similar to the VCR/DVD they were used to! The latest gizmo serves-up family moves (mp4) from the internet (googledrive) rather than the thumbdrive and provides access to a couple of free streaming services - Crackle, YouTube and National Geographic.

Level of Difficulty & Prep Time

Pretty simple project, no programming required.

Minimal Raspberry Pi or Linux know-how required ...

... BUT ... Kodi configuration takes some getting used to.

... AND ... Google Drive and YouTube Add-ons were amazingly complicated. Reserve an extra hour+ for these!


Probably an hour's worth of work without google add-ons

Hardware

As always, built using junk from my workbench collection.

MoviePi 1:

  • Raspberry Pi 3 (Arm7), 4 USBs, Ethernet + WiFi

  • Old MS MCE Remote (see pic above)

  • Originally 64g USB 3 Memory Stick

  • 16g Micro SD

  • 2.5amp Power Supply

  • HDMI Cable

MoviePi 2:

  • Raspberry Pi 3 (Arm7), 4 USBs + Ethernet

  • EDIMAX WiFi Adapter (optional)

  • An old Gyration MCE Remote*

  • 16g Micro SD

  • 2amp Power Supply

  • HDMI Cable

Software

Originally created using OSMC_TGT_rbp2_20190105 which was Kodi v17. MANY problems with upgrades and maintenance using OSMC. Switched to LibreELEC.tv in 2021. Much better
... BUT ...
requires a dedicated RPi.


Step By Step

Kodi Download/Install

**** June 2021: Switched to LibreELEC. Seems MUCH more stable than OSMC image used in past ****
*** Notes to self based on instructions from -
https://www.technadu.com/install-kodi-on-raspberry-pi/8258/ ***
*** See Also: Official Kodi
HOW-TO:Install_Kodi_on_Raspberry_Pi ***

  1. Download appropriate image for RPi hardware from LibreELEC download page @ https://libreelec.tv/downloads_new/

  2. Flash to Micro SD - Raspberry Pi Imager is my current favorite

  3. Add to Pi (insert SD) and Boot ... Kodi (LibreELEC) comes right up and begins guided install
    (Easiest to use Keyboard & Monitor for initial install)

    • Select Language & Timezone
      // Settings: Interface->Regional, if you are not asked during install //

    • Set Device hostname (MoviePi, for me)

    • Enable SSH (for remote access)
      // Now forces PW change! Step 4 below only if necessary! //

    • Read/Accept License

  4. TURN OFF AUTO UPDATES! (I will take care of these for my user base!!!)
    // Settings: System -> Add-ons -> Updates = Never Check for Updates //

  5. <possibly more linux tweaking/hardening to come here>

That's it ... probably 10 mins from start to finish

Kodi Add-Ons

Via Keyboard/Monitor:

Install Add-Ons (< 10 Mins, if you pay attention)

Main Menu/Settings->Add-ons/Add-on Browser/Install from repository:
(Hint1: Exit sub-menus via dot-dot/up-level *not* ESC key!)
(Hint2: Search for Add-ons if classification is not intuitive)

Look and Feel:

  • Screensaver: Bing: Photos of the Week

  • Skin: Pellucid


Via Search:

  • Media sources - Google Drive

  • Media sources - Crackle

  • Media sources - YouTube (this guy has small set-up wizard )

    • Language and Region: English/United States

    • Use Geolocation

  • FilmRise for Documentaries
    // Originally used National Geographic but something broke //

Kodi & Add-On Config

STILL via Keyboard/Monitor:

Touchup Kodi Settings

Main Menu/Settings (Gear ICON)
(Hint1: Use ESC to navigate in settings!)
(Hint1: Exit sub-menus via dot-dot/up-level *not* ESC key!)

Settings:

  • Interface Settings->Skin Pellucid

    • Configure Skin:

      1. Stop video playing on return to menu -> ON!

      2. Low CPU power mode -> ON! (Not sure what this does, but Pi2 IS low power!)

    • <I HAVE had to reboot after skin change ... may be necessary>

  • Add-Ons: Install from repository->All Repositories->Video Add-ons
    Make sure you test (Launch) Add-Ons ... also nice if they are legal

    • Crackle: No need to config but Launch to test!
      It may install additional add-ons before it works (e.g. Widevine CDM)

    • Google Drive: Little more tricky

      1. Launch addon. The first time will force gdrive logon/credentials

      2. Add an Account, you'll need a browser running during this one - ipad/phone or nearby computer

      3. Should now be able to navigate thru gdrive - ours contains mp4 videos

    • YouTube: This one may make your head spin! Often a MOVING TARGET ON Google Cloud Console - Screens change every time I visit!

      1. You'll need a Google API Key. Refer to guide @ https://www.videoconverterfactory.com/kodi/youtube-api-key.html
        WHEN you get stuck in steps below ... it has pictures of the screens!

        • Visit the friendly Google Cloud Platform Console via https://console.developers.google.com & Login

          • If you don't already have an API Key, create a New Project ... THEN ...

            • Enable APIS and Services

            • From API Library Welcome, click on YouTube Data API v3 & ENABLE

            • Click on CREATE CREDENTIALS

            • Fill in project info and click on What credentials do I need?

            • OATH Popup: Set User Type as External and click on Create, then SAVE

            • Credential Wizard, click Refresh and click Create OAuth client ID ... then DONE Button

      2. NOW, add your API keys to YouTube Add-on. Guide @ https://github.com/anxdpanic/plugin.video.youtube/wiki/Personal-API-Keys

        • Settings->Add-ons->Youtube->Configure

          • API->Enable API configuration page (this web interface will allow copy/paste of keys!)

          • HTTP Server->Select Listen IP and use IP Address of Kodi Server (I may have used localhost 127.0.0.1)

          • Goto: Http://<ipaddress>:<port>/api (Default port is in HTTP Server settings)

            • Paste in API Key, API ID (aka Client ID) and API Secret (from google clown console)
              (Psssst: API Secret is buried in "OAuth 2.0 Client IDs")

      3. Finally, boot Kodi! It will make you feel better too!

      4. When you launch YouTube Add-on the first time, you will will be 'guided' through connecting the device to Google

        • go to https://google.com/device

        • Enter code displayed on Kodi screen

        • <We use a special google email/user for youtube and google drive so traffic/behavior is not attributed to any specific person>

  • Have a bourbon, you'll need it!

Look & Feel

Nearly done! Some touch-ups to make this thing as simple as possible!

STILL using attached Keyboard/Monitor:

Visit Kodi Settings AGAIN!

Add-ons - Favorites
Navigate to each Add-on, Launch and Right-Click to Add to Favorites (we'll put favorites on the main screen in a sec)

  • Crackle: I create a favorite for Movies and another for TV

  • Google Drive: Navigate to desired Google Drive Folder (or folderS) and add to Favorites

  • YouTube: Little harder to choose, start w/single favorite to top level of YouTube or simply: "New Search".
    // ended up using FilmRise plug-in for YouTube Documentaries only - see also: filmrise.com //

Interface - Set Main Screen Buttons

Navigate to settings->Interface->Skin->Configure Skin

  • Select Menus and Edit Home Menu

  • Delete everything! Our MoviePi is as simple as possible. Season to taste

  • Add buttons for Favorites saved in previous section via Add->Set Label and Change Action

Our four button MoviePi currently look like this:

Family Movies | TV Shows | Movies | YouTube

Update & Cleanup

Almost done ....

Updates:

Force Kodi to update - this will take a while because we started with an old/outdated image with functional Lirc (MCE Remote)

  • Back to Settings->System->Add-ons ... you should see Updates setting, ours is set to Install updates automatically

  • I THINK a Kodi boot will force check for updates. It seems a little unpredictable

Check/Update All Add-ons after Kodi Update

  • Click each Button from mainscreen and play a video to test things out, it also forces updates ...
    (you may see some weird $h1t, but better you than some unsuspecting 95 year-old who want to watch a TV show from 1975!)

    • The updated Crackle, for example, forced another add-on install - Widevine CDM and pulls it our of a Chrome OS recovery image


That's That!

Touch-ups and Tweaks

Jan 2022 Update: Streaming videos choppy/buffering!

Ack! Lesson Learned: Turn off Automatic Updates!

An update in Jan 2022 seemed to cause streaming videos to pause/buffer ... a lot! Basically unwatchable but my parents are so used to my contraption quirks that they didn't mention it! Fixed, still running on a RPi2, but not easy

Waaay too much debugging .... ended up being the latest version of Widevine - looked like an auto update forced the update of an add-on called Inputstream Helper and a DRM gizmo called Widevine CDM. The answer for me was to go through the update, then rollback Widevine to version 4.10.2252.5. There was a LOT of chatter (and misdirection on the interweb), this forum post led to the fix: https://forum.libreelec.tv/thread/25189-since-2-weeks-openelec-rpi3-buffers-all-the-time/

Took the opportunity to rebuild & retest the recipe using LibreELEC-RPi2.arm-9.2.8.img on a better SD (16g)

Lesson Learned:

  1. TURN OFF AUTO UPDATES!!! My 95+ year olds DON'T NEED TO DECIDE IF WIDEVINE SHOULD BE UPDATED!!!!!!!

  2. REMEMBER TO MAKE A DISK IMAGE OF GOOD/COMPLETED PROJECTS!