IPi Recorder User's Guide
iPi Recorder serves three main activities: video recording, video playback, and video conversion. To switch between these activities, three big labels at the top are used. Label of current activity is displayed in larger font size, and is underlined.
Menu tools at the top-right contains several auxiliary functions.
Everewhere in the program when you see some screen displaying image from camera, whether in Recorder or Player, placing the mouse pointer over that screen brings it's on-screen controls. These controls provide basic functions for changing the display mode for this screen:
- Mirror image (flip horizontal)
- This may be especially useful for front-facing cameras during recording.
- For depth + color videos you can set the layout of two images
- Enter full screen mode
- In full screen mode, only 1 camera screen is displayed at once. You can switch between cameras using corresponding buttons or PageUp/PageDown keys. To exit full screen mode, pull off the full screen switch or press Esc key.
On-screen controls window can embed additional controls specific for the situation where screen is displayed.
Recording process is organized in several sequential stages.
This is initial stage of recording. You are presented with the list of cameras/depth sensors available on your system and supported by iPi Recorder.
Select (by clicking) the cameras you wish to use and press the SETUP button to continue. Selected cameras are highlighted with orange background. Program remembers your selection: next time you start iPi Recorder you don't have to bother with selection again, unless you've replugged cameras.
To refresh the camera list — for example, when you've just attached new camera — press the REFRESH button. The list refreshes automatically each time you're entering this stage. When new camera is detected, it is selected automatically.
In expander camera types support to the right you can find information how to enable support for different devices similar to that presented in the installation instructions.
Setup stage allows to adjust general and individual camera settings before recording. You can:
- Select working video mode
- Adjust number of cameras displayed in a row to optimize screen space usage
- Reorder cameras.
- To place camera to the specific position, drag it's screen to this position. You can also throw away unneeded camera if it was selected by mistake, simply by dragging away it's screen.
- Tip. For color cameras, it is recommended to place cameras in Recorder in the same order they go around capture area —either clockwise, or counter-clockwise. This will make calibration process in iPi Mocap Studio much simpler.
- Set global properties for all cameras, if there are any.
- Example of such property is darkening for calibration for PS Eyes.
- Set properties of individual cameras.
- Examples of such properties include brightness and contrast for color cameras, and elevation angle for Kinects.
- To access individual camera properties, press the PROPERTIES button in the camera's on-screen controls.
All settings applied on this stage cannot be modified on the following stages. Program remembers settings values and restores them on the next run automatically.
Note. Display settings you are making in the camera's on-screen controls do not affect the recorded video. For example, if you turn on mirroring, then image in video still will be unflipped, and if in depth + color mode you change the layout to display only depth, still both depth and color images will be present in video.
Before you start to record any videos, you'll need to evaluate scene's background. Background is the picture of only static (not moving) objects in the capture ara. Evaluated background is embedded inside videos and is later used to easily detect moving objects. Also, background is employed for compressing videos with the background subtraction method.
Usually background should be evaluated only once during a recording session. However, any time the environment gets significant changes, you need to reevaluate background. Examples of such changes include changing lighting conditions, introducing new or moving existing static objects within the cameras' field of view. Also, you will need to reevaluate background each time after you went back to Setup or Cameras stage, because changing the settings invalidates currently evaluated background.
Before starting evaluation, you can set its duration. In general, the longer duration, the better evaluated background. Though, default duration of 5 seconds is sufficient for the most situations. Less values can be set for testing purposes, when you frequently pass through Setup stage, trying out different settings.
Often there is situation when computer with iPi Recorder is located in some camera's field of view. So to evaluate background, you need to go away from computer, but being away, you cannot start the evaluation process. In that case, you can set delay for evaluation to start, so after pressing the EVALUATE button, you have enough time to leave capture area. After you've started delayed evaluation, count delay + duration seconds, and then you can safely return to computer.
After backgound is evaluated, you can proceed to Record stage.
The most interesting part — recording a video. In short: select destination file, set compression options and hit START button to begin recording. When action is over, just press STOP button — and you have your video file.
When selecting destination file, you can use special <time stamp> placeholder anywhere in the file name. It allows to easily make unique file names: it is replaced by current date and time on recording start. CHANGE FOLDER button shows up folder selection dialog, leaving entered file name without changes.
Different compression options allow to balance load of CPU and storage (both space and writing speed) corresponding to a system's performance. With depth sensors, compression options are set individually for depth and color images. The following methods are available:
- Uncompressed data. The lowest load of CPU, and the highest load of storage.
- Background subtraction
- Lossless computational-inexpensive compression. Gives compression ratio approximately in range 2..10. Some trade-off between CPU and storage.
- JPEG (only for color)
- Lossy computational-expensive compression. Gives compression ratio up to 100 and more, depending on setting the quality value. The highest load of CPU, and the lowest load of storage.
- Note. Use with caution for color cameras. Lossy compression reduces quality of the image, and may lead to more tracking errors. If you are forced to use it due to limited disk space/speed, leave the quality value at considerably high level.
As with evaluating background, you can set delayed start of recording, so you have time to get off the PC and make your favorite pose before an action begins.
During recording, some statistics are displayed, such as current file size, disk throughput, write buffer usage. Also you can expand camera statistics to watch for frame drops and related stuff. All those values may help you to discover performance issues. For example overflow of the write buffer signals that you have low disk speed — you can try to use more compression. Frame drops (if they appear only during recording) may indicate that your CPU is overloaded and you need to switch to less agressive compression options.
After recording, the new video file is placed at the top of the recent records list (it is expanded automatically on recording stop). In one click you can open the video in player.
At the bottom of each camera screen on Recorder tab there is an expander called statistics. It contains several values indicating video capture performance from that camera. You can see the number of (good) frames, frame drops, and bad frames per second. You can also see total number of frame drops and bad frames since the last initialization of a camera.
A frame drop is detected when camera does not report the next frame at all. A bad frame is detected when camera reports the next frame, but does not supply complete data for it. High values of any of these numbers usually means some USB issue. You can try to resolve this by replugging a camera to a different USB port, or getting an additional USB controller. The value of frames per second is influenced by other numbers, but also may be lower than selected mode's frame rate due to instable frame rate of the camera itself (this is common case with conventional web cams).
Any "bad" values in statistics are indicated by red color, and statistics are expanded automatically when such values are encountered.
Tip. It is normal to have bad statistics for a few seconds after just switching to Recorder tab, because cameras are reinitialized.
User interface for player is pretty straightforward, similar to any other video player. You have controls for opening video file, playing/stepping by frame in forward and backward directions, manually setting current position.
Besides using OPEN button, you have two more ways to open video in player:
- Double-click on file in Windows Explorer. There should be association of .iPiVideo extension with iPi Recorder after proper installation.
- Drag and drop file to iPi Recorder window.
Also we have CLOSE button which is practical when, for instance, you decide to delete the file being played. Because video file that is open in player is locked for writing.
Additional controls let you to:
- Optimize screen layout — cameras in a row slider
- Hide background and see how well your action is distinguished from the scene
- Set priority on time or frames when playing — can drop frames switch. If it is off, then all frames are displayed during playback regardless of whether CPU can handle it at target frame rate or not. If it is on, target frame rate is maintained during playback, possibly at the cost of skipping some frames.
Converter tab allows you to convert AVI videos recorded with the previous versions of iPi Recorder (1.x) to use with the current version of iPi Mocap Studio.
To start conversion, press ADD TASK button. You will be presented with a file selection dialog. After selecting a file, you get to the input parameters page. The layout of selected AVI file (kind and number of cameras, video mode) in most cases is determined automatically. In case of any inaccuracies, you can make manual adjustments. Layout parameters are the same that were used when opening AVI file in iPi Studio 1.x. Then press NEXT button to go to the output parameters page. Here you specify start and length of the background portion of the video. When dragging these sliders, a thumbnail for corresponding video frame is displayed to help you figure out proper values. Also you set compression options, which are essentially the same as in recording, but in conversion you should not bother about CPU load, because it does not require realtime performance. When all parameters are set, just press ADD button, and conversion begins (or is scheduled).
Tip. To save your time, you can select multiple files at once when adding conversion task. In this case they should all have the same layout (number of cameras and video mode), and also similar time boundaries for the background portion. Because input and background parameters will be the same for all files. When specifying output file name you can use some placeholders for parts of input file name to make output file names differ from each other. For details, see tooltip for the output files pattern field. All output files are placed in the same folder. After pressing ADD button, multiple tasks will be added to the task list, one for each input file.
Conversion of each individual video file is represented as an item in the task list. This list contains all conversions that are completed or scheduled during current launch of iPi Recorder. At top there are completed tasks, you can open converted videos in player. Next is currently processing conversion, you can see its progress and cancel it. At the bottom of the list there are scheduled tasks, which also can be cancelled. When currently executing conversion is complete, the next scheduled task starts automatically. You can cancel all tasks at once by pressing CLEAR button.
If you need CPU resources consumed by current conversion for other activities (for example, for recording), you can pause it with the corresponding button. Later you can continue conversion with RESUME button, just do not close iPi Recorder, or you'll lose your progress.
In the tools menu, you can see the version of iPi Recorder, and some buttons:
- CHECK FOR UPDATE
- Check our website for a new version of iPi Recorder. Please be patient — it can take several seconds to perform the check. You will see a message box stating whether a newer version is available. If it is, you should restart iPi Recorder — update will be performed automatically on the next launch.
- Note. Daily automatic checks are performed during an application work. So you will not need to use this function unless you are in a real hurry for the last release (for instance, it contains a fix for some issue which is critical to you).
- SHOW TRACE
- Shows the trace window. It contains diagnostic messages produced during an application work. When you experience some unexpected behavior of iPi Recorder, you can save the trace to a file and attach it to your report. The trace file may be very useful for us in determining sources of the issue.