Adobe does have a DRM solution that can protect FLV files, but it is not free. If you think you will make a lot of money and will face a lot of piracy the ROI might be there, though. AFAIK, this would be the hardest DRM to break.
If you just need to keep most people from breaking the protection and do it cheaply, then you could roll your own.
As to your questions:
3) This should be possible. I don't think the file extension is interpreted (but I could be wrong).
4) The installer can't do it, but your app could the first time it is run.
You could encrypt the files and decrypt them either in memory or to a temporary file when played.
Could you tell me where I could get more information about encrypting the FLV files and decrypting them either in memory or to a temporary file when played?
1 person found this helpful
You can certainly do it using a temporary file. How you encrypt/decrypt the file is up to you. It could be a simple as leaving out key parts of the file that you insert before playback or you could use some cryptography method (for which there are plenty of docs on the web). The DRM challenge is that the code and possibly the decryption key are present on the client -- so it is difficult to prevent a determined attacker from determining your decryption method and keys.
I'm not sure it is possible to do it entirely in memory -- you can load a SWF file into a byte array and then inject those bytes into a Loader to play it, but I don't know whether you can do the same somehow with an FLV.
Now that this problem is solved, I come back to my other question. Reading the AIR help files I noticed that I'm actualy not able to delete/write to my app folder, right?
Since my program is going to be delivered by CD, I was thinking on putting all the videos in the air file and then in the app folder during installation and then move them to the app-storage folder on first run, deleting them from the app folder after that.
Additional videos would be downloaded by the application from the server upon avaliabitlity and also saved on the app-storage folder. Without any videos on the app folder, updates to the application will be easy.
So is there a way I can move the videos to app-storage and delete them from the app folder after that?
Just for you to know, I'm working on an educational program with teaching videos to be delivered with a book (as a CD-ROM) and also to be available for download.
Thanks for the help!
1 person found this helpful
You shouldn't delete files in the application directory -- and on some OSes such as Vista, you won't be able to in many cases -- so this isn't a reliable solution.
Your options are:
1. live with the duplicated data
2. copy the data from the CD the first time the program is run
3. create a custom installer (using some non-Adobe installer solution) that copies the data from the CD during installation
Thanks for the input Joe!
I also have another ideia: when the program is run for the first time, it copies all the videos to the app-storage folder. While doing that, it displays a message like "Optimizing program, please wait a few minutes". After finishing, it displays a message like "To finish the optimization process, please update to version 1.1". This new version will be identical to the installed one, but without the videos. So when the user installs it, the videos will be deleted from the app folder. From there on, if new videos are available, the program itself will download them from the server directly to the app-storage folder.
Thanks again for the help.