Loin d'arriver à la cheville du grand maître (qui n'a pas livré ses sources), j'ai donc tester par moi même, et suis arrivé à ce résultat.
Inutile de vous dire que c'est moins bien mais ça fonctionne :)



Par contre moi je donne mon simple code :
import flash.display.*;
import flash.geom.*;
import flash.filters.BlurFilter;
///////
cam = Camera.get();
vid.attachVideo(cam);
///////
now = new BitmapData(cam.width, cam.height);
before = new BitmapData(cam.width, cam.height);
rect = new Rectangle(0, 0, cam.width, cam.height);
pt = new Point(0, 0);
/////////
_onEnterFrame = function () {
if (!cam.muted) {
now.draw(vid);
now.draw(before, new Matrix(), new ColorTransform(), 'difference');
now.threshold(now, rect, pt, '>', 0xff111111, 0xffFF9900);
before.draw(vid);
blur.blurX = 4+Math.random()*10;
blur.blurY = 20+Math.random()*40;
mc.filters = [blur];
mc2.filters = [blur];
}
};
inter = setInterval(this, "_onEnterFrame", 50);
var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
mc.attachBitmap(now, 10);
mc.blendMode = 4;
var blur:BlurFilter = new BlurFilter();
///////
var mc2:MovieClip = this.createEmptyMovieClip("mc2", this.getNextHighestDepth());
mc2.attachBitmap(now, 20);
mc2.blendMode = 4;
mc2._y = -16;
mc._xscale = mc._yscale=200;
mc2._xscale = mc2._yscale=200;


A vous de l'améliorer, et je serais ravis de voir vos améliorations !

PS : spéciale dédicace à the DOORS et Jim Morrison dans le titre du billet :)