Video captured from computer screens can be compressed very well by codecs that are optimised for screen video. Generally, this means taking into account that large areas of the screen don't change between frames, and that when areas change they are often changing back to a previously seen state.
The only one that I know of is Adobe's Flash Screen Video, specified as part of the SWF format: http://www.adobe.com/devnet/swf.html. It's slightly baroque, but usable.
I'm making an experimental HTML5/JS screencast viewer, and need a base format. At the moment, the only options I can see are implementing a FlashSV decoder in JavaScript, or rolling my own format.
Does anyone know of any other screen video codecs out there?
Edit: accepting the first answer, because the link at the bottom provided a codec very much like what I'm looking for: http://wiki.multimedia.cx/index.php?title=DosBox_Capture_Codec
Today I discover capability of VLC (VideoLAN media player, http://www.videolan.org/vlc/) record screen. It is opensource and free for downloading/use for all desktop OSes.
After googling I found that many people recommend use H.264 codec for screencast (and x264 as free implementation http://en.wikipedia.org/wiki/X264). It is really good!
Under Windows I cd to VLC dir and run:
$ vlc screen:// --screen-fps=12 --screen-mouse-image=e:/home/.icon/cursor.png \ --no-sout-audio --sout \ "#transcode{venc=x264,quality:100,scale=1,fps=12}:duplicate{dst=std{access=file,mux=mp4,dst=desktop.avi}}}"
or less quality with free codes/container (theora/ ogg):
$ vlc screen:// --screen-mouse-image cursor.png --screen-fps=12 \ --screen-width=1680 --screen-height=1050 --no-sout-audio --sout \ "#transcode{venc=theora,quality:10,scale=0.75,fps=12}:duplicate{dst=std{access=file,mux=ogg,dst=desktop.ogg}}}"
PS. You can also check http://en.wikipedia.org/wiki/List_of_codecs#Lossless_data_compression