You need to encrypt the video in any way once (for example, Clear Key, AES) and play it on all platforms without decrypting it to disk, decryption must be in memory and playback must also be from memory, you can use native tools or strong tools. Only simple examples are needed. We will agree on the payment. I am waiting for your suggestions. Thanks.
a quick question why don't you do it like this :
1- read the bytes from the file
2- add 10 extra bytes (in the middle of the bytes array) in the bytes you read previously
3- save the bytes to a file
4- create a viewer and start reading the bytes from the file without reading the extra 10 bytes you added previously
this way this video will never play again unless you remove the bytes
and of course only your app is able to play it because only you know where the extra bytes are.
very very simple solution to your problem but i think it's effective
