Video Pitcher

Video Pitcher is an IP Camera monitoring application with special features for easily connecting to XTension and providing the ability to record snippets of video in response to motion or other commands. It automatically creates video streams within XTension which can be used in views and also automatically appears on the list of available video streams to be viewed though the X2Web interface. The program is currently in public alpha testing.

X2Web View of video thumbnails archive web viewer

These are some screen shots from the X2Web interface to video pitcher. This requires that you have at least the demo version of X2Web and the instant pages that come with it installed.

Whats New

(beta changelog)

  • build 48:
    • fixed a failure to reconnect for mjpeg streams. mjpeg streams will now resume after a power hit or other intermittent drop in communications to the camera.
  • build 44:
    • Fixed an occasional hang when creating a new movie capture.
    • Fixed a memory leak associated with flattening a captured movie to disk.
  • build 40: I've revamped the setup for saving movies in response to actions in XTension. Instead of manually managing output movies and opening and closing them a single verb you can run in the ON script of a motion or other sensor will record a snippet.
ignoring application responses
  tell app "Video Pitcher" to record from "stream name" for 60
end ignoring

would cause a minute of video to be recorded from “stream name” to a new snippet quicktime movie. As of this writing it will be h.264 encoded quick time file, date stamped in the directory. The Ignoring Responses block is not vital, but will keep XTension from hanging up if there is a problem with the beta or if things just get bogged down. At the end of the timeout the snippet will be finalized, flattened and prepared for serving up to the web automatically. If the record from verb is issued again for the same stream while it's already recording, the timeout is just advanced forward and it will keep recording to that snippet until the timer is allowed to run out. The program can record from multiple streams at the same time. Recording for a long period of time may result in long finalization and flattening times on slower machines, but no frames should be lost on other recordings that might be going on.

The new Video Pitcher module for X2Web provides a front end as shown above to the saved snippets so that you can scroll through them after they are finalized.


Video pitcher can be used by itself to view and record from IP cameras but is better suited to being a video injector for Xtension and using X2Web as the internet viewer for the video streams and captured movies.

Supported Cameras

  • Anything that provides a jpeg refresh link that serves up a single picture
  • Should be anything that serves up a motion jpeg, or mjpeg stream. These are not really a standard though and some cams might not function, let me know if you find one that doesn't work.
  • The Hawking netcams
  • The IP9100 series of 4 input analog video IP servers
  • The iGuard series cameras and external USB cams plugged into them.
  • The Schlage wired IP cams that Radio Shack is still selling work too: Schlage Cam

Computer Requirements

Monitoring and recording a video stream requires a not insignificant amount of CPU power, especially for recording video. Though the program can run even on a 1ghz PPC machine running OSX 10.3 or later, a modern Intel chip and 10.5 is recommended. Video also takes up a lot of disk space, in the betas there is no provision for deleting old movie captures, you must monitor your disk usage manually during the beta phase.


Inside the current beta zip file you'll find the application and the replacement X2Web module that includes the video snippet archive pages.

  • Copy the program to anywhere convenient on your hard drive, it will run happily from inside the applications folder.
  • place the “videoviewer” folder inside the “modules” folder inside your instantx folder. This will replace the videoviewer folder that came with the X2Web that you're currently running. It will be included in the next official release of X2Web.
  • In order to use the new simple commands for recording video snippets the program needs a directory in the web root somewhere. The default is to create a folder called “videopitcher” inside of /Library/WebServer/Documents if you're running OSX server or have made changes to the web root or just with to place it elsewhere you will need to go into the preferences and update this path. Also in the X2Web pages in the configuration for the video module you'll need to change the path and link pat in there too. You do not have to mess with that unless you have to change the setting.
  • Permissions should not be a problem for OSX Client users. The logged in user needs write access to the videopitcher folder in the web root. On OSX Server however this could have been changed or customized. Please make sure that the user that video pitcher is running as has write access to the web directory.
  • Lastly if you're running the program for the first time you'll need to setup any cameras by using the “new” menu item to create them.
  • If you created scripts to use the more complicated method of recording video available in earlier versions those verbs are still available in this version and will not be removed as they provide a lot of functionality for advanced users.


Video Pitcher is in free public alpha. You can download the latest beta from Please let me know via email if you're using it and how it's working for you or if you've got any questions or problems or find any cameras that it wont work for.

Thanks, James

video_pitcher.txt · Last modified: 2012/06/05 15:17 by James Sentman
CC Attribution-No Derivative Works 3.0 Unported Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0