Introduction
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()
Install
1) Install and launch a vncserver. (Hint: Google it.) 2) $ [sudo] easy_install castro 3) There's no step 3!
Test
$ python -c "import castro; castro.test()"
Watch
Video stored in: <default_temp_dir>/castro-video.swf
Video player stored in: <default_temp_dir>/castro-video.html
Linux/OSX:
$ 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.
Summary
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.
Dependencies
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)
ffmpeg
Changelog:
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
Metadata
Release files for castro 1.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| castro-1.0.6.tar.gz | 46.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| castro-1.0.6-py2.6.egg | Legacy Egg format | - | - | Details |
Total release size: 174.2 kB
Release files / castro-1.0.6.tar.gz
| Download URL | castro-1.0.6.tar.gz |
|---|---|
| Size | 46.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3bdda09b708bfcfb31dbb181eae219ccdc77e35c575789b3f306d9dfd3f396fc
|
|
BLAKE2b-256 checksum How to use checksums |
69da7c5884a44b6cdf1edc9b377307d438f0ea5ba4b9356cf38e6a40690c0af3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / castro-1.0.6-py2.6.egg
| Download URL | castro-1.0.6-py2.6.egg |
|---|---|
| Size | 127.8 kB |
| Tags | Egg |
|
SHA-256 checksum How to use checksums |
021db04bbf897fba89bf3efa84d70d4daadff4877936c943a40f9620f47a5a30
|
|
BLAKE2b-256 checksum How to use checksums |
e44d84d59efae6a5a5537e2db34d06931aaf56aedfefa9f5a8d905e05bd9cfd9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |