KineBody Pro Instructions:
(last updated 240530)
Navigating Background Videos
Overview
Users of KineBody Pro AnimTools (subscription) can import images or videos into the background of the viewing area, behind the KB skeleton, to serve as templates for creating poses. When using videos, the general approach is to find a frame containing a useful template pose, and, while the video is paused, to fit the KineBody skeleton to that pose; then seek another pose and repeat. Poses obtained from multiple video frames can be assembled into a KineBody animation (as explained in our animation tutorials).
It's important to understand that the app doesn’t provide any capability to automatically convert background videos to KineBody animations, nor can it automatically fit a pose to any individual video frame. Instead, you have to manually find useful video frames, and manually fit the poses. For more about fitting poses, please see KineBody Instructions: Pose Tracing.
This page focuses on using KineBody Pro controls to navigate among the frames of a background video. The controls include: a set of video playback controls, which appear in the lower right, whenever a video is loaded into the background (figure, below left), and a checkbox in the 'Show' subpanel, labeled ‘In Front’ (figure, below right).
The KineBody playback controls serve as an alternative to the video’s native controls, i.e., the playback button, time slider, and other widgets, that lay atop or adjacent to the video, often at the bottom edge (figure below).
KineBody Pro video controls are provided for two reasons:
-
Foreground vs Background Operation: The KineBody Pro viewing area isn't just a place to show the skeleton in 3D; it's also a multi-function user input control, that receives your mouse or touch actions (such as hovering, dragging, clicking or tapping), to identify bones, move the body, select & move joints, and more. For convenience, we call the multifunction input control the KineBody 'joystick'.
When a video is loaded into KineBody Pro, its native controls are also able to receive mouse or touch inputs. This presents a problem, when the video and KineBody Pro joystick share the same screen space, as to which app should receive a given user input. For example, if you click on a bone (to select its adjacent joint for movement), will the click cause the video to play (as is normal for the video alone), or the bone to be selected, or both?
To circumvent such conflicts, the KineBody Pro app uses the notion of foreground and background layers, not just for visual content, but also for controls. That is, when a video is loaded into the KineBody Pro background, it appears in the background, behind the skeleton, but it also behaves as if in the background: it doesn’t respond to user input actions. Those actions are instead directed entirely to the KineBody joystick, in the foreground.
KineBody Pro video playback controls are provided as a way to navigate thru the video, while it resides in the background, and the native controls aren't accessible.
Note: You can optionally move the video into the foreground, thereby giving you access to the video’s native controls, by using the ‘In Front’ control (instructions below).
-
Native controls limitations: When you use native video controls to navigate thru a video, there can be limitations that make your effort frustrating or difficult. For example, suppose you’re trying to use frames from a video with 30 frames/ second frame rate, and you try to use the native time slider, to find a frame to use as a pose template. You’ll learn that even the smallest nudge of the slider won't advance the video by a single frame, but by multiple frames, i.e., you can't access just any frame. This is a serious problem if you’re trying to match poses to frames during a fast event. A related shortcoming is that, even if you do find a useful frame, it may be difficult to identify its actual time, i.e., to the nearest 1/30 of a second, because the native time readout is calibrated only to show full seconds.
KineBody Pro playback controls are designed to circumvent some of these limitations. For example, it includes fine-grain time stepping controls to advance the video as little as 0.01 second, thereby allowing you to access any frame (for typical frame rates). Similarly, the KineBody Pro time readout for videos is calibrated in hundredths of a second, so you can identify a precise frame, e.g., to revisit at some future time.
KineBody Pro video playback controls appear whenever a video is loaded into the background, and disappear when the video is cleared. Here’s a brief overview:
Instructions
To do this: | Proceed as follows: |
Find desired content, by scanning through the video |
Use KineBody Pro playback controls
or Use native playback controls (esp: time slider) (Click 'In Front' to enable/disable). or View/scan the video outside of KineBody Pro: in a dedicated video player, alt browser tab, etc. |
Move forward/back by 1 video frame | As explained in the Details, KineBody Pro doesn't provide buttons that do this directly. Instead, use the 0.01 sec time step buttons (forward or back), and watch for changes in the video, e.g. every 4 or 5 time steps, for a 24 fps video. For an example, see here. |
Move to a specified time. |
Enter a time value, into the time box (below the Play/pause button).
Note that the timer uses cumulative seconds (with hundredths), as opposed to hours, minutes and seconds, e.g. 4 minutes, 30.31 seconds is shown as 270.31. |
Use native video controls |
Click/tap the 'In Front' checkbox.
When 'In Front' is enabled, the video is presented with colored border and background, as described in the Details below. Note: while working 'in front', you can't use the KineBody joystick, to move bones or joints, select bones, etc. To resume those operations, uncheck the 'In Front' box. |
Resume normal kinebody pro joystick behavior
(i.e., if the joystick isn't working normally) |
Uncheck the 'In Front' box |
Etc: change or clear the background video (& hide playback controls) | Please visit Loading a Background Image or Video. |
Move or resize the background video | Please visit Moving a Background Image or Video. |
Details
Appearance during In Front mode: KineBody Pro provides a couple of visual indicators, when the 'In Front' checkbox is checked: a dark purple border around the video, and a translucent light purple background, to fill the viewing area around the video (figure below). These are provided simply to reinforce that the In Front mode is enabled, espcecially when the associated checkbox is scrolled out of view.
Variable frame durations: When navigating through the frames of a background video in KineBody Pro, you can step forward or back thru time by increments as small as 0.01 sec. If you do so with a standard frame rate (e.g., 24 frames/sec), you may see the frame content changing at unequal time intervals, e.g., every 4 or 5 time steps. Here’s an example of how the frame numbers align with time values:
frame number | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
(ideal) frame start time | 0 | 0.0417 | 0.0833 | 0.1250 | 0.1667 | 0.2083 | 0.2500 | 0.2917 | 0.3333 | |
new frame content appears at | 0 | 0.05 | 0.09 | 0.13 | 0.17 | 0.21 | 0.25 | 0.30 | 0.34 | |
increment | - | 0.05 | 0.04 | 0.04 | 0.04 | 0.04 | 0.04 | 0.05 | 0.04 |
The second row contains integer multiples of the nominal frame duration ( 1/24 sec = 0.0417 sec). The 3rd row shows the times reachable using 0.01 sec forward steps, when the frame content is observed to change. As shown in the 4th row, the increments between these are typically 0.04, but occasionally 0.05, i.e. 4 or 5 time steps.
No framewise stepping: You may wonder why you can't simply step forward or back one video frame at a time – if you search for such buttons, you won't find any! The primary reason for this is that video players (of 2 types used in KineBody Pro) don’t have any way to access frames by number – they can only be accessed by time. You might imagine that it should be a simple matter to define a conversion between time and frame number, but it’s actually not simple. Among the complications are:
- The frame rate of the video may not be accessible to KineBody Pro.
- The player may adjust the frame durations slightly, so as to line up with the screen refresh rate (e.g. , 1/60 sec).
- These behaviors may vary with the video format and the particular browser that hosts the video player.
KineBody Pro avoids these problems by simply using the video player ‘as designed’, i.e., seeking frames via changing the time values.
Video positioning in background: KineBody Pro controls for adjusting the size and position of the video (discussed here), are a feature of the KineBody Pro app, not the video, and so they act on the video only while it resides in the background.