Yesterday I made a little experiment. I converted a small video file in many formats, AVI with DivX video, AVI with AVC (x264) video, AVI with x265 video, MKV with AVC (x264) video, MKV with x265 video, MP4 with AVC (x264) video and MP4 with x265 video. These were made in various color settings, such as RGB (when possible), YUV444, YUV422 and YUV420 all with 8-bit and 10-bit per color channel, so I had many sample files to try. I copied all these files in a USB flash drive and then I connected first on my LG smart TV. It could play the DivX videos and most of the AVC (x264) video formats, including those in AVI container, but it could not play any x265 video. Also SRT or embedded subtitles must be manually enabled, they won't display automatically. This was disappointing, but it is an old model, so I accept it. Then I connected the USB in my recently bought 1080p video projector. Much worse! It could not open the AVI files (except those with DivX video) and it wouldn't play any x265 video, only AVC (x264) and there was absolutely no subtitle support. VERY limiting by today standards.
Verdict: Never rely on a consumer standalone device to play videos. Always use a computer so you can play everything you want without limitations! I know it is not convenient to have a laptop connected to your TV or projector, no matter how small, but is the only way to watch everything without compromise. Otherwise you will have to convert your movie to the format supported by your TV or projector before watching. This is not convenient as it takes too much time to convert and quality is reduced. An alternative is to use your smartphone with Miracast, but the image might stutter or have artifacts due to weak signal and doesn't have the versatility of a Windows computer.