Protecting QT via callbacks?

Trevor DeVore lists at mangomultimedia.com
Fri Jul 1 23:44:25 EDT 2005


On Jul 1, 2005, at 8:13 PM, Richard Gaskin wrote:

> I need to ship a CD with a number of QuickTime movie files, and the
> client would like to find a way to protect the files if possible.
>
> Since wired sprites seem to have a lot of capability and we have
> callbacks in Rev, I'm wondering if we could add a sprite track to the
> movie which makes a callback to the player (Rev) and expects a  
> specific
> value to be returned; if the movie doesn't get the expected value it
> assumes it's running outside of our player and stops playing.
>
> Am I dreaming?  Is this doable?
>
> I have GoLive (which has some cool wired sprite editing built in)  
> and I
> can get LiveStagePro if needed.
>
> Thanks in advance for any tips you can offer -

This is possible though maybe not how you envisioned.  A couple of  
ideas come to mind.

A wired sprite cannot call a function in Rev and get a value back.   
You could open a socket using Rev and a wired sprite could make a  
call to the localhost (127.0.0.1).  You could then return a value  
from Rev but this could easily be picked up by someone watching  
traffic on the machine so it wouldn't be very secure it you were just  
sending back the proper password or something.

If you are using a codec other than Sorenson or you have other media  
types to protect you can use the EnhancedQT external to set variables  
in QuickTime movies.  You can have wired sprites that will basically  
shutdown a movie if the variable isn't the correct value (shut off  
volume, hide all visual media, etc.).  A similar method for doing  
this is talked about in Interactive QuickTime: Authoring Wired Media  
<http://www.amazon.com/exec/obidos/tg/detail/-/1558607463/ 
qid=1120275770/sr=8-1/ref=sr_8_xs_ap_i1_xgl14/002-5692117-1577651? 
v=glance&s=books&n=507846>.

As sims just mentioned in his post you can use media keys if the  
playback environment supports setting those.  The Sorenson codec  
supports media keys but Revolution does not.  Support for this could  
be implemented using an external - <http://developer.apple.com/ 
documentation/QuickTime/APIREF/WorkingWithAccessKeys.htm>.

One thing that has intrigued me for a while is the possibility of  
writing a custom QuickTime component that you can insert into every  
movie.  As I understand it you can have your application register  
components with QuickTime when the app launches meaning it doesn't  
have to be installed.  By only registering the component with your  
app then you could successfully load movies that use your component.   
Any other QT app would fail to work since the component was missing.   
I think this would be possible but I haven't played with it at all.


-- 
Trevor DeVore
Blue Mango Multimedia
trevor at mangomultimedia.com




More information about the use-livecode mailing list