tags:

views:

405

answers:

3

I have a flv file,and want to play from only from AIR application. Now i need to protect my flv file in such a way that it cant be opened or played by any other existing flv player in the world.If some one doubleclicked that flv file then action will be zero or not played by existing flv player in the world and only played from my own player. how can i solve this?

A: 

Except from hosting the file online, I am not aware of any built-in way of protecting an FLV file. I guess there should be some commercial solutions, or you could try to encrypt it yourself, but I think that would be over-complicating your application.

The best way I could think about, even if it's a bit "dirty", would be to embed the file in your AIR application.

Blackethylene
+5  A: 

You cant really solve this.

  1. Anyone can simply record the screen and audio circumventing any of your tools.
  2. You could host the file on a streaming service which will steam the file via RTMP which is harder to crack but is a) expensive to host b) point 1 applies.
  3. You could probably save the file with the extension .zip, its still a FLV file and you can just tell air to load this FLV just change the path name. This is sort of security through obscurity, point 1 still applies. Someone will probably get that it is a FLV or video due to the very large file size.
  4. If you makes lots of money you can write you own DRM video player for all platforms. But maybe focusing on making money from your idea first than losing a lot of time because 1. alwys applies.
John Ballinger
A: 

actually i have a flv file of size 54MB with masking and saved in dance folder and main.mxml file is in seperate directory.and now i created AIR file from flex builder but when i installed that air file in desktop then dance folder is seen and executed by any other player.

so how can i embed that dance folder in AIR application? I also used the source code given below in which i converted flv to swf.

<mx:Script>
 <![CDATA[

  import mx.core.UIComponent;

  [Embed(source = "dance/dan-2_OK600-400_2.swf")]
  private var myVideo:Class;

  public function Test ()
  {
   var k:Object = new this.myVideo();
   var v:MovieClip = k as MovieClip;
   v.width = 600;
   v.height = 400;
   var ui:UIComponent = new UIComponent();
   ui.addChild(v);
   ui.width = 600;
   ui.height = 400;
   ui.move(Screen.mainScreen.bounds.width - 600, Screen.mainScreen.bounds.height - 400);
   this.width = Screen.mainScreen.bounds.width;
   this.height = Screen.mainScreen.bounds.height;
   this.move(0,0);
   addChild(ui);
   v.play();
   trace("ssdfsdf");
  }  

 ]]>
</mx:Script>

but the size is 54MB with masking. in this way dance folder is not seen but memory is constanly growing upto 2GB from 500MB. so i dont like to use embed keyword. so i like to search any other thechnique? Like FLVEncrypter? if this is helpful then can you help me by this FLVEncrypter ,I have no understanding of this API. I am waiting

You should edit your original question and put this "answer" there.
Liran Orevi

related questions