STK 12.2 Spotlight: Movie Making Enhancements
- Apr 13, 2021
- Blog Post
- Systems Tool Kit (STK)
One of STK’s core strengths is its ability to convey complex simulations in an easy-to-understand visual format — the 2D and 3D graphics windows. STK also creates videos of these compelling visualizations. For STK 12.2, we’ve added some new features to give our users more options and better performance when creating videos.
When a digital video is created, you can apply compression techniques — called codecs — to shrink the file size of the video. In STK 12.2, we’ve added two new codecs: H.264 and Apple ProRes.
H.264 is a video codec that creates high quality videos at substantially lower bit rates than previous codecs. This means you can have great quality videos while keeping the file size small. And, H.264 is supported on nearly every device. STK users who create videos using H.264 can be sure their video will play on everything from the highest-powered desktop computer to the lowest-powered smart phone.
Many of our users prefer to use third party video editing software like Adobe Premiere to create their final videos. For these users, we’ve added the Apple ProRes codec. The Apple ProRes codec is useful for editing after a video is created. This codec provides exceptional visual quality and can be edited over and over again without losing any quality.
Parallel Movie Making
When STK creates a video, it animates the loaded scenario through the time period, recording a still image frame from the graphics window at each time step. This image is then added to the video as it gets encoded with the specified codec. As such, the more frames a video contains (a function of the animation time step and analysis interval), the longer it will take to record them all. In STK 12.2, we added the option to record movies in parallel using STK Parallel Computing. When recording in parallel, STK uses multiple computing nodes to animate different segments of the video simultaneously. As worker processes finish recording their share of frames, STK ensures proper sequencing and encodes the resulting image files into a video as they become available.
In many cases, recording in parallel decreases the time spent waiting to generate a video file. However, recording in parallel is a demanding operation and there are several parameters that will affect performance:
- The CPU used for STK computations
- The graphics card (GPU) used to render the animation frames
- The disk used to store the image for each frame
- The memory available to run multiple worker processes and record each slice of the movie
- The network that you're using to communicate and store files in a shared directory, if using a parallel computing cluster
Depending on your hardware configuration, any of these components can bottleneck and limit the overall parallel recording performance. Therefore, you may have to adjust the number of CPU cores being used for the parallel computation to achieve the best performance. In some cases, using fewer cores can reduce the pressure on other hardware components and speed up operations. For example, using fewer cores will render fewer frames at once, which reduces the load on the GPU and disk.
We recommend recording a movie in parallel if it is longer than a few minutes and if each animation time step is computationally expensive. Below is a table that compares the amount of time it took to record movies of varying lengths using the traditional non-parallel method versus the new parallel recording feature with four or eight local CPU cores. For more information about making movies in parallel, see the STK Help.
|Movie Length||Non-Parallel||Parallel, 4 Local Cores||Parallel, 8 Local Cores|