Log in

View Full Version : How to do slomo in Blender or FFMPEG?


egr
23rd January 2017, 00:54
I'm.....yeah...I just started with the video editing scene, rendering and encoding via handbrake for my fraps footages doesn't really count as video editing because I'm not adding all those cool effects you see on youtube videos! :p

So I recorded a video on my phone and would like to add a slomo section to it, specifically the section where I want it to be in....has anyone that has used Blender or FFMPEG done slomo before? I've gone and read through this: https://www.blender.org/manual/edit...ed_control.html#creating-a-slow-motion-effect and I was like ok, so tried it and I don't know if it worked or not......which comes to the next issue I have with it - how the hell do I save the edited video to MP4 or MKV or whatever container I wish?

Ok so I know I"ve already googled how to save videos in Blender, but a video tutorial from a sample slomo effect to saving the video in MP4 or what have you and then replaying said edited file to see it working.

That's Blender, now I thought Blender is actually harder than it looks, so looked for other methods and apparently ffmpeg can also do this but I tried and ended up with some error code; here's a picture: https://s24.postimg.org/9nhx8sos5/Capture.png and so it would appear video editing is much harder overal than it looks!

egr
24th January 2017, 04:30
120 views and no replies? :confused::eek:I guess no one here knows either....whelp suppose I'll go and ask on a different forum then.....

manono
25th January 2017, 03:36
Don't give up. I know there are FFMPEG experts on this site that post regularly. I expect there are even some that use Blender, but don't know how many or how expert they are. Now, if you had asked how to do it using AviSynth, I think you'd have had several replies by now, including one by me.

But, you didn't ask that so...

egr
25th January 2017, 06:57
Don't give up. I know there are FFMPEG experts on this site that post regularly. I expect there are even some that use Blender, but don't know how many or how expert they are. Now, if you had asked how to do it AviSynth, I think you'd have had several replies by now, including one by me.

But, you didn't ask that so...

And where are those so called "FFMPEG experts".....? Maybe I posted in the wrong forum, in which case please move to the appropriate place where I will receive guidance/help for one of those FFMPEG *experts*?

Blender is too hard for me....it's like me walking into a pitch black room and to get out is to go through the pitch black maze and find the key to open the door on the otherside of the maze.

Well I wasn't aware of any other *free* programs that didn't carry viruses and or malware in them that I could use that can also do this? Is AviSynth free and GUI and of course the most important, virus/malware free?:) Or is it........CLI.....?:confused: Like FFMPEG.......which you would sorta need to memorize all commands...which is pain.....:rolleyes:

manono
25th January 2017, 07:15
No, AviSynth isn't CLI although it is text/script based. A simple script to slow a video to a quarter the initial speed (if the initial framerate is 30fps) might go:

ChangeFPS(120)
AssumeFPS(30)

An entire thread (out of many) on the subject using frame interpolation to replace all the duplicate frames generated by my very basic script is here:

http://forum.doom9.org/showthread.php?t=174089

And where are those so called "FFMPEG experts".....?
After that and similar comments you've made, even if I knew how to do it using FFMPEG I'm not too sure I'd be inclined to help. I do this sort of thing entirely using AviSynth anyway.
Is AviSynth free and GUI and of course the most important, virus/malware free?
Free - yes
GUI - AVSPMod can sort of serve as a GUI
Virus Free - Don't insult our intelligence. Get it and learn about it here:

http://avisynth.nl/index.php/Main_Page

egr
25th January 2017, 12:12
No, AviSynth isn't CLI although it is text/script based. A simple script to slow a video to a quarter the initial speed (if the initial framerate is 30fps) might go:

ChangeFPS(120)
AssumeFPS(30)

An entire thread (out of many) on the subject using frame interpolation to replace all the duplicate frames generated by my very basic script is here:

http://forum.doom9.org/showthread.php?t=174089
Cool thanks, I'll check it out.


After that and similar comments you've made, even if I knew how to do it using FFMPEG I'm not too sure I'd be inclined to help. I do this sort of thing entirely using AviSynth anyway.What?! The intention wasn't supposed to be rude but rather why are they ignoring me? Or are they on holiday? In which case fair enough.

Also what similar *rude* comments have I made?


Free - yes
GUI - AVSPMod can sort of serve as a GUI
Virus Free - Don't insult our intelligence. Get it and learn about it here:

http://avisynth.nl/index.php/Main_Page

What I'm serious! Last time I downloaded a freeware program that advertised it could do this and that, I got all my files deleted and had to reformat the entire computer!:eek:

dipje
25th January 2017, 14:51
I know blender as a 3d animating tool.. don't know what it has to do with video or slowmo to be honest.

Most things you want to have done on video begins with installing avisynth and vapoursynth around here :).

That being said, the 'crude' slowmo means you slowdown the frames you got. So if you have something that is normally 30 frames per second, you 'tell' that it's 15 frames per second (as example). The frames are played back more slowly, thus creating more length and thus slowmo.

But what you're then doing is basically duplicating frames. So it has the effect of playing back the movie more slowly, not actually creating a slow motion effect.
In an ideal situation you want those extract frames to be 'recreated'. But creating something-from-nothing (or something-from-something-else in this case) is never perfect. And you can get artifacts or other stuff. You just need to try it out how good it works on your footage. This is called 'motion interpolation', or framerate conversion by 'motion interpolation' or many other names. But in a nut shell: Instead of just duplicating existing frames, you're trying to recreate the new frames in between.
In the Avisynth (and vapoursynth) world there is a script called 'InterFrame' that does this.

Motion interpolation most of the times works best (or works only..) when creating things two times as slow. So going from 30 frames per second 10 seconds to 30 frames per second 20 seconds. (Or, the same thing, going from 30 frames per second 10 seconds to 60 frames per second 10 seconds). If you start doing it 4x, or 3x, or any other weird number in between you'll get more artifacts in my experience.

Right.. here comes the kicker, ffmpeg has a filter 'minterpolate' which does exactly this. I just looked at the help a bit and did a little test, but I have little experience with it (cause, as you discover, ffmpeg here is most often used to convert file formats, not do fancy filtering :P).

ffmpeg -r 15 -i <input file> -vcodec <output codec of choice and other settings> -vf minterpolate=fps=30:mi_mode=mci:scd=none:vsbmc=1 -an -y <output file>

First of, I leave all the output-settings in ffmpeg to you. If you're doing it in video editing you'll probably want some lossless codec or intermediate codec that your editing suite can read. Second, see the '-an' in there, that disables audio. Slowing down the audio or syncing it is up to you. Also, take care of the '-y' in there, it overwrites output files.

Now, at the start you'll see '-r 15', more importantly it is _before_ the input file. This tells ffmpeg to assume the input file is 15 frames per second. Later in the whole '-vf minterpolate' part you'll see 'fps=30'. That means the filter converts it to 30 fps.
This means that you make the input file twice as long, and then make it smooth again by recreating the new frames. So in this example, I assumed your input file was exactly 30 fps. The first '-r 15' makes it twice as long but choppy, the '-vf minterpolate' stuff makes it smooth again. Tadaah, movie twice as long, but (hopefully smooth) the original frames per second.

You could also just do this:
ffmpeg -i <input file> -vcodec <output codec of choice and other settings> -vf minterpolate=fps=60:mi_mode=mci:scd=none:vsbmc=1 -an -y <output file>

Now we don't make any assumption about the input frame rate, we just tell the minterpolate filter to make it 60 frames per second and figure things out. This means you create a new movie that is exactly the same length as the original, but _smoother_. Now you can tell your video editing software to just play back that new movie slower, and you get your smooth slowmotion.

ffmpeg supports fractions in framerates (at least in the -r parameter), so if your movie is 25fps and you want half of it, you could just write 25/2 as far as I know.

The filter is slow though, that's what you get with this kind of advanced filters. And remember, it's trying to recreate completely new frames. It might happen that you get artifacts. Playing with the parameters like blocksize and such can help, but if it doesn't work, it doesn't work, that simple.

Oh yeah, on more thing, in the example commands I added 'scd=none' somewhere in there. That means I disable scene-change-detection. I do this because I run this filter on a single take at a time (every file is a single take), so I know there are no scene changes in there. But if you're running a complete movie through there or something, you need scene-change-detection, because you don't want the filter to mess with camera cuts or stuff like that.

Last time I downloaded a freeware program that advertised it could do this and that, I got all my files deleted and had to reformat the entire computer!
If it's hard for you to figure out that your downloading malware or something legit then I might advise you to don't bother, or at least don't go 'into attack mode' on other programs. Downloading malware is your fault, not the internets fault :). That being said, you should have a virus scanner and malware scanner anyway. Even trustworthy people can make mistakes, or have girlfriends with infected usb drives which can cause 'a new version' of some program that has been OK for years to suddenly contain malware :).

Also, I do understand you are not trying to be rude or 'into attack mode', but I have to agree, it does read that way. That you don't mean it, sure, but if your writing style reads as rude, people are not willing to help, it's that simple. Not saying you have to go into ass-licking mode at all, no way... but something about your writing makes it come over as rude apparently. Just so you know.

egr
26th January 2017, 05:30
I know blender as a 3d animating tool.. don't know what it has to do with video or slowmo to be honest.Some guy on youtube recommended me use that program to do the slomo effect when I asked how he did it in his videos, he responded with "I used this, even though it's for 3D designing and all that, it can also be manipulated to work on 2D work as well such as videos." I asked him, after going through various sources on how to do it as the GUI does not look newb friendly and he he just ignored me thinking I am too dumb to waste time explaining or something I don't know....

And that's where I got the idea of using Blender from......

Most things you want to have done on video begins with installing avisynth and vapoursynth around here :).Ok!:)

That being said, the 'crude' slowmo means you slowdown the frames you got. So if you have something that is normally 30 frames per second, you 'tell' that it's 15 frames per second (as example). The frames are played back more slowly, thus creating more length and thus slowmo. So then you would use something like MP4Box to cut the length or at least the unnecessary length off? Which was what I was trying to find by asking in here (http://forum.doom9.org/showthread.php?p=1794119#post1794119) but it would appear no one here knows how to operate the GUI version as they're all CLi fans here....and to boot the project is discontinued and abandoned by the author..... :(

But what you're then doing is basically duplicating frames. So it has the effect of playing back the movie more slowly, not actually creating a slow motion effect.
In an ideal situation you want those extract frames to be 'recreated'. But creating something-from-nothing (or something-from-something-else in this case) is never perfect. And you can get artifacts or other stuff. You just need to try it out how good it works on your footage. This is called 'motion interpolation', or framerate conversion by 'motion interpolation' or many other names. But in a nut shell: Instead of just duplicating existing frames, you're trying to recreate the new frames in between.
In the Avisynth (and vapoursynth) world there is a script called 'InterFrame' that does this.

Motion interpolation most of the times works best (or works only..) when creating things two times as slow. So going from 30 frames per second 10 seconds to 30 frames per second 20 seconds. (Or, the same thing, going from 30 frames per second 10 seconds to 60 frames per second 10 seconds). If you start doing it 4x, or 3x, or any other weird number in between you'll get more artifacts in my experience.

Right.. here comes the kicker, ffmpeg has a filter 'minterpolate' which does exactly this. I just looked at the help a bit and did a little test, but I have little experience with it (cause, as you discover, ffmpeg here is most often used to convert file formats, not do fancy filtering :P).

ffmpeg -r 15 -i <input file> -vcodec <output codec of choice and other settings> -vf minterpolate=fps=30:mi_mode=mci:scd=none:vsbmc=1 -an -y <output file>

First of, I leave all the output-settings in ffmpeg to you. If you're doing it in video editing you'll probably want some lossless codec or intermediate codec that your editing suite can read. Second, see the '-an' in there, that disables audio. Slowing down the audio or syncing it is up to you. Also, take care of the '-y' in there, it overwrites output files.

Now, at the start you'll see '-r 15', more importantly it is _before_ the input file. This tells ffmpeg to assume the input file is 15 frames per second. Later in the whole '-vf minterpolate' part you'll see 'fps=30'. That means the filter converts it to 30 fps.
This means that you make the input file twice as long, and then make it smooth again by recreating the new frames. So in this example, I assumed your input file was exactly 30 fps. The first '-r 15' makes it twice as long but choppy, the '-vf minterpolate' stuff makes it smooth again. Tadaah, movie twice as long, but (hopefully smooth) the original frames per second.

You could also just do this:
ffmpeg -i <input file> -vcodec <output codec of choice and other settings> -vf minterpolate=fps=60:mi_mode=mci:scd=none:vsbmc=1 -an -y <output file>

Now we don't make any assumption about the input frame rate, we just tell the minterpolate filter to make it 60 frames per second and figure things out. This means you create a new movie that is exactly the same length as the original, but _smoother_. Now you can tell your video editing software to just play back that new movie slower, and you get your smooth slowmotion.

ffmpeg supports fractions in framerates (at least in the -r parameter), so if your movie is 25fps and you want half of it, you could just write 25/2 as far as I know.

The filter is slow though, that's what you get with this kind of advanced filters. And remember, it's trying to recreate completely new frames. It might happen that you get artifacts. Playing with the parameters like blocksize and such can help, but if it doesn't work, it doesn't work, that simple.

Oh yeah, on more thing, in the example commands I added 'scd=none' somewhere in there. That means I disable scene-change-detection. I do this because I run this filter on a single take at a time (every file is a single take), so I know there are no scene changes in there. But if you're running a complete movie through there or something, you need scene-change-detection, because you don't want the filter to mess with camera cuts or stuff like that.ok cool I'll check this out. As for the audio - no need for audio for this particular clip so I'm goo with just the video stream and that's it.


If it's hard for you to figure out that your downloading malware or something legit then I might advise you to don't bother, or at least don't go 'into attack mode' on other programs. Downloading malware is your fault, not the internets fault :). That being said, you should have a virus scanner and malware scanner anyway. Even trustworthy people can make mistakes, or have girlfriends with infected usb drives which can cause 'a new version' of some program that has been OK for years to suddenly contain malware :). I did, it was AVG free edition....apparently it couldn't even detect this and by the time I was going through my files looking for something, the damage was done and AVG did NOTHING about it!:scared: Not even a hint with its realtime scanner or anything.....or maybe it was silently disabled without notifying me it was so? Or at least parts of it was crippled silently somehow......

Also, I do understand you are not trying to be rude or 'into attack mode', but I have to agree, it does read that way. That you don't mean it, sure, but if your writing style reads as rude, people are not willing to help, it's that simple. Not saying you have to go into ass-licking mode at all, no way... but something about your writing makes it come over as rude apparently. Just so you know.
Does it, well in that case you have my sincere apologies! :o

Oh, I haven't added it in and I swore I did! Sorry this link was supposed to be added to tell you where I got the information on *how* to slomo in FFMPEG: http://blog.grio.com/2012/01/fast-and-slow-motion-video-with-ffmpeg.html because I remember looking it up and finding if FFMPEG could do it!

There we go, that's the full story.

johnmeyer
26th January 2017, 10:11
The "right" way to do slow motion is to use a high-speed camera that takes video at a frame rate much higher than normal, and then plays that back at a normal speed (i.e., take the video at 120 fps and play back at 30 fps).

If you want to instead use normal-speed video and then create slow motion in post production, there are three main ways to do it:

1. Duplicate frames.
2. Create new frames by blending adjacent frames
3. Use "optical flow" to interpolate new frames.

Here is a quick sample that shows all three approaches, each of them applied to the same video:

Slow Motion Comparison (https://www.youtube.com/watch?v=xS2p4rbkKXo)

I did #1 and #2 in Sony Vegas ("disable resample" duplicates frames, and "resample" blends frames), but they can also be done with one-line AVISynth scripts. They are both simple to create.

I did #3 using MVTools2. You can use the "cookbook" script in the MVTools2 documentation to get you started, and then search this forum for more refined settings that will, perhaps, give you better results with your particular video.

smok3
26th January 2017, 12:31
what johnmeyer said, I don't think there is an option other than duplicating frames in Blender VSE.

p.s. There is a comprehensive (newbie friendly) guide on VSE:
https://www.youtube.com/playlist?list=PLjyuVPBuorqIhlqZtoIvnAVQ3x18sNev4

(If I figure out how that frameserver output is supposed to work, i might actually do an edit or two in Blender)

manolito
27th January 2017, 06:48
I wanted to check out the FFmpeg minterpolate filter using the command line by dipje, but no luck. Even with the latest FFmpeg version 3.1.2 which runs under WinXP I get the error that this filter does not exist... :mad:

There was another thread from Dec 2016 with the same topic, and I just reupload my little ChangeSpeed tool to this post:
https://forum.doom9.org/showthread.php?p=1789031#post1789031

It might just do what egr needs. It requires that a current version of AviSynth (or AVS+ 32-bit) and LAVFilters is installed.
https://sourceforge.net/projects/avisynth2/files/AviSynth%202.6/AviSynth%202.6.0/AviSynth_260.exe/download
https://files.1f0.de/lavf/LAVFilters-0.69.exe

You also need to know how to create a folder in Explorer, and you need to be able to extract some files from a ZIP archive into a certain folder. If you cannot perform these essential Windows operations then my tool is definitely not for you... :devil:

Otherwise the tool is configurable via an INI file, but the defaults are for very good quality output and should be fine for starters.

Here is the updated Readme:

ChangeSpeed by manolito (c)2015-2017
----------------------------------------------------------------

Changes the playback speed of input clips and saves the new clip
as a file with AVC video and AAC audio. Supported output containers
include MP4 (M4V), MKV, FLV and MOV.


Requirements:
AviSynth (or AVS+) plus a DirectShow decoder and splitter package.
LAV Filters is recommended, but ffdshow plus Haali splitter should also work.

Installation:
Extract all files from the the root folder of this archive into a folder
of your choice. You will need write permissions in this folder, so it might be
a good idea to not use the "Program Files" or the "Program Files (x86)" folder.

Then copy the files from the "AviSynth Plugins" folder into your own
"Program Files (x86)\AviSynth\plugins" folder.

(Note: The TimeStretch plugin requires that Microsoft Visual C++
2010 x86 Redistributable is installed.
You can find it in the TimeStretch_v258.zip archive in the "Tools" subfolder)

Usage:
ChangeSpeed.bat [input file]
You can also drag and drop or copy and paste a file on the batch file.

Advanced:
You can specify advanced options by editing the file "ChangeSpeed.ini".
Everything should be self-explanatory.

Known Issues:
There is no error handling for the INI file. If you enter nonsense
then you will get unpredictable results...

File names containing special characters or extended ASCII characters
are not supported. Please use a tool like "RenameFiles.exe" to fix your
file names before running this software.
http://dimitar.me/quickly-remove-special-characters-from-file-names/


License:
The script is Public Domain. No strings attached, do with it whatever
you like. No guarantee whatsoever.

For details and license terms for ffmpeg and MediaInfo please refer to:
www.ffmpeg.org
www.mediaarea.net

For the Fraunhofer AAC encoder see the file "Notice.txt" in the
archive "libfdk-aac-x86-v0.1.3-13-g9a32340.7z".

TimeStretch.dll by Wilbert, using the "SoundTouch" library v. 1.8.0.
MaskTools by kurosu and Manao
Motion_12Dec05.dll by Clouded
MotionProtectedFPS.avsi by foxyshadis
MVTools V2 by Fizick
jm_fps by johnmeyer
RemoveGrain by Rainer Wittmann
DSS2Mod by forclip, based on Haali DSS2

ALL the above published under the GPL



Cheers
manolito

smok3
27th January 2017, 13:43
@manolito: Seems to be in git builds

ffmpeg -filters | grep minterpolate

ffmpeg version N-83189-gd5d474aea5-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.4.1 (Debian 5.4.1-4) 20161202

... minterpolate V->V Frame rate conversion using Motion Interpolation

testing:
ffmpeg -i in.mov -vf minterpolate=fps=50 -c:v prores -r 25 out.mov #assuming input&output are 25fps < that didn't work
ffmpeg -i in.mov -t 1 -vf minterpolate=fps=150 -f nut -c:v rawvideo - | ffmpeg -r 25 -i - -c:v prores out.mov # this is very ugly, but working (25fps > 25fps)

dipje
27th January 2017, 16:30
my windows ffmpeg comes from zeranoe, which is pretty much 'the' windows build I guess?

XP support I can't help you with, I have no clue which projects support XP and which don't. Not worth it for 'us people' that moved on from XP to keep track of :).

I did a test with ffmpeg and minterpolate, and then compared the same source file and the same slowmo with the commercial Twixtor plugin for After FX. Twixtor is clearly better. But I compared Twixtor with a good MVTools script before (InterFrame comes to mind for making things easy) and they are pretty much like for like in most situations.

Minterpolate in ffmpeg seems glitchy, although I may have used wrong parameters... never used it before so I just did one test run after reading through the options.

egr
14th March 2017, 12:49
That being said, the 'crude' slowmo means you slowdown the frames you got. So if you have something that is normally 30 frames per second, you 'tell' that it's 15 frames per second (as example). The frames are played back more slowly, thus creating more length and thus slowmo.

But what you're then doing is basically duplicating frames. So it has the effect of playing back the movie more slowly, not actually creating a slow motion effect.
In an ideal situation you want those extract frames to be 'recreated'. But creating something-from-nothing (or something-from-something-else in this case) is never perfect. And you can get artifacts or other stuff. You just need to try it out how good it works on your footage. This is called 'motion interpolation', or framerate conversion by 'motion interpolation' or many other names. But in a nut shell: Instead of just duplicating existing frames, you're trying to recreate the new frames in between.
In the Avisynth (and vapoursynth) world there is a script called 'InterFrame' that does this.

Motion interpolation most of the times works best (or works only..) when creating things two times as slow. So going from 30 frames per second 10 seconds to 30 frames per second 20 seconds. (Or, the same thing, going from 30 frames per second 10 seconds to 60 frames per second 10 seconds). If you start doing it 4x, or 3x, or any other weird number in between you'll get more artifacts in my experience.

Right.. here comes the kicker, ffmpeg has a filter 'minterpolate' which does exactly this. I just looked at the help a bit and did a little test, but I have little experience with it (cause, as you discover, ffmpeg here is most often used to convert file formats, not do fancy filtering :P).

ffmpeg -r 15 -i <input file> -vcodec <output codec of choice and other settings> -vf minterpolate=fps=30:mi_mode=mci:scd=none:vsbmc=1 -an -y <output file>

First of, I leave all the output-settings in ffmpeg to you. If you're doing it in video editing you'll probably want some lossless codec or intermediate codec that your editing suite can read. Second, see the '-an' in there, that disables audio. Slowing down the audio or syncing it is up to you. Also, take care of the '-y' in there, it overwrites output files.

Now, at the start you'll see '-r 15', more importantly it is _before_ the input file. This tells ffmpeg to assume the input file is 15 frames per second. Later in the whole '-vf minterpolate' part you'll see 'fps=30'. That means the filter converts it to 30 fps.
This means that you make the input file twice as long, and then make it smooth again by recreating the new frames. So in this example, I assumed your input file was exactly 30 fps. The first '-r 15' makes it twice as long but choppy, the '-vf minterpolate' stuff makes it smooth again. Tadaah, movie twice as long, but (hopefully smooth) the original frames per second.

You could also just do this:
ffmpeg -i <input file> -vcodec <output codec of choice and other settings> -vf minterpolate=fps=60:mi_mode=mci:scd=none:vsbmc=1 -an -y <output file>

Now we don't make any assumption about the input frame rate, we just tell the minterpolate filter to make it 60 frames per second and figure things out. This means you create a new movie that is exactly the same length as the original, but _smoother_. Now you can tell your video editing software to just play back that new movie slower, and you get your smooth slowmotion.

ffmpeg supports fractions in framerates (at least in the -r parameter), so if your movie is 25fps and you want half of it, you could just write 25/2 as far as I know.

The filter is slow though, that's what you get with this kind of advanced filters. And remember, it's trying to recreate completely new frames. It might happen that you get artifacts. Playing with the parameters like blocksize and such can help, but if it doesn't work, it doesn't work, that simple.

Oh yeah, on more thing, in the example commands I added 'scd=none' somewhere in there. That means I disable scene-change-detection. I do this because I run this filter on a single take at a time (every file is a single take), so I know there are no scene changes in there. But if you're running a complete movie through there or something, you need scene-change-detection, because you don't want the filter to mess with camera cuts or stuff like that.
ok cool I'll check this out. As for the audio - no need for audio for this particular clip so I'm goo with just the video stream and that's it.

Sorry, it took a while was busy and kinda forgot about this! :o Until something reminded me of it yesterday.... Anyways, here's my output cmd window:
https://s2.postimg.org/4zcxbkcfd/1_2.png

How do I passthrough video as well as slowing it down? Because it's saying I can't do both....:confused::scared:

The "right" way to do slow motion is to use a high-speed camera that takes video at a frame rate much higher than normal, and then plays that back at a normal speed (i.e., take the video at 120 fps and play back at 30 fps).Well....I don't have a high-speed camera.... :( Maybe I should get one(just in case another one of these come up....and then I can go ahead and use oh wait...I haven't yet figured out how to passthrough video as well as forcing playback to a slower frame rate...).....how much are they anyways? I hope they won't bankrupt me! :P

If you want to instead use normal-speed video and then create slow motion in post production, there are three main ways to do it:

1. Duplicate frames.
2. Create new frames by blending adjacent frames
3. Use "optical flow" to interpolate new frames.

Here is a quick sample that shows all three approaches, each of them applied to the same video:

Slow Motion Comparison (https://www.youtube.com/watch?v=xS2p4rbkKXo)

I did #1 and #2 in Sony Vegas ("disable resample" duplicates frames, and "resample" blends frames), but they can also be done with one-line AVISynth scripts. They are both simple to create.

I did #3 using MVTools2. You can use the "cookbook" script in the MVTools2 documentation to get you started, and then search this forum for more refined settings that will, perhaps, give you better results with your particular video.

And what is your method of doing it in ffmpeg(since I don't have vegas and that sounds like a paid program....or MVTools2....just like AVIsync in that I would need to look up their specific commands....more work yay...... :P)? Since I already have ffmpeg on my system from a previous task(as another program required the presence of this for it to work...), so might as well see if I can use that without needing to resort to another program or utility if at all possible.....like blender.....*shutters*....

I wanted to check out the FFmpeg minterpolate filter using the command line by dipje, but no luck. Even with the latest FFmpeg version 3.1.2 which runs under WinXP I get the error that this filter does not exist... :mad:

There was another thread from Dec 2016 with the same topic, and I just reupload my little ChangeSpeed tool to this post:
https://forum.doom9.org/showthread.php?p=1789031#post1789031

It might just do what egr needs. It requires that a current version of AviSynth and LAVFilters is installed.
https://sourceforge.net/projects/avisynth2/files/AviSynth%202.6/AviSynth%202.6.0/AviSynth_260.exe/download
https://files.1f0.de/lavf/LAVFilters-0.69.exe

You also need to know how to create a folder in Explorer, and you need to be able to extract some files from a ZIP archive into a certain folder. If you cannot perform these essential Windows operations then my tool is definitely not for you... :devil:

Otherwise the tool is configurable via an INI file, but the defaults are for very good quality output and should be fine for starters.

Here is the updated Readme:

ChangeSpeed by manolito (c)2015-2017
----------------------------------------------------------------

Changes the playback speed of input clips and saves the new clip
as a file with AVC video and AAC audio. Supported output containers
include MP4 (M4V), MKV, FLV and MOV.


Requirements:
AviSynth plus a DirectShow decoder and splitter package.
LAV Filters is recommended, but ffdshow plus Haali splitter should also work.

Installation:
Extract all files from the the root folder of this archive into a folder
of your choice. You will need write permissions in this folder, so it might be
a good idea to not use the "Program Files" or the "Program Files (x86)" folder.

Then copy the files from the "AviSynth Plugins" folder into your own
"Program Files (x86)\AviSynth\plugins" folder.

(Note: The TimeStretch plugin requires that Microsoft Visual C++
2010 x86 Redistributable is installed.
You can find it in the TimeStretch_v258.zip archive in the "Tools" subfolder)

Usage:
ChangeSpeed.bat [input file]
You can also drag and drop or copy and paste a file on the batch file.

Advanced:
You can specify advanced options by editing the file "ChangeSpeed.ini".
Everything should be self-explanatory.

Known Issues:
There is no error handling for the INI file. If you enter nonsense
then you will get unpredictable results...

File names containing special characters or extended ASCII characters
are not supported. Please use a tool like "RenameFiles.exe" to fix your
file names before running this software.
http://dimitar.me/quickly-remove-spe...om-file-names/


License:
The script is Public Domain. No strings attached, do with it whatever
you like. No guarantee whatsoever.

For details and license terms for ffmpeg and MediaInfo please refer to:
www.ffmpeg.org
www.mediaarea.net

For the Fraunhofer AAC encoder see the file "Notice.txt" in the
archive "libfdk-aac-x86-v0.1.3-13-g9a32340.7z".

TimeStretch.dll by Wilbert, using the "SoundTouch" library v. 1.8.0.
MaskTools by kurosu and Manao
Motion_12Dec05.dll by Clouded
MotionProtectedFPS.avsi by foxyshadis
MVTools V2 by Fizick
jm_fps by johnmeyer
RemoveGrain by Rainer Wittmann
DSS2Mod by forclip, based on Haali DSS2

ALL the above published under the GPL


Cheers
manolito

Does this allow passthrough video or and audio? Or does it both require to be transcoded for slomo to work?

StainlessS
14th March 2017, 13:12
Does this allow passthrough video or and audio? Or does it both require to be transcoded for slomo to work?

Obviously, if you are creating new frames via any method (blending, interpolation, etc) then it cannot be pass-though (ie is not same as input).
If not changing audio, then could use original audio.

Above not specific to any particular method.