I want to develop some educational content, which I want to distribute to children using Adobe AIR. The content will contain videos. Now, from what I see, AIR will put the content onto the local file system, for anyone to see. I want to prevent this. Is there a way out?
Possibly, but you must embrace The Dark Side -- aka DRM (Digital Rights Management). Go read up Flash Video DRM. It is awfully painful stuff to do correctly, and users tend to hate it. Ask yourself if your content is really so valuable and hot that you need to go down this route.
One solution is to use DRM in conjunction with Flash Media Server (as mentioned by Stu).
Another option would be to stream the content at runtime, and not cache to the file system.
Finally, it might also be possible to store the bits for the FLV in the encrypted local data store or SQLite database (which adds encryption support in AIR 1.5), however, this probably wouldnt work well for large videos (performance issues), and you may still need to write it out to the file system first before playing (although temporarily).
mike chambers
I would suggest you carry out the following steps:
- Using a key to encrypt the files that you are storing
- At run-time create a copy of the files in a temp folder and decrypt the files that the user needs using the embedded key in the AIR program
- At exit, delete the decrypted files
This way the files are available for a short period of time, in which they are being used. Then also it is difficult to locate them as you can decrypt them in any obscure folder.
This would protect your files from 99% of the population. And you cannot ever stop the rest 1%. So don't even try.
All the best.