node package manager
Easy collaboration. Discover, share, and reuse code in your team. Create a free org ยป



Screen recording library for Node

Awesome features!

  • Uses the AV Foundation framework to record the highest-quality video you possibly could record.

  • Records in the popular MPEG-4 file format.

  • Simple API. Start and stop -- that's all you need to know!

  • Testing friendly. Combine with app automation tools like Appium or Selenium to record movies of your tests. Screen recordings can be useful for debugging test failures.

  • Open source. (MIT License)


npm install castro

Example usage

castro = require('castro')
movie = new castro.Castro()
// Do something awesome

Where's my movie?

Movies are stored on the Desktop...

> movie.location

In other words:

... but you can change the location before you start recording.

> movie = new castro.Castro()
> movie.setLocation('/Users/me/epic-movies/totes-epic.mp4')
> movie.start()


Castro was tested with:

$ node -v

$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.11.6
BuildVersion:	15G1004

Only works on OS X for now.

Example movies recorded with Castro