All Projects → jamis → Castaway

jamis / Castaway

Licence: mit
System for building screencasts and video presentations

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Castaway

Ffscreencast
ffscreencast - ffmpeg screencast/desktop-recording with video overlay and multi monitor support
Stars: ✭ 1,625 (+429.32%)
Mutual labels:  screencast
ws-qvh
Server for streaming the screen of iOS devices over WebSocket.
Stars: ✭ 17 (-94.46%)
Mutual labels:  screencast
railsdevs public
A ruby on rails application I'm building in public for Ruby and Rails developers
Stars: ✭ 21 (-93.16%)
Mutual labels:  screencast
Universal React Tutorial
📓 How to build universal web apps with React.
Stars: ✭ 136 (-55.7%)
Mutual labels:  screencast
slip
Select and upload screenshots, gifs, and screencasts to imgur and gfycat with help of slop.
Stars: ✭ 25 (-91.86%)
Mutual labels:  screencast
bashcaster
An actually simple screen recorder for Linux
Stars: ✭ 46 (-85.02%)
Mutual labels:  screencast
Emacs Gif Screencast
[MOVED TO GITLAB] One-frame-per-action GIF recording for optimal quality/size ratio
Stars: ✭ 74 (-75.9%)
Mutual labels:  screencast
Promys
Screencasting project
Stars: ✭ 69 (-77.52%)
Mutual labels:  screencast
castty
A CLI tool to record audio-enabled screencasts of your terminal, for the web.
Stars: ✭ 109 (-64.5%)
Mutual labels:  screencast
Tracker
Even the best of apps have their issues
Stars: ✭ 113 (-63.19%)
Mutual labels:  screencast
Scrcast
Drop-in Android Screen Recording Library
Stars: ✭ 178 (-42.02%)
Mutual labels:  screencast
Functional intro to python
[tutorial]A functional, Data Science focused introduction to Python
Stars: ✭ 228 (-25.73%)
Mutual labels:  screencast
shellcast
Shellcasting client and server
Stars: ✭ 26 (-91.53%)
Mutual labels:  screencast
Keypress Osd
This program is an On-Screen Display or a Heads-Up Display for keys. It displays every key press at a clearly visible text size. It is developed for people with poor eye sight. It is meant to aid desktop computer usage. It is especially useful while chatting or for occasional typing. The user no longer has to squint or zoom in the entire screen to see what s/he writes in small text fields.
Stars: ✭ 131 (-57.33%)
Mutual labels:  screencast
screencast
Interface to record a X11 desktop
Stars: ✭ 91 (-70.36%)
Mutual labels:  screencast
Laplace
Laplace is an open-source project to enable screen sharing directly via browser. Based on WebRTC for low latency peer-to-peer connections, and WebSocket implemented in golang for signaling.
Stars: ✭ 81 (-73.62%)
Mutual labels:  screencast
screenkey.ahk
A tool that displays the keys that you type on the screen
Stars: ✭ 75 (-75.57%)
Mutual labels:  screencast
Menyoki
Screen{shot,cast} and perform ImageOps on the command line 🌱 🏞️
Stars: ✭ 255 (-16.94%)
Mutual labels:  screencast
api.symfony-3.crud
Symfony 3 and FOS REST Bundle - CRUD API
Stars: ✭ 15 (-95.11%)
Mutual labels:  screencast
svg-screencast
SVG screencast - animated SVG files from screenshots using CSS animations
Stars: ✭ 28 (-90.88%)
Mutual labels:  screencast

Castaway

Want to create an online presentation or screencast, but are frustrated by complicated interfaces or expensive tools? Maybe you're using one that almost does what you need, but that one feature it's missing is a deal-breaker?

Castaway to the rescue! Write your scripts, mix your audio, and render your video, all via a simple-yet-powerful DSL.

Want to re-render your video with a different resolution or frame rate? No problem--just run the script with different parameters.

Is that arrow pointing at the wrong point, or does that animation start at the wrong time? Easy-peasy. Change the position or timing in your script, and rerun it.

Screen-casting just got a whole lot easier.

Installation

Castaway depends on a few external tools to do the heavy lifting. You'll need to make sure you have the following tools installed:

  • ImageMagick is used to render video frames and special effects. (Tested with version 6.9.5)
  • Sox is used to edit and mix audio. (Tested with version 14.4.2)
  • FFmpeg is used to combine the frames and audio into a single video file. (Tested with version 3.2.2)

Once you've met those requirements, installing Castaway itself is simple:

$ gem install castaway

And you're good to go!

Usage

Watch a four-minute introduction to Castaway--created with Castaway!--on YouTube, here: https://www.youtube.com/watch?v=F5ShAdLvVIk .

Scripts are written in a DSL in Ruby. You declare scenes and sound clips, and describe what comprises those scenes and sound clips. Here's a simple example:

soundclip :theme, resource('music.wav')

soundtrack do |clip|
  clip.in soundclip(:theme)
  # fade in the theme music
  clip.chain.fade(5, type: :linear)
end

scene 'Title Screen' do
  start '0:00'
  script 'Hello, and welcome to our new screencast!'

  plan do
    # start with a black screen
    matte(:black).
      exit(1)

    # dissolve-in our title screen
    still('title.png').
      enter(0.5).
      in(:dissolve, speed: 0.5)
  end
end

finish '0:10'

This declares a sound track that fades in over five seconds, as well as a single scene that displays a still frame, dissolved in at the 0.5 second mark. The whole finishes at the ten second mark. If this were saved as script.rb, you could generate the video like so:

$ castaway build script.rb

This will generate the frames, mix the audio, and compose the whole together into a video called script.mp4 (it uses the name of the script file as the default for naming the video).

To name it something else:

$ castaway build -o movie.mp4 script.rb

By default, the video will be rendered at 540p (960x540 pixels). Change this with the --resolution parameter:

$ castaway build --resolution 1080p script.rb

You can specify either HD-style resolutions (1080p, 540p, etc.) or WIDTHxHEIGHT resolutions (e.g. 960x540).

Also by default, video will be rendered at NTSC-standard 29.97 frames/second. To change the number of frames per second, use the --fps parameter:

$ castaway build --fps 10 script.rb

This can be useful for previewing a build quickly, before building the final movie.

Caveats

This is a work in progress, and will probably not do everything you need just yet. Documentation and examples are severely lacking.

But stay tuned!

Author

Castaway was written by Jamis Buck ([email protected]).

License

Castaway is distributed under the MIT license. (See the MIT-LICENSE file for details).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].