Castro is a library for recording automated screencasts via a simple API.
Here’s an example:
>>> from castro import Castro >>> c = Castro() >>> c.start() >>> # Do something awesome! >>> c.stop()
1) Install and launch a vncserver. (Hint: Google it.) 2) $ [sudo] easy_install castro 3) There's no step 3!
$ python -c "import castro; castro.test()"
Video stored in: <default_temp_dir>/castro-video.swf
Video player stored in: <default_temp_dir>/castro-video.html
$ firefox /tmp/castro-video.html
License & Repository
Castro was created by Jason Huggins. It is licensed under the GPLv2, since it is a derivative work of pyvnc2swf, which is also licensed under the GPLv2.
Castro has a git respository at github.com.
Castro is a minor fork of pyvnc2swf, allowing one to use pyvnc2swf as a regular Python library, instead of a Tk GUI application or command line utility.
The specific improvement Castro brings to pyvnc2swf is the ability to start and stop recording programmatically via a simple Python API. Castro uses a file-based IPC to tell pyvnc2swf when to stop recording.
Ordinarily, pyvnc2swf’s command line utility, vnc2swf.py, expects users to stop recording by manually typing “Control-C”, sending a KeyboardInterrupt and allowing the process to exit cleanly. On Linux, emulating KeyboardInterrupt is simple enough to do by sending a SIGINT signal. But this does not work cross- platform, specifically on Windows. And a big reason for using pyvnc2swf is its ability to record vnc video on any platform from any platform.
Python - 2.5 or above
Pygame - 1.6 or above
PyYAML - 3.09 or above
Python < 2.6 dependencies:
Multiprocessing - 2.6.21 or above
Simplejson - 2.0.9 or above
Non-python dependencies (for cleaning/editing .flv videos):
flvtool2 (ruby gem)
- 1.0.4 - Added post-recording processing methods. (Depends on ffmpeg and flvtool2)
- 1.0.3 - Switched from processing library to multiprocessing.
- Added support for changing recording framerate.
- 1.0.2 - Made stop() block until the recording process is done
- Added support to use Castro in a with statement (e.g “with video(…):”)
- 1.0.1 - Fixed default vnc password path
- 1.0 - First Release
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size & hash||File type||Python version||Upload date|
|castro-1.0.6-py2.6.egg (127.8 kB) View hashes||Egg||2.6|
|castro-1.0.6.tar.gz (46.4 kB) View hashes||Source||None|