In your case, probably something like a self-hosted Jellyfin server would be best. Most NAS systems should be able to run Docker or add Jellyfin as a plugin. Companion apps are plenty - I prefer Finamp.
Going the SMB route, I think most apps will be pretty unreliable (from personal experience). In that case, try VLC, which seems to be the best. SMB is just a shit protocol that also wasn't really designed for such volatile applications. You have been warned.