Motion interpolation is a technique that can be used to increase the frame-rate (up to 60 frames per second, which roughly equals doubled frame rate for most video files) of a video file.
Now what’s in it for the end-user? Simple, without having to re-encode, edit or make any changes to the video file, the end-user will see a much more fluid & smooth video playback, and fluid in the sense that the motions in the video file are being more closer to what we see in the world everyday through our eyes. It’s quite impressive actually! The best way to witness what it is all about is actually to watch a video using this technique. Because after all, the only secure way of comprehending any worldly concept is to experience it directly through your own six senses. All the rest is mere abstract knowledge which is nothing but the opinions of others, and one should never mistakenly accept abstract knowledge as facts. That’s a dangerous way to live, live in the sense of shaping your life and opinions of the world by conceptualizing merely based upon the words of others and not putting what they say into the test, test in the sense that you apply their knowledge to see if you too can experience what they claim to have experienced through your own senses. Unfortunately, this is not the way the kids are educated these days. These days they’re being led to believe that truth is something that they should hear from an authority, and not something that they should be able to directly experience. And much of the world’s problems, problems in the sense of wars, economical difficulties, emotional & intellectual imbalance etc are rendered by this abstraction of knowledge and people’s blind submission to it.
So anyway, let me come back to the topic, sometimes I get into trouble when drifting away from the ‘technical’ discussions and blathering about its philosophical context instead. SVP is an application that’s capable of applying the idea of motion interpolation to a video file on-the-fly. I wrote about it a few years ago but if I remember correctly, it was not available for GNU/Linux back then. Later they released a ‘Linux’ version, but it was not free. But not anymore, because SVP has finally released a completely free GNU/Linux version and as long as you have the hardware that’s capable of applying motion interpolation (after all, it’s all mathematical calculations which requires lot of CPU and GPU time) and can install the prerequisites, ‘Linux’ users can also now enjoy motion interpolation!
Setting up SVP was actually quite easy on Ubuntu 16.04 LTS because all the software prerequisites and where to get them under Ubuntu is covered by the official SVP documentation page for GNU/Linux. So this article will be for those who run Ubuntu (mainly Ubuntu 16.04 LTS).
Now, if you have a dedicated GPU (Nvidia, AMD) then the GPU will take away some of the load off the CPU, but if you have a powerful CPU, then SVP may be able to deliver the same results, even if it fails to utilize the GPU for processing. I have received a new laptop and I setup SVP on it. It comes with dual-graphic setup, one is the Intel HD Graphics 5500 (Broadwell), and the other is the more capable Nvidia 920M.
For some reason, SVP failed to enable GPU acceleration on the Intel HD 5500, but was able to utilize the Nvidia 920M. Nonetheless, in my tests, while with Nvidia offloading some of the work from CPU I was able to apply more enhancing filters to the motion interpolation. And even under the Intel GPU (HD graphics 5500) where SVP failed to utilize its power, the CPU (Intel Core i7-5500u) was actually able to double the frame-rate (60fps) on a full HD video file with minimum glitches. Unsurprisingly, I was not able to aggressively add enhancements/filters like I did under the Nvidia 920M GPU, though.
Yes it’s true that this laptop is actually somewhat powerful, but still, I happened to remember that when I was testing SVP a few years back on my old laptop that had an Intel Core i3-2330M processor and HD Graphics 3000, under Windows 7, it was able to double the frame-rate of another full HD video file. So don’t get discouraged even if you have somewhat older hardware. That said, depending on the nature of the video (resolution, bit-rate, genre -- action movies are more challenging etc), the hardware requirements for applying motion interpolation may vary.
So anyway, enough with the talking, let’s get to it. First of all, if you have a dedicated GPU (Nvidia, AMD), make sure you have installed the up to date drivers (the proprietary drivers released by the GPU manufacturer are the preferred choice). Installing these drivers are easy on Ubuntu. Open Dash and search for ‘additional drivers’ for opening up the GUI utility for installing proprietary driver (not just GPU drivers).
SVP requires to have installed Qt 5.5 or newer (Qt is a GUI designing application), MPV video player with Vapoursynth (this is the main utility SVP uses for applying the motion interpolation) support, mediainfo (this is a tool that gathers various information about a video file such as its resolution, frame rate, bit-rate etc). That’s all you need!
[pullquote align=”right” cite=”” link=”” color=”” class=”” size=””]Intel provides open-source driver and Ubuntu includes them by default. So no worries there.[/pullquote]
SMPlayer and VLC are also supported, but I’ll only be using MPV in this article for the setup. So let’s install these software utilities.
Step 1: Let’s first add third-party software repositories that give us these 3 main software prerequisites (Qt 5.6 -- I couldn’t find Qt 5.5 for Ubuntu 16.04 LTS, MPV with Vapoursynth support and mediainfo). For that, enter the below commands:
sudo apt-add-repository ppa:beineri/opt-qt56-xenial
sudo add-apt-repository ppa:djcj/vapoursynth
Step 2: Now enter the below command so that the newly added software sources are added to the existing software list in Ubuntu:
sudo apt-get update
Step 3: Now enter the below command to actually install the software:
sudo apt-get install qt56creator mpv mediainfo
Step 4: Now that we’ve installed the prerequisites, it’s time to install SVP. So please download the compressed file from here. Once it’s downloaded, double click on it and extract the executable file to somewhere (I extracted to my Desktop).
Step 5: Now simply double click on the extracted executable (no need for ‘sudo’/administrative privileges). It’ll open a GUI installer which is pretty intuitive and simply go with the default selection and it’ll install SVP into a newly created folder on your Home folder.
That’s it folks! Now all that’s required is to open SVP and let it analyze your hardware (it’ll do it automatically when you run it for the first time) and you should be good to go.
However, please remember that since we installed Qt 5.6 not Qt 5.5 upon which it may have been originally built (just an assumption), when I tried to run it for the first time SVP actually didn’t run. When I clicked on its icon on Dash nothing happened. Luckily the Wiki page warns about this error and also gives a fix.
What simply happened in my case was that SVP was looking at the wrong file path while trying to find two Qt 5.5 library files. And using the given suggestion I was able to fix it by simply notifying SVP where to look for them, and below is the command I used:
LD_LIBRARY_PATH=/opt/qt56/lib SVP\ 4/./SVPManager
This should now open up the SVP Manager GUI (unfortunately, until they fix the issue, you’ll have to enter this command from the terminal every time you want to open SVP). And as mentioned, when you run it for the first time, it’ll analyze your CPU and the GPU and based on that test it’ll automatically tweak the settings for the optimal performance.
If GPU acceleration is available, you should be able to find it from: ‘Application settings’ -> ‘GPU acceleration’
When ready, from its menu (just click on the SVP icon at the top left corner) choose ‘Open file’ and select the video that you want to play. If everything goes well, well in the sense that your hardware is powerful enough to handle that video file and everything from the SVP’s end works well, you should see a more fluid video playback. Enjoy!
Visit SVP’s official web page to know more.
4 thoughts on “Enable Motion Interpolation in GNU/Linux (Ubuntu 16.04 LTS) Using SVP”
Thank you for this howto. I wish I had something like this 7 years ago when I was heavily into video editing. It would have saved a lot of time being able preview the videos before re-encoding them. Definitely something I am going to check out.
Yeah, it’s pretty interesting. Once you apply it the motions become more realistic on most occasions.
Hello, how do you seems to get GPU Acceleration? i successfully installed SVP Manager 4 and it does now showing any of the GPU Acceleration…
You have to open the multimedia file through the SVP Manager.