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.
If I were to buy a Shield now, I’d get the 2019 model because I keep reading that the AI 4K upscaling looks amazing, but everything in this entry should apply regardless of the model.
1. Use a USB Hard Drive so that Plex Can Scale As a Stable Media Server
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.
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 an old 2TB Western Digital drive I had on my network. The sweet spot for best price/TB these days is with the 8TB WD Elements hard drive.
- 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 several Google Drive volumes mounted on my PC via Stablebit CloudDrive all loaded in PMS for a total of about 50TB and still growing.
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.
I will reconsider which software to use when I receive my 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. If you don’t like Plex or like researching options until you drop, see Plex vs. Emby vs. Jellyfin.
2. 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 variations can throw it off (e.g. you can’t put colons in Windows file names), as well as titles in other languages than English. Follow these guidelines 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 (e.g. content 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.
- I don’t follow sportsball but I guess your mileage may vary with sports depending on whether individual events can be found in Imdb. UFC fights which I do watch 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. Promising candidates:
- Audiobooks require that you jump through similar hoops as tutorials for the most part, except as a Music library and using a special-purpose agent. See:
- There’s no built-in way to tell apart movies with a commentary track at the library level because the audio stream metadata is not leveraged for navigation. Some people use MKVToolNix or ffmpeg (using ISO codes) to set the commentary soundtrack to a rare language such as Icelandic, while others suggest Tautulli but that seems clunky at best, especially with a Shield. Alternatively, you could use sharing labels, which require Plex Pass, or create a “Commentary” tag within Genres or Collections.
- For music, some people are raving about Plexamp, I haven’t used it.
- You’ll probably want to customize which libraries are part of the dashboard, i.e. On Deck and Recently Added.
As a summary, to get your content properly organized with the minimum amount of friction, it’s essential that you:
- Choose the right library media type for your content, which can sometimes be counter intuitive. This means your source content needs to be properly organized, and you can’t drop everything in one morass of a Plex library.
- Follow the official naming conventions for your source folders and files, and organize your content.
- Figure out whether readily available scanners and agents will do the job, or if you have to handle metadata yourself. There’s for instant an agent to handle Youtube downloads.
- Set up each library’s advanced settings deliberately as some of the defaults can have big consequences. This is best done when you first set up your library, though that can be edited later.
- Summary of the summary: RTFM, there’s more to Plex than first meets the eye and it’s well worth understanding what’s going on beneath the hood.
Plex Media Server occasionally stops for obscure reasons such as version updates. Scheduling server maintenance may save you hours of setup time if your Plex database becomes irremediably corrupted, which can happen in case of abrupt shutdowns, so it wouldn’t be a bad idea to put the Shield behind a small UPS. Restoring from a backup is very easy.
Plex stores its data in an SQLite file, which has this schema that you can query like so. I’ve used this to visualize my library in Power BI as per the screenshot below (make a copy of the database first just to be safe). A low-tech alternative is to use ExportTools to generate a CSV. There’s also an API though I haven’t tested it.
3. Media Players: Stick to Plex & Android Apps for Ease of Use While Kodi is Where It’s At for Extreme Customization
I like Plex as a server but the media player is a bit 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. (Similar functionality is built in Plex.)
Google Music EXP. We used to have a Google Music family subscription which I found was fantastic value for the money. Of course in their infinite wisdom Google had to mess up a good thing, and YouTube Music is such as pathetic replacement it’s not even funny. I just moved to Spotify Premium Family and it’s unlikely I’ll look back. I haven’t tried to put Spotify in Kodi, I’m happy to just use the Android TV app. Spotify works well with a variety of devices via Spotify Connect.
- 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.
- Git Browser to install plugins directly from the source.
- 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 amounts of free RAM.
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 (though cloud streaming randomly just won’t work, which can be quite frustrating).
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 all the above sounds too complicated, start by reading this skin widget setup tutorial.
What’s the takeaway? You can go crazy molding Kodi to your unique requirements, but it’s easy to make it unstable and the whole endeavor can turn into a real timesink. If you want something that just works, stick to the Plex UI. The latter has been improving lately with native support for subtitles and may well meet your needs as is. And if running a media server is overkill for your needs, MX Player does a good job letting you browse a folder hierarchy – including mounted network folders – without any extra fuss. It’s likely that your more advanced setup will break at some point, so it’s good to have a plan B (for Basic) in a pinch.
4. IPTV: An Entire Universe of Its Own. With Hit-and-Miss Quality and Overwhelming Quantity, Curation Is Recommended.
4.1. With Some Work You Can Create Your Own Cable Grid: Tivimate, m3u, EPG
On the frontend side, hardcore IPTV users seem to prefer the separate TiviMate app rather than Kodi. I started using it recently and like it so far. It does feel more responsive than Kodi so it’s a good option if you don’t mind using separate frontends to access your media library vs. the PVR/IPTV side. TiviMate is reasonably customizable and has a dedicated subreddit. A few observations after giving it a spin:
- Some of its options are hidden at first sight, you’ll want to long press on the remote and move your cursor around to display the contextual media player bar and the side menu.
- You can record programs with TiviMate, either live or scheduled via Custom Recording, though there’s no way to make it recur (PVR Live has support for “series recording”).
- Unlike TVIrl or EPiG, with Tivimate Android TV integration remains on the wish list so the app’s content won’t show on the Nvidia’s home screen or Play Next section.
Any IPTV player is of course only as good as the IPTV source(s) you feed into it, i.e. stream playlists (typically m3u) and program guides (EPG) to match the streams to a program grid like you’d have on a cable set top box. Reliable IPTV providers are a bit like Fight Club, so I won’t mention anything here, instead focusing on what to do in case you do find good sources, as it’s only part of the equation.
Putting together a user-friendly IPTV experience becomes even more complicated if you’d like to watch TV from multiple countries and in multiple languages. In that case, you’ll really want to curate the many channels you’re interested in – leaving out everything else that you don’t care for – into a clean, well-organized guide. When sitting on the couch you don’t want to have to wade through the hundreds of local network affiliates available in the US alone. This initial selection and organization work is best done on a computer where you can preview channels (I recommend MyIPTV as VLC doesn’t load EPG files) and manage what to do with each one using a third party tool such as:
- m3u4u: a free “m3u editor with EPG as a bonus feature. Epg must be used with its associated m3u4u playlist, not in isolation as a primary source of EPG.”
- EPG.Best – costs between 1 and 4 euros per month to consolidate up to 1,000 channels into up to 7 m3u files. Their pitch is that it will save you the hassle of looking up and assigning TVG-ids manually to fill up your program grid. It does look like a real time saver in some cases, though only some people will have a need for something like this. One option I like is to tell apart or outright filter out VOD series and movies, which I find useless for my own purposes as I’ve built something vastly superior in Plex.
- XMLTV.se – free, not sure how comprehensive it is. vProfil XMLTV is similarly free but it’s only a partial list that’s mostly listing European channels. I’m sure there are others like these out there.
4.2. What About IPTV in Plex?
Plex used to support IPTV via plugins but they no longer work. There are some workarounds though.
First, you could feed the .ts files recorded by TiviMate back into Plex if you wanted, though the results are likely to be messy because the resulting file names have a date and timestamp, but don’t feature episode or season numbers like favored by Plex agents, and all files are dumped in the same main folder. I think TiviMate Premium supports up to 5 devices with a single purchase, but that’s still constraining vs. dumping recordings in a Plex library. Even if the metadata indexing is going to be limited, this at least gives you the ability to do rudimentary catch up TV in Plex.
The second, more sophisticated option is to route your playlists via a proxy like xTeVe or Telly. This does work with the Live TV/DVR functionality coming with Plex Pass, as if you were running an actual DVR such as HDHomeRun. Read this guide for details. I might give this a spin as a docker container on my NAS at some point as the ability to merge m3u files could come handy, as well as restreaming.
There’s another way to blend IPTV with Plex by using dizquetv to turn Plex libraries into pseudo live TV channels. I have zero interest in using this myself, but it’s funny to see what people come up with.
4.3. Other IPTV Options: Kodi, Android Apps, Plex
In comparison, 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. And like torrents, the good stuff seems to be somewhat hard to find by design. Still, I found a couple useful options that are readily available either as Kodi plugins or separate Android apps:
- IPTV Simple Client to emulate channel surfing with program schedules and summaries.
- Catch-Up TV & More – the best IPTV source I’ve found for Kodi so far, especially for francophone content. You can set it up for live TV.
- Rai TV: Italian content.
- RTP: Portuguese. They also have a decent Android app.
- Xumo: has many free English-speaking channels, including Bloomberg, though a lot of that is cable junk.
- Ditto with Plex’ live TV, it’s quantity over quality, but maybe there’s something in there that scratches your itch.
It seems possible to hack your way into loading several URLs into Kodi’s PVR but I haven’t pursued that. Similar functionality is built in Tivimate, which alone might make the case for it being the better option. In the end if you’re willing to invest time and possibly spend a bit of money, editing your own m3u and epg files gives the best result. A TV guide full of “no information” blocks defeats its purpose.
Beyond that, there’s a slew of options to record shows from your own TV tuner (including with Plex Pass), but that’s outside of the scope of this entry and not something I’m interested in doing.
5. Misc Useful Apps
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).
6. Remote Access Files & the Shield UI
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. Make your life easier by assigning a fixed IP address to your Shield, either in its settings, or even better, via DHCP reservation on your router.
- 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.
7. Gaming: Android, Cloud, Emulation
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:
Of course you could always run Android games.
8. Ancillary Hardware: Mobile Devices, Remotes, Voice Assistants, Home Automation
8.1. Remote Options
Like many users I’m not a fan of the Shield’s remote. I bought a Rii i25 air mouse remote / keyboard combo which I’m satisfied with as I hate typing via an on-screen virtual keyboard. 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 handheld remote. Many people like Logitech’s Harmony but I’m not a fan of their pricing.
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).
8.2. Voice Assistants & Home Automation
Speaking of Alexa, one of many abandoned side quests was to use this: Kodi Connect – Alexa. It’s an involved process that failed for me half-way through but this reportedly works well… when it does. 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 didn’t get 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. It’s on my install list once I receive the DS920+ I just ordered. See for instance: Alexa to Plex: Resume TV series with no remote buttons (node red).
8.3. Cheaper Alternatives for Extra Rooms
If you want media players in other rooms that don’t need the full-fledged Shield experience, I’ve had a good experience with:
- Amazon’s Fire Stick 4K, it’s a good $50 option as a Plex client with an Android-like interface, though you do get some ads.
- TCL TVs with almost-stock Android TV. In the US they mostly pushed Roku so far, but there’s now regular Android TV too like in the rest of the world.
- I have two Samsung TVs where the Plex player is installed but I’m not fan of the Tizen UI itself.
9. Conclusion: You’ll Get Out of It What You Put In It, But Pick Your Battles
To summarize my recommendations:
- Get the core storage right or you won’t have a sustainable solution.
- Ditto with networking: cable your home with Cat6 Ethernet cable if you can, or get good wifi routers (possibly mesh) if you can’t.
- Plex and selected Android TV apps such as TiviMate are where it’s at for reliable, responsive behavior.
- Kodi can unlock a world of customization at the cost of spending a lot of time getting there. This is not the spouse/kids-friendly option.
- Home automation is fun but like Kodi, it’s never as simple as it looks. Once I figure how to get Alexa to set all lights just right and launch the latest TV episode of my choice in one incantation, I’ll let you know!
- In the end there’s no perfect solution, accept that there are tradeoffs.
- If you don’t want your family to endlessly mock you because your awesome media server is yet again borking, cut back on the cutting edge experimental stuff and train them to use basic apps like MX Player as a fallback solution!
Note: Amazon links include an affiliate tag. A lot of effort went into this entry, if you find it useful I appreciate your support.