Blog: News from our R&D Lab: Video Transitioning

11 Feb 2015 Alisa Goldenberg Application Development, Mobile
Tags: ,

A video transition is a technique used in the post-production process of video editing by which frames are combined. Most commonly, this is through a normal cut to the next scene. Most videos will also include selective use of other transitions, usually to convey a tone or mood, suggest the passage of time, or separate parts of the story. These other transitions may include crossfading, wiping, scaling etc.

video-transitioning_main

‘Video Transitioning’ is a prototype of an app for iOS, which is supposed to create a smooth transition between 2 videos using various effects. We decided in favor of the RGB model because it is easier to process and we already had a codebase for a wide variety of shader video transitions working in RGB.

The task was to create a smooth transition between two separate videos using crossfading, wiping, scaling or other transitioning effects. We decided to implement the transitioning in the RGB color model because it is easier to process it and we already had a code base for a wide variety of video transitions in RGB.
Before we started, we decomposed the task into the following steps:
– Determine the area of overlapping.
– Mounting two frames into one.
– Implement a mechanism for mashing the frames.
While working on the first and second steps, we took the Apple’s framework for iOS 7 and modernized the basic code to suit our needs.
The 3rd task made us transfer the mashing algorithms to GPU using OpenGL shaders, which significantly reduced the complexity of the algorithm development and adaptation; it also allowed us to apply filters while mashing.
In the end instead of writing a new frame mashing code for each transition, we have created a common logic that runs the respective transition code piece.
To expand your knowledge on the above-mentioned technology, please see our video.