I bought an Nvidia Shield (2017 model) on sale for $140 at the end of 2018 and am amazed by how much this tiny device can accomplish. It’s connected to our 58″ 4K Samsung TV and became the hub for our family’s media consumption, though getting things to that point was quite more involved than I would have liked. Here are some notes to maximize your experience while minimizing the hassle to get there.
Media Server: Use a USB Hard Drive so that Plex Can Scale and Remain Stable
In the past I went back and forth between running Plex and Emby on my PC, but I really wanted to move that task off my desktop which was one of the reasons why I bought the Shield in the first place. Shields come with Plex Media Server (PMS) pre-installed, so this is the option I went with.
In my experience PMS works well on the Shield but if you have a large library, you do NOT want to set it up on the feeble 16GB of internal storage, as you’ll fill that in a hurry with all the media metadata, even if you turn off video thumbnails in your libraries’ advanced settings. I also went through two Sandisk USB keys but the whole thing would always end up flaking out at some point.
What eventually brought sanity and stability to the whole thing was to:
- Hook up a USB hard drive to the Shield. I freed up a 2TB WD Elements I had on my network.
- Install PMS from scratch and move it to external storage before you load media to your libraries, otherwise it takes forever or outright fails.
- Then and only then add media to your libraries.
You can mount remote drives on the Shield which will let you load them in PMS. I have a Synology NAS, two USB drives connected to my router, and a Google Drive mounted on my PC via Stablebit CloudDrive all loaded in PMS (25+TB and counting). I was able to stream 4K content from the cloud with only occasional, slight stuttering or pausing after changing Kodi’s AdvancedSettings.xml as described here.
Do not let your attached hard drive get completely full, otherwise your Shield will badly crash. Ask me how I know.
We access Plex via various devices either through apps (e.g. on a 4K Fire Stick in one of the bedrooms) or the Plex web app. And of course on the Shield itself, as described in the next section.
I may reconsider which software to use when I buy a new NAS where I may offload the media server function, but in the meantime running both the media backend and frontend on the Shield works rather well. See Plex vs. Emby vs. Jellyfin.
Plex Library Pro Tips: Movies, TV Series, Documentaries, Video Tutorials, Sports…
If you apply the recommended naming conventions (TV, movies), Plex is usually good at auto-matching and fetching the right metadata, but some content types can be tricky and tiny punctuation can throw it off (e.g. you can’t put colons in Windows file names), as well as titles in other languages than English. A few notes to save you a lot of grief:
- Make sure to put documentary standalones in a Movie library while documentary series should be in a separate TV library. Some documentaries are tricky as you may think they’re standalones but they’re actually part of a loose TV series (think stuff from National Geographic).
- When TV shows won’t match, find the offending series in TheTVDB then force a match by ID. You can do the same with IDs from IMDb in movie libraries.
- UFC fights are usually recognized if you set them in a movie library.
- Multi-part video tutorials is the content type I found most tricky to handle, as the big public databases don’t have metadata about them. Trial and error led me to using collections with the following settings:
- Library type: Movies. If you use Other Videos you’ll have to merge them manually in Plex, which would need to be redone if you ever have to reset said library, which in my experience is bound to happen.
- Scanner: Plex Movie Scanner.
- Agent: Plex Movie.
- Hide items belonging to collections (stacked content is based on Collections).
- Rename files with Flash Renamer following the “- partx.ext” convention.
- Group parts of the same tutorial under the same “album”, by tagging them with mp3tag, which works on mp4 video files, so if you have AVIs you’ll want to convert them with VLC first. For categorization I don’t use tags, which never got any love in the Plex UI, but rather self-defined genres.
- Even more control like setting up pictures for cast members may be done with custom agent libraries, though I haven’t done that yet.
Media Player: Kodi is Where It’s At
While I like Plex as a server, I find its player limited. Kodi on the other hand is infinitely configurable thanks to all its settings, skins, and addons, and handles more content types. Among the most useful additions to core Kodi, I recommend:
- PlexKodiConnect, a better approach than the official Plex for Kodi solution. Bear in mind though that this adds more GBs of metadata for your Shield to handle, making the external hard drive requirement only more important.
- Arctic Zephyr 2: good-looking and very flexible skin. The whole widget / submenu / submenu widget logic takes some time to get used to, but it lets you lay out your content exactly the way you want to. Do back up your skin settings when you have something you like, as it’s pretty easy to lose a lot of work with a couple of operator errors or because of crashes.
- Trakt.tv lets you keep track of what you’ve watched and liked. You can also access public lists and create your own, which you can turn into skin widgets via OpenMeta. Lesser-known alternatives: TV Time, Simkl.
- The MovieDB helper – details about movies, shows, actors. I use it to load Trakt lists (e.g. stuff that my wife watches by herself).
- Library Node Editor – use this if you don’t want your stand-up comedy or documentaries mixed with fiction TV series.
- Lazy TV – I use this to be able to automatically play the next episode of a series at the end of the one I just finished watching.
- Google Music EXP. We have a Google Music family subscription which I find is fantastic value for the money. Of course in their infinite wisdom Google had to mess up a good thing, so whether I’ll migrate to YouTube Music remains to be seen. There’s not even an Android TV app for it!
- Youtube – I gave up for the time being after Google put some restrictions that killed the default option. There are some workarounds but I’m fine using Youtube outside or Kodi or via Chromecast.
- Google Drive to directly access cloud content.
- When things go wrong, you’ll want to access the logs at:
Warning: do NOT go crazy with addons! Some of them are memory hogs and I slowed my system to a crawl a couple of times until I went through a disabling spree. Install only a few addons at a time, keep only those you actually use, and monitor your Kodi performance before installing more stuff. Playing large video files requires significant free RAM.
Finally, the following have intriguing possibilities but in some cases I haven’t figured out how to best use them in combination with widgets and submenus:
- Skin Helper Service Widgets (URL arguments) and Library Data Provider – Add different ways to display library content.
- OpenMeta & OpenInfo – Another way you can load Trakt lists into Kodi, then play selected items from a local library. OpenMeta seems to require a fair bit of memory.
- Auto Widget (video) – can let you randomize widgets a la Netflix. Haven’t used it yet.
- Smart playlists – not sure how to use them yet but I feel they might help me do some of things I haven’t managed to do.
- Search lists (video) – ditto.
To fully customize menu interactions, you can set up actions manually by calling built-in GUI functions such as as ActivateWindow(), by using a custom item (at the bottom of options for “Action > Choose item for menu”), like this:
There are more advanced things I’ve not been able to do yet, such as:
- Setting up a widget / widget submenu combo to directly browse movies by actor or director
- Hiding watched content in widgets
- Casting PVR and addons to other devices
- Synchronizing watched status from Trakt to Plex, which you want to do in case you reset your Plex libraries.
- Mimicking in Kodi the Plex player’s ability to play theme music for TV shows. There’s tvmelodies and probably a couple similar solutions that require you to download theme mp3s manually. That’s too much work!
If I lost you and all the above sounds too complicated, start by reading this skin widget setup tutorial.
Hardcore IPTV users seem to prefer the separate TiviMate app, but I haven’t tried it yet. Meanwhile many Kodi addons seem to be a huge waste of time, with transient content and/or low-quality streams that can’t compete with a curated collection of quality encodes from the top private torrent trackers. Still, I found a couple useful options:
- IPTV Simple Client to emulate channel surfing with program schedules and summaries.
- Catch-Up TV & More – the best IPTV source I’ve found so far, especially for francophone content. You can set it up for live TV.
- Rai TV: Italian content.
- RTP: Portuguese.
- Xumo: has many free English-speaking channels, including Bloomberg, though a lot of that is cable junk.
It seems possible to hack your way into loading several URLs into the PVR but I haven’t pursued that yet, will update this entry when I get around to it.
Since the Shield is an Android device there are thousands of apps you could install but these few are must-haves:
- X-plore file manager
- Sideload Launcher
- Private Internet Access – or other VPN – will be needed to see those IPTV channels that geoblock (a practice I fiercely despise).
- Git Browser
There are a few ways you can control your Shield remotely. You will need to go back and forth between your Shield and other devices for authorization purposes, so some of that stuff may best be done with a smartphone or tablet while sitting in front of your TV.
- You can share the Shield’s internal and external storage on your network, I mounted the USB drive connected to my Shield as a drive on Windows for convenience.
- I really wanted to be able to control the Shield’s UI from my PC, which turned out to be its own side quest. I first tested TeamViewer, got it to share the screen, but couldn’t get clicks to register. I then tested Vysor which did handle clicks but the resolution in the free version is really blurry. I finally set up scrcpy as explained in this video, which like Vysor relies on enabling ADB network debugging after you’ve turned on developer mode in the Shield (Settings > About, scroll down to Build, click on it 7 times). This is very responsive at a good resolution, is free, and you can even copy/paste! The main limitation is scrcpy doesn’t forward sound, and I haven’t found how to do a long press (keyboard shortcuts).
- Kodi has a web interface to change its settings remotely.
You can stream games from you PC, including your Steam library, using either the native GameStream app or Moonlight. Since it’s the type of setup that requires back-and-forth authorizations between your Shield and PC, remote control can save you running up and down the stairs like I’ve had to do many times in the past!
Geforce Now is a letdown for us because they don’t have servers in Chile and the 150+ms ping to North American ones is a deal breaker. Other than that, seems like a good option.
There are also extensive emulator options but my son turned out to be much less interested in them than I thought, so I’ve only dabbled with this. It does take some time to set it all up. See:
Finally, you could always run Android games.
Ancillary Devices: Mobile Devices, Remotes, Voice Assistants, Home Automation
Like many users I’m not a fan of the Shield’s remote. I recently bought a Rii i25 air mouse remote / keyboard combo which I’m satisfied with. Before that, I used a Logitech wireless keyboard as well as Nvidia’s mobile app, but I never found either option to be as “couch friendly” as a physical remote.
Speaking of managing your Shield from a mobile device, besides the aforementioned Nvidia app, here are the main options:
- Plex – obviously limited to whatever is in your Plex library. Includes Chromecast.
- Kore – the official remote from Kodi. Decent, nothing too fancy, works, no Chromecast.
- Yatse – on paper the paid version does does a lot more than Kore, thanks to its ability to cast Kodi to other devices. Unfortunately I haven’t been able to get streaming to work reliably.
- Wako – Trakt meets Kodi remote, but the ads are intrusive and the lifetime contribution a bit steep (and no, I’m not going to subscribe to a mobile app).
Speaking of Alexa, my latest side quest is to use this: Kodi Connect – Alexa. It’s an involved process that I’m half-way through (stuck with an error message as of this writing) but this reportedly works well. There’s something similar for Google Assistant.
PlexKodiAddon supports Alexa, though it’s a bit more cumbersome to use because you have to say “Alexa, ask/tell Plex to…” instead of using Alexa’s native media support. But Alexa keep losing track of the Plex server and can’t find other players such as our Samsung TVs or Fire TV Stick 4K even though they’re supposed to be supported devices. I always feel “so close yet so far” with voice assistants.
I’d also like to chain Plex and Govee instructions through an Alexa routine for extreme laziness but haven’t that quite working to satisfaction yet.
Jeff Flemming in the comments below suggests settings up a Home Assistant server, which has many integrations including AndroidTV, Plex, and Kodi, and may send ADB commands to launch specific apps on the Shield via the ADB – Android Debug Bridge. I’d want to run this on my NAS, but docker is not supported on my ancient Synology DS213j. I’m definitely going to look into this, might spin it on my PC for now. See for instance: Alexa to Plex: Resume TV series with no remote buttons (node red).