`SeedRandom[1];
s = 512;
a = Table[0, {s}, {s}];
Export["turbulence.mov",
Reap[For[i = 0, i < 60 + 30*60*5, i++,
a += RandomVariate[NormalDistribution[0, 0.01225], {s, s}];
a = Rescale[
a - GradientFilter[a, 3, Method -> "Sobel",
Padding -> "Periodic"]];
Sow@ColorNegate[
Image[256 (8.8705 a + 0.026349)~GradientFilter~3, "Byte",
ColorSpace -> "Grayscale"]]]][[2, 1, 61 ;;]],
"FrameRate" -> 30, "VideoEncoding" -> "Planar RGB"]`