You have the right instincts. Everything on the SD card is readable by every application, so the best solution is to encrypt the file before storing it on the SD card.
I am assuming you are asking from the perspective of an application developer, and you want to know how to implement this protection in your app. If so, one simple approach is to encrypt using AES-CBC mode (with a random IV), and then take the resulting ciphertext and append to it a message authentication code using AES-CMAC. You will need two separate (and cryptographically random) AES keys. You can generate the keys with
java.util.SecureRandom. You could then store the keys in app-private storage (not on the SD card). Hopefully this should be pretty straightforward to code up.
If you are asking from the perspective of a user, then you'll need to provide more information about what you are trying to achieve. If you just want to store the video on your cellphone, but not view it on your cellphone, then one possibility is to encrypt it using GPG (or PGP) on your desktop, then download the encrypted file onto your cellphone; when you later want to access it, copy it off your cellphone and decrypt with GPG (or PGP). On the other hand, if you want to be able to view it on your cellphone, you'll probably need to explain what you mean by "no other application or user can use it, outside the application or on any other devices" (e.g., what application?).