TensorStack.Video provides the core, cross-platform abstractions for video processing in TensorStack.
It defines shared base classes used by platform-specific implementations such as TensorStack.Video.Windows and TensorStack.Video.Linux.
The Interpolation Pipeline uses RIFE (Real-Time Intermediate Flow Estimation)
RIFE analyzes motion between consecutive frames and predicts new intermediate frames, producing smoother motion and higher frame rates without traditional frame blending artifacts.
It’s designed for both speed and quality, making it ideal for upscaling or enhancing AI-generated and low-FPS video content.
This minimal example demonstrates how to perform video frame interpolation using TensorStack.Video.Windows.
[nuget: TensorStack.Video.Windows]
[nuget: TensorStack.Providers.DML]
async Task QuickStartAsync()
{
var provider = Provider.GetProvider();
// Create the interpolation pipeline
using (var pipeline = InterpolationPipeline.Create(provider))
{
// Read video stream
var inputStream = new VideoInputStream("Input.mp4");
// Interpolate the stream (e.g., 3x frame rate)
var outputStream = pipeline.RunAsync(new InterpolationStreamOptions
{
Multiplier = 3,
Stream = inputStream.GetAsync()
});
// Save the output video
await outputStream.SaveAync("Output.mp4");
}
}Multiplier— Defines how many new frames are generated between existing ones.
For example, a value of3triples the frame rate (turning 30 FPS into 90 FPS).