There is a server from which media files will be streamed to cross platform mobile/desktop apps.
The idea is to encrypt the files while uploading using the web browser, store it in the server and when requested, files will be sent over to the front end, decrypted there and media played.
Users can use multiple devices (Android, iOS, Webapp, PC, Mac, Linux) with their account, but at any particular time only one device can play the media. If users, hypothetically, get access to the encrypted files from the server or while downloading to the app (man in the middle), should not be able to decrypt the files. Only the app should decrypt the files under the hood.
I am not sure how or what system of encryption to implement since I barely know cryptography.
A good part of this question is answered here, but it really doesn't discuss the part of users not able to decrypt the files using other tools.