forked from slowmoVideo/slowmoVideoWeb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocs.txt
57 lines (35 loc) · 4.78 KB
/
docs.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
{{Title:Documentation for %s}}
{{H1:Documentation}}
''Article en Français:'' [http://artdoeuvre.org/recette/slowmovideo-ou-comment-arr%C3%AAter-le-temps slowmoVideo, ou comment arrêter le temps]
''slowmoUI'' (the user interface for slowmoVideo) supports normal shortcuts via the menu and additional shortcuts that can be displayed by presshing $$h$$. Combined shortcuts like ''Save as (s-a)'' are triggered by typing $$sa$$. If you wait longer than about half a second between two key strokes, the shortcut status will be reset.
=== New project ===
[[Image:pngGUI/newProject.png|thumb|New project dialog]]
New projects should be created in an ''empty'' directory. You can either select a video file or a bunch of images (e.g. from a timelapse sequence). After pressing Ok, slowmoVideo will save the project and start extracting frames.
=== Curves ===
[[Image:pngGUI/simpleCurve.png|thumb|Simple linear curve]]
The canvas now is your playground. It has two axis:
* The vertical ''source axis'' where the frame number is displayed at the current cursor position. Imagine a reel of film rolled out along this axis. This is how it works. The first frame is at the bottom, the last frame is at the fat line that becomes visible when zooming out with Ctrl+Mousewheel.
* The horizontal ''output axis'' will be the rendered video. Now if you draw a curve, what slowmoVideo does is that for each output frame it draws a vertical line and looks where it crosses your curve. From this point it goes left until it hits the source axis and takes the frame at this position.
With this information you see that, in the picture on the right, the first line plays the video at its original speed since the time passed on the output axis is the same as the time passed on the source axis. The second line stops the video, the third line plays it at low speed (maybe 7 %). The last line plays the video in reverse direction.
The monitor at the top (can be dragged around, by the way, it's a Qt4 widget) displays the source frame at the mouse position.
[[Image:pngGUI/bezierCurve.png|thumb|Bézier curves]]
slowmoVideo also supports ''Bézier curves''. A segment can be changed from linear to Bézier (and the other way round) by right-clicking on it. You will notice that the handles cannot be moved: This is wrong however. Nodes have priority, but by holding $$Shift$$ they are ignored. This is how you can drag them and create a wonderfully smooth curve.
=== Markers ===
[[Image:pngGUI/marker.png|thumb|Adding markers]]
SlowmoVideo gives you also the possibility to add markers to your video material.
Markers are helpful for orient yourself in long videos, you can mark Ins/Outs for some parts of the whole video.
To add a marker, simple double-press the T-Key and a popup appears, where you can name your marker.
=== Motion blur ===
[[Image:pngGUI/shutterFunction.png|thumb|180 ° shutter for 1× speed]]
To add motion blur on a segment (the line between two nodes), right-click on it and select ''Set/edit shutter function''. The function can use several parameters; the most important one is the number of frames per second. For a film-like 180 degree shutter<ref>See e.g. [http://blog.tylerginter.com/?p=385 180 Degree Shutter – Learn It, Live It, Love It] for an explanation of the 180 ° shutter.</ref>, which is half the frame time, you would enter $$return 0.5 * 1/fps;$$ – for 24 frames per second this would return <code>0.5 * 1/24 s = 1/48 s</code>.
Now this is only correct if the video is re-played at 1× speed. If the curve you define plays the video at 10× speed, 10× as many input frames are played, so the shutter should be 10× as long as well. The $$dy$$ variable is exactly what you need now: It contains the input time that is covered by the current frame, which for 10× speed would be <code>10/24 s</code>. So, the correct expression is: $$return 0.5 * dy;$$
If you are a coder – this is QtScript which is mainly ECMAScript (JavaScript).
=== Rendering ===
[[Image:pngGUI/renderDialog.png|thumb|Rendering dialog]]
Finally you will want to render your project. Why all the colours, you may wonder? Green indicates correct values, red indicates invalid values. When rendering to images, the filename pattern must contain a $$%1$$ (which will be replaced by the frame number), otherwise the field will be red and you cannot start rendering. (Try it!)
Since rendering is a time-consuming process, you might want to render with the small resolution first and check if you like the result. If you do, chose the original frame size and go have a big lunch since it will take some time :)
=== Flow editing ===
Some rendering artifacts can be removed by editing the optical flow.
<nowiki><iframe width="560" height="315" src="http://www.youtube.com/embed/aLtIvEiDD2k" frameborder="0" allowfullscreen></iframe></nowiki>
=== Links ===
<references/>