This gist shows how to create a GIF screencast using only free OS X tools: QuickTime, ffmpeg, and gifsicle.
To capture the video (filesize: 19MB), using the free "QuickTime Player" application:
| from abc import ABCMeta, abstractmethod | |
| import threading | |
| class ClockInterface(object): | |
| __metaclass__ = ABCMeta | |
| @abstractmethod | |
| def time(self): | |
| pass |
| # -*- mode: python; -*- | |
| # Copyright 2009 Google Inc. | |
| # | |
| # Licensed under the Apache License, Version 2.0 (the "License"); | |
| # you may not use this file except in compliance with the License. | |
| # You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software |
| import sys | |
| import time | |
| import subprocess | |
| import types | |
| from tempfile import TemporaryFile | |
| def remote_sh(target_host, login, password, command_text, stdout=None, stderr=None): | |
| winrs_text = 'winrs -remote:{0} -username:{1} -password:{2} -noprofile {3}'.format( | |
| target_host, login, password, command_text) | |
| #print('winrs text: {0}\n'.format(winrs_text)) |
| # Note that target_env.login and target_env.password is global variables | |
| # Maybe I should add this into Fabric project (http://docs.fabfile.org/en/1.4.2/index.html). | |
| # This is complicated task for sure but it would be nice if Fabric could use ssh under Linux and PowerShell Remoting under Windows. | |
| def remote_sh(target_host, command_text, ignore_error=False): | |
| print('run PowerShell script block at {0}: {1}'.format(target_host, command_text)) | |
| command_text = command_text.replace('"', '\'') |