Hopefully this is the right kind of question for this community, my apologies if not.
I’m looking for some sort of device that will let me load my own media from a USB / SD card, and play it to my TV. Does such a device exist? Some sort of remote controlled box that can just load mp4 / mkv files from locally hosted storage? I have been using my PC over HDMI but it can get annoying having an awkward room layout because my computer always has to be next to the TV to do this.
Most TVs these days have a USB port for exactly this purpose, you can load media files up onto a flash drive and plug it in, then you should be able to browse the files and play it from there.
However, if you want to be able to play files hosted on your PC without having to copy them to a drive, you would have to set up a media server like Jellyfin on your PC and either buy or build a compatibility for your TV. Fire TV sticks or a Chromecast would work as cheap options to buy, or you could look into hosting a Kodi instance if you have spare hardware lying around.
There are really a ton of options, my above suggestions are only scratching the surface.
My TV is a dumb TV (for lack of a better name). It does have a USB port, but it only displays photos and can’t play external footage. I keep all of my downloaded media on an external HDD. I did look into the whole XBMC aka Kodi / jellyfin combo stuff for a bit.
Jellyfin on a NAS plus a cheap little box attached to the TV should be fine.
An old RPi3 could be enough. Only complications might be transcoding. If the player can’t handle the format, you might need to transcode, which could be taxing on the NAS.
That’s a great answer if one already has a NAS (which is not unlikely, given the name of the community). But if that’s not already present (or desired for other reason) then a simple media-PC with some built-in storage is simpler to set up.
Let’s not overcomplicate things. OP expressly wants a device that will play media off a USB drive. That’s basically Kodi on a mini PC or single board computer, as many others have suggested — or like you say, plug the USB directly in your TV. No need for “hosting” anything or other server lingo.
And “a Kodi instance”? It’s just an installation on a local device, it’s not like it’s going to federate or anything… Sorry if this is nitpicking, your second paragraph phrasing just feels like an unnecessarily advanced answer to a simple question.