CamTwist.Documentation
From Allocinit
For version 1.7
CamTwist is a software package that lets you add special effects to your video chats. It's also possible to stream your desktop and still images. With CamTwist, you can also use multiple video chat programs at the same time. CamTwist Studio makes it easier to produce live broadcasts.
Contents |
Installation
The easiest way to install CamTwist is to double click the installer package. The installer package will put CamTwist.component in /Library/QuickTime and the CamTwist application folder in /Applications. It is also possible to perform the installation manually. The only installation requirement is the QuickTime component bundle. The bundle can be placed in /Library/QuickTime or in ~/Library/QuickTime. The CamTwist application folder can be installed anywhere.
Configuration
CamTwist integrates with video applications by pretending to be a video camera. The basic idea in getting any particular video application to work with CamTwist is to find the configuration settings for the application and select CamTwist as the camera.
In some cases, the video application you're running may not allow you to select a particular camera. That could create some problems. One problem is that you may not be able to select CamTwist. Another problem is that you may not be able to select your real Camera. Until you installed CamTwist, you probably never had but 1 camera to choose, but now, with CamTwist installed, you could find yourself unable to use your camera in some applications without CamTwist already running. PhotoBooth is one such application.
The CamTwist preferences allow you to configure the behavior of the CamTwist video driver. The first pref, which is enabled by default on new installations, will prevent the CamTwist driver from loading unless the CamTwist application is already running. This is probably the best for most situations. What this boils down to is that without CamTwist running, it's as if CamTwist isn't installed. If you decide that you want to use CamTwist, simply run the CamTwist application first and then run your video application.
The second part of the prefs screen allows you fine grained control over when to use CamTwist. In my example, I've specified that I never want CamTwist to operate with PhotoBooth.
CamTwist Basics
<param name="quality" value="high"/> <param name="scale" value="noScale"/> <param name="wmode" value="transparent"/> <param name="flashvars" value="config={splashImageFile:'/video/CTSlate.jpg', videoFile: '/video/CamTwist_FL8_640x360_Widescreen.flv', autoPlay:false, autoBuffering:false, showMenu:false, loop:false}"/>
The main CamTwist window is broken down into 3 parts. In the first part, you need to select a source of video. Traditionally you'd use a webcam but CamTwist allows you to stream movies, your desktop, photos and more.
Once you've selected a source of video, it immediately starts to stream. From there, you can add as many effects as you like and that your Mac can handle. After adding a video effect, you can adjust the effects settings, if any, in the third section of the window.
Video Sources
Webcam
Perhaps the most basic and traditional video source, the webcam source simply streams video from a webcam. Any camera that is compatible with QuickTime will be compatible with the webcam source.
Desktop
The desktop video source allows you to stream all or part of your desktop. By default, it will stream the entire desktop but you can deselect the Full Screen checkbox at which point a 320x240 section of your desktop will be selected. You can move the capture area around and resize it as needed. As a convenience, you can disable the Resizable Selection checkbox and the the capture area will then be fixed at 320x240 which is a 1:1 ratio with the broadcast and most optimal.
Slide Show
The slide show source allows you to stream still pictures. You can drag pictures to the list from your desktop and even iPhoto.
Movie
With the movie source, you can play movies over your broadcast. You can drag in several movies to the play list or select a single movie with the movie selection button. There are controls for playback, timeline, and for determining how the play list is treated.
Remember that CamTwist and CamTwist Studio are video applications only. When playing back a movie the audio will be output to the systems default audio output device, or another device as selected in the CamTwist preferences. For most people, this means that movie audio will output to your speakers. If you intend your audience to hear the movie audio, you can let it get picked up with your mic or you can use the more advanced technique of audio routing with Sound Flower (described below).
Flickr Set
Similar to Slide Show, the flickr set source will fetch pictures from a flickr feed and stream them on your broadcast.
Picture-in-Picture
Once you have your video going, it's possible to overlay another video source on your video. Simply select another video source and press the PIP button. The settings panel will show the settings for the other video source as well as the settings for PIP.
Chroma Key
Sometimes called a Green Screen, the Chroma Key setting in the PIP settings lets you subtract out any particular color on the overlay video. This is typically used to create the appearance that something is behind you, such as a picture or a movie. To make it work, you'll need to position yourself in front of a well lit, solid color wall and preferably a color that is not also on your clothes or too close to your skin tone. Once you're setup and you have the PIP going, select the chroma key check box and then select the chroma key color well. The easiest way to get the proper chroma key color is to show the preview window in CamTwist then use the magnifying glass feature of the color picker to select any part of your solid background. Once you done that, the background should disappear and you should appear to be in front of your other video source. You can use the Threshold setting in the PIP settings to make adjustments.
Saved Setups
After you've gone to the trouble of selecting and tweaking some effects, you can save the entire setup, or just part of it, for recall at a later date.
- Save selection only - This options allows you to select a subset of your effects to save.
- Don't include video source - As the name implies, selecting this option omits the video source from the saved setup. This makes sense most of the time for overlay type setups. That is, setups that contain text or graphics that you intend to show and remove.
Staging Area
Suppose you're doing a live broadcast and you want to introduce another on screen element but you don't have the element prepared ahead of time. With the staging area, you can setup the new element without effecting the live broadcast. When you're happy with it, you can deploy it to the live stream and/or you can save it for later.
User Menu
The User menu is a customizable menu that you can use to create shortcuts for frequently used operations. For every shortcut that you need, you create a menu item with the plus (+) button. Then use the popup menu to the right to assign an action to that menu. The available actions currently allow you to load setups, run AppleScripts and control CamTwist Studio. Optionally you can also assign a key sequence to that menu.
CamTwist Studio
<param name="quality" value="high"/> <param name="scale" value="noScale"/> <param name="wmode" value="transparent"/> <param name="flashvars" value="config={splashImageFile:'/video/CTSSlate.jpg', videoFile: '/video/CamTwistStudio_FL8_640x360_Widescreen.flv', autoPlay:false, autoBuffering:false, showMenu:false, loop:false}"/>
CamTwist Studio is a new way to present your live videocast to the world. By leveraging the existing power of CamTwist and the device plugin, CamTwist Studio allows for multiple camera switching, DDR playback, CG insertion and more. Think of CamTwist Studio as television studio on your Mac. Many of the terms and concepts in CamTwist Studio were pulled from existing television broadcast concepts. Since CamTwist Studio is all software based we were able to do even more than what a traditional television studio would be capable of.
The most important concept to take away from here is the basic workflow.
- Stage the next shot by selecting and deselecting on screen elements.
- Approve the shot and take it live.
- Repeat
You'll want to keep this workflow in mind as we describe the various parts of CamTwist Studio.
When you're operating in CamTwist Studio, you'll see the main CamTwist window react as you take elements in and out of program. The same is NOT true in reverse. Making changes in the main CamTwist window will not be seen by CamTwist Studio. By design, CamTwist Studio expects that it is the only thing that will be manipulating the live effects during your broadcast. You should resist the temptation of getting under the hood and adding/removing effects in the main window while CamTwist Studio is up otherwise you're likely to confuse things.
Interface
The CamTwist Studio interface is broken into 5 areas:
- Preview
- Program
- Transitions
- Button rows
- Controls
For those familiar with television broadcast studios it may look like a traditional video switcher at first glance. Upon closer inspection you'll notice that there is no program bus, no M/E busses and no EMEM as none of these items are needed in the all software view of CamTwist. If you're not familiar with a traditional television studio the interface should be very simple to use after you get used to what each section does.
Preview Monitor
The preview monitor is the large video window on the top left of the interface. As the name would suggest, the preview monitor lets you stage your next shot without effecting your live broadcast. Preview can only be seen by you and can not be broadcast. Whatever you see in preview is what you will see when you decide to go live with your shot. This serves two main purposes:
- By putting camera shots in to preview and not directly bringing them live it allows webcams a chance to warm up, white balance and stabilize.
- Minimize mistakes by getting to see what your next shot will look like before it goes live. If an incorrect button was pushed, the preview will show where the mistake is and allow a change before the shot is brought live.
Program Monitor
The program monitor is the large video monitor on the top right of the interface. By default the program monitor is off until it is clicked on. Program is the same as your live output and whatever you see in program is what you will be broadcasting. Enabling the program monitor does take additional CPU load so if you need to conserve system resources for broadcasting it is suggested that you turn the program monitor off. If you have enabled the program monitor you can very simply disable it by single clicking one again anywhere in the video.
Transitions
The transitions section is directly between the program monitor and preview monitor. When activating a transition whatever is in your preview monitor will be brought to program and will then be live. The preview monitor will then go back to an empty state with color bars and the word 'preview'.
The most commonly used transition in television is the 'cut' or simply taking what is in preview and bringing it to program with no effect. The change take effect immediately upon pressing the cut button.
Below the cut button is the transition selection drop down. The default transition selected is the second most commonly used effect in television, the dissolve. You can click on this dropdown box to see a list of available transitions: Copy Machine, Dissolve, Flash, Mod, Ripple, Swipe and Dip.
Directly below the transition dropdown selection is the time box which is the duration of the transition. The default duration is 1 second. Depending on the frame rate of the broadcasting application you are using 1 second may or may not be enough time. Traditionally broadcasters use 7 to 13 frames for dissolves (or 1/3 to 1/2 of a second) but due to frame rate limitations of many flash streaming applications those times will probably not work online. Be aware that the lower your output framerate is the less impact your effect will have. At this time it is not possible to do fractions of a second in the timing window.
The final button is the 'Go' button which will activate the selected transition (other than cut) using the time specified. Objects in program will be removed and the objects in your preview monitor will replace what was in program using the transition selected.
Buttons
At the bottom of the CamTwist Studio window are rows of buttons. Each button represents a Saved Setup from the main CamTwist window. The buttons on the bottom row are saved setups that contain video sources and the buttons above that row are saved setups without sources such as graphics or nameplates. By clicking on a button you select that object and change its state which is represented by a colored outline.
Outline colors:
| Color | What it means |
|---|---|
| Red | In program (i.e. live) |
| Green | In preview |
| Orange | Indicates that the element is about to be removed from program |
| None | Indicates that the source will remain unchanged |
Bottom Row
The bottom row of buttons are your video sources. There is only one source row. This row is auto-populated from the main CamTwist application by any saved setup that had the 'Don't include video source' checkbox unchecked when it was saved. The name below each button is the name of the setup and they are organized from left to right alphabetically. Think of this row as your selection of cameras, video clips and full-screen images.
Unlike a traditional television studio in which one button can only be equal to one object, in CamTwist Studio a single button can be a slew of objects. It is possible to create a single button that has two cameras squeezed back, an animated background and graphics on top and have all of these object be available with one click on the bottom row.
While it is possible to hide the bottom row using the grey triangle directly to the left of the row it is not possible to have more than one row of sources in CamTwist Studio by design.
Top Rows
There can be many additional rows above the sources row. These rows are all automatically created by created a saved setup with the 'Don't include video source' button checked. Think of these rows as graphics or elements that go on top of the sources row. Things like RSS tickers, Logos (bugs), lower third nameplates, advertising graphics or anything that can go on top of a background source. It is possible to create additional rows by typing in how many rows you would like to see in the 'Rows' area of the effects list. By adding additional rows it is possible to layer graphics. The higher the row the higher up the graphic will be in the layer order. It is also possible to hide rows by clicking on the grey tiangle to the left of the row. This can be useful if you want to brand your show with a logo (bug), RSS ticker and ads but don't want to accidentally take these elements off the screen. Simply create a new row, select the object you want on the screen and take them live, then hide the row. It won't be possible to take the elements down and now you can go back and bring nameplates or animations on or off the screen without affecting the show branding.
Adding Icons
Each button can have a custom icon associated with it. The optimal size for the graphic is 64 pixels wide by 64 pixels high (64x64). If the image is not square or the proper size it will be scaled to fit. Alpha channels will be honored when using formats such as PSD or PNG.
To place an image on a button simply find the image on your hard drive and then drag and drop the image on top of the button you would like to change. If you would like to change the image simply drag a new image on top of the button. It is not possible to delete an icon at this time.
Source Controls
In between the video monitors and the button rows is some empty space that is used in situations when a video source needs extra control. One example of that is the Movie source and it it described below.
Movie Source in CamTwist Studio
When a movie source is selected, a controller will appear under either the preview or program monitor. This controller will affect the playback of the video clip. When the clip is in preview the controller will show up under that monitor. You can move the slider bar to the position of the video that you would like to start in. If you begin playing the video then transition to it in program the video will continue to play without restarting or hiccup. If you move the position bar partway through the video and have auto-play turned on in your saved setup then the video will automatically begin to play from the position selected in preview as soon as it is taken to program. On the left side of the controller is a play/pause button which will affect the playback of the video in either preview or program.
Auto-Play
It is possible to automatically play the video when it is brought to program. When saving the setup in CamTwist ensure that the 'Autoplay' button is checked. The video will appear paused in preview but as soon as it is brought to program it will begin playback.
Audio Routing with Sound Flower
As pointed out above, CamTwist doesn't do anything with audio as it relates to your broadcast. CamTwist interfaces to your video application as a video driver and has no knowledge of audio at all. Just as it's up to you to determine how to get audio from your mic into your broadcast, CamTwist is equally powerless to get audio from movie playback in your video application. The simplest way to get movie audio into your broadcast is to just let it play out of your speakers and let the microphone pick it up. For most people this technique is good enough but for everyone else there is Sound Flower (http://www.cycling74.com/products/soundflower).
The basic idea behind soundflower is somewhat similar to the way CamTwist is architected. Soundflower comes with two parts. The first part is a driver and the second part is an application. The driver presents itself to MacOS as an alternative output device (like another set of speakers) and an alternative input device (like as if you installed another microphone).
Once installed, you can select soundflower from the system preferences (sound -> output) as the 'speakers' to use for the Mac. Next, you go to the video application you're using and select soundflower as the microphone to use.
At this point, every sound your mac makes will be routed directly to your video application. In fact, you won't even hear it yourself. That's where the soundflower application comes in. With that, you can monitor the audio with your speakers.
To make audio routing with Sound Flower a little easier, CamTwist supports the ability to select the audio device for use with movie playback. With that feature, you can avoid routing all mac audio to soundflower (skip the system preferences step) and just route CamTwist audio to soundflower.
Known limitations and bugs
LIMIT: Video will be output 320x240. This is not user definable today.
LIMIT: Buttons can not be arranged manually, only arranged alphabetically
BUG: If 2 identical cameras are used they won't always map to the same button when opening and closing CamTwist
LIMIT: Code optimization has not yet occured
LIMIT: PIP setups will not display source controls.

