2.2.1.1.1. Movie Strip¶
The input source of a movie strip is a video file with extension
.mp4
, .mpg
, .mpeg
, .dvd
, .vob
, .avi
, .mov
,
.dv
, .ogg
, .ogv
, .mkv
, .flv
, or .webm
(see Video formats).
Blender uses the ffmpeg library to process the video files.
Which codecs are available depends on the operating system and ffmpeg version.
The default color of the movie strip bar is: ███
Each video file contains a sequence of image frames (the actual movie) and some meta-information such as resolution. The resolution and framerate (fps or frame per seconds) info is exposed in the source-panel.
Warning
The Project Settings parameters should preferably be the same as the strip parameters. For example, if the project is set to a frame rate of 30 fps, and your clip is only 24 fps, then the clip will appear accelerated. Thirty frames mean 1 second, according to the Project Settings; according to the project settings. But, these 30 frames cover 1.2 s in the original footage (30 x 24 fps = 1.2 s). Compressing 1.2s in 1s during playback will induce acceleration.
Also, if your clip has variable framerate; e.g. footage from some smartphones, then you’ll get an audio sync problem because Blender uses a constant frame rate. To solve this, you have to convert your clip to a constant frame rate with programs as ffmpeg or Handbrake
2.2.1.1.1.1. Options¶
The movie strip is a much-used strip type and has lots of properties. They are organized in panels in the sidebar.
2.2.1.1.1.1.1. Compositing¶
Reference
Name: |
Compositing |
Context: |
Video Sequence Editor > Sequencer |
Location: |
Sidebar > Strip |
In the Compositing panel you can set the properties Blend and Opacity (see figure 1).
- Blend
When two strips are placed on top of each other, the strip of the higher channel completely covers the strip below, even if it is much smaller. In the Preview Window you will only see the strip from the higher channel; for example, you can safely delete the strip below without noticing anything.
This is because the Blend Mode of the higher channel strip is set to
Cross
. This is the default value for all strips; except the Text strip which has a default value ofAlpha Over
.The Blend mode of a strip specifies how the strip immediately below should combine or blend with it. There are 27 blend modes, such as
Color Dodge
orAlpha Over
. They all have unique and sometimes subtle effects. For example, theCross
andReplace
blend mode seems on first sight exactly the same. The higher channel strip replaces completely the lower channel strip. However, in combination with an Opacity value of zero (see below), both Blend modes have completely different results.Blend mode = Replace + Opacity = 0 –> completely transparent Preview Window
Blend mode = Cross + Opacity = 0 –> Preview Window filled with lower strip.
Todo
A detailed description of all blend modes will be available soon in chapter Edit > Color Grading.
- Opacity
An opaque object is completely impervious to light. You cannot see through it. Opacity is the opposite of transparency. Each pixel in an image can have - besides the Red, Green and Blue values - also an Alpha value, a number between 0 and 1. An Alpha = 0 indicates a completely transparent image. A completely opaque image has an Alpha = 1.
Hint
A simple mnemonic to remember these values: 0 is like a peeping hole = see through = transparent.
The Alpha value of each pixel in the image is multiplied with the Opacity value of this field. A value of 1 does not affect the opacity of the strip. For example, if the strip is semi-transparent (e.g. alpha = 0.6), then it remains semi-transparent (0.6 x 1 = 0.6). A value of zero will make the strip fully transparent because multiplying with zero will always result in zero. See Mask strips for more details on transparency/opacity.
2.2.1.1.1.1.2. Transform¶
Reference
Name: |
Transform |
Context: |
Video Sequence Editor > Sequencer |
Location: |
Sidebar > Strip |
The Transform panel contains the Position, Scale, and Rotation properties and the -perhaps less- important Mirror property.
- Position X, Y
The dimensions of the view area of the sequencer output are set by the project dimensions; e.g. 1920 x 1080 by default (see Directory structure). A movie is centered (and scaled) within this view area. So, position (0,0) wil refer to the midpoint of the image. With the X, Y values, you can move the frame along the horizontal and vertical axis. The values are expressed in pixels.
- Scale X, Y
With this value, you can scale the image on the X (=horizontal) and Y (=vertical) axis. It is a number between 0 and infinity. A scale of 0.5 on the X axis for example will halve the width of the frame. A scale of 2 will double it. To scale the frame proportionally, you have to use the same value for X and Y.
Scaling an image will by no means change the resolution of the image!
- Rotation
Rotates the frame along the Z axis; expressed in degrees. A negative value will rotate counter clockwise. This value can be > 360°, e.g. in animations, you can rotate a frame 3 times around its Z axis by entering the value 1080° = 3 x 360°.
- Mirror
Mirrors the image along the X axis (left to right) or the Y axis (top to bottom).
Figure 3 shows an example of a Picture-in-Picture (PIP) setup. You need the Position, Scale, and Blend mode property to accomplish this. Figure 3 has three channels. Channel 1 contains the audio. Channels 2 forms the background. Channel 3 contains the foreground picture. This picture is scaled (0.3) and repositioned (717,300) to create a PIP.
The “Spring” open-movie in figure 3 has non-default dimensions: 2048 x 858. To download this movie, see creating test-files - section E). If you add this movie to the default FHD timeline (1920 x 1080), it will be scaled. The longest dimension (2048) will be scaled to 1920 with a factor of 0.9375 (0.9375 x 2048 = 1920). The vertical dimension too will be scaled with the same parameter, given a height of 858 * 0.9375 = 804, leaving two transparent bands above and below the video. In figure 3 we changed the project dimensions to equal the strip dimensions so that the viewport is fully taken by the video.
The foreground picture (from the same open-movie “Spring”) is scaled with a factor of 0.3. This leads to the following pixel sizes: 2048 x 0.3 = 614 and 858 x 0.3 = 257. If you want to position this strip into the top-right corner, you have to change the X and Y position. But how much? The center of each picture is position (0,0). So, the background picture runs from bottom-left (-1024,-429) to top-right (1024, 429). To tuck the small picture in the top-right corner, you have to move it on the X-axis to position: 1024 - (614/2) = 717. And on the Y-axis to position 429 - (257/2) = 300.
2.2.1.1.1.1.3. Crop¶
Reference
Name: |
Crop |
Context: |
Video Sequence Editor > Sequencer |
Location: |
Sidebar > Strip |
Cropping is the removal of unwanted outer areas from an image.
- Left, Right, Top, Bottom
The specified number of pixels are removed from the Left, Right, Top and/or Bottom of the image. And as such making this image smaller. Although you can specify a negative number, this does not affect the image.
Crop and Scale are two very much different operations. Take a look at figure 5. Both small pictures have the same size. The left one is obtained by scaling to 0.3 of the original 2048 x 858 image, resulting in a picture of 614 x 257 pixels (see also figure 3). The picture on the right is obtained by cropping.
The combined crop Left and Right should be equal to 2048 - 614 = 1434. By cropping 1434 pixels from the left and right (670 + 764), you’ll get a resulting picture that is exactly 614 pixels wide. The combined crop Top and Bottom should be: 858 - 257 = 601 or 572 + 29. Of course, the exact ratio between Left/Right and Top/Bottom depends on the detail you want to have in focus. To center on the dog, we need the following crop sizes: Left (670), Right (734), Top (572), and Bottom (29). This will result in the exact same size but zoomed in.
2.2.1.1.1.1.4. Video¶
Reference
Name: |
Video |
Context: |
Video Sequence Editor > Sequencer |
Location: |
Sidebar > Strip |
- Strobe
The Strobe value indicates that only each nth frame will be displayed. By default it’s set to 1. For example, if you set this to 10, the preview will only display frame 1 for the range 1-10 frames, frame 11 for the range 11-20, frame 21 for …
It is not really a strobe-effect because the frames 2-9, 11-19, … aren’t blacked out. You can easily check this out with the timecode overlay test file (see Creating test files - section C).
- Reverse Frames
The strip is played backwards starting from the last frame in the sequence to the first frame. This will also work with split strips. However, just pay attention to use the “Hold Split” (Shift + K) cut (see /edit/montage/splitting).
2.2.1.1.1.1.5. Color¶
Reference
Name: |
Color |
Context: |
Video Sequence Editor > Sequencer |
Location: |
Sidebar > Strip |
The properties in this panel seem to be an easy shortcut for some effects or modifiers. The Saturation could be changed (for each color independent) with the Color Hue modifier. The Multiply property could be achieved with the Multiply effect and a color strip.
- Saturation
Increases or decreases the color saturation or the vividness of an image. A saturation value of zero will turn the color image into a grey-scale image.
- Multiply
Multiplies the colors by this value. This will increases the brightness for values > 1. Using a value < 1 will reduce the brightness. A value of zero will produce a uniformly black image; the color code of black is RGB (0,0,0).
- Convert to Float
Converts the multiply value to a float data type.
Todo
The Convert to Float does not seem to do anything. But see Stackexchange: https://blender.stackexchange.com/questions/57528/
2.2.1.1.1.1.6. Time¶
Reference
Name: |
Time |
Context: |
Video Sequence Editor > Sequencer |
Location: |
Sidebar > Strip |
Most - but not all - of the available time codes can be updated in this panel. A general introduction of the Timeline and time codes can be found in Timeline basics. A clear understanding of these time codes is essential in trimming and freezing clips.
A movie strip is a sequence of frames that is represented by a blue bar in the sequencer. To draw this movie strip you need a few properties: the Channel, the Start position in the timeline and some time codes of the movie strip.
- Channel
Strips are placed in channels; rows stacked upon each other (see for example figure 1 with 3 channels). Upon adding a movie clip, Blender searches for the next free channel at the position of the playhead to place the movie strip. With this property, you can change the channel number, e.g. the row number of the strip. If the channel is already taken by another strip, the strip will be positioned at the next higher available channel. The first channel 0 is unusable as a place to put strips. This is because it is used by the Sequencer Display to show a composite of all strips above channel 0. The maximum number of channels is 32.
To ease the understanding of these timecodes, you can imagine 4 markers on a movie strip. See figure 9 for some clarification.
First accessible frame (FA): the first frame in the sequence that could be displayed; usually also the very first frame of the video.
First Visible (FV) frame: the first frame that is actually displayed in the preview. It marks also the beginning of the strip bar.
Last Visible (LV) frame: the last frame of the sequence that is displayed. The end of the blue bar.
Last Accessible (LA) frame: the last frame of the sequence that could be displayed.
- Start
This field specifies where the FA frame of the movie strip should be placed on the timeline. Upon adding a movie strip to the sequencer, the Start field is set to the value of the playhead. You can change it manually by entering a different frame number or by moving the strip to another position in the timeline.
Right after adding FV= FA and LV = LA. Because of this, the movie seems to start at the Start position. This is however not always the case.
- Duration
This field represents the actual duration; the length of the blue bar; or LV minus FV (see figure 9). You can change the Duration by entering a different value. A smaller value will shorten the strip (LV will be positioned earlier; see figure 9); a larger value will lengthen the strip by repeating the last frame. LV should become larger than LA? So, the Preview window has to display frames that aren’t there? This problem is solved via two unexposed fields: frame_still_start and frame_still_end fields, accessible through the Python API (see further).
- End
Specifies the actual ending or the Last Visible frame (LV) of the strip. This value cannot be edited and is the result of the calculation: Start + Duration - 1.
- Strip Offset Start
With this value, you reposition the FV marker. It can be a positive or negative value. If positive, the actual start (FV) of the strip will be further in time. A few frames are skipped and the movie strip starts later (see figure 9). If negative, the FV frame should come before the FA frame (assuming FV = FA initially), which is impossible. As a result, the FA frame will be repeated (see the section on Hold Offset for an explanation).
- Strip Offset End
This field repositions the LV frame. If positive, the strip will be shortened. If negative, the strip is lengthened, thereby repeating (freezing) the LA frame.
Both Strip Offset fields can be changed by entering a value or by dragging the left or right strip handles. If Show Overlay is enabled a small bar appears at the bottom or top of the strip bar to indicate the Offsets.
- Hold Offset Start
This field will reposition the FA frame. It can’t be negative because there are no frames available before the FA frame. A positive value does something seemingly contra-intuitive: the Duration of the strip is shortened. However, the Start field (where the FA is positioned at the timeline) remains the same and there are fewer frames available to display. So, the strip is shortened but the FA frame will be different.
- Hold Offset End
This field will reposition the LA frame. A positive number will reduce the LA value. The effect is also a shortening of the strip.
Of course, you can combine both types of offset. In figure 11, there is a combined offset of 8 frames. So, the original duration of 10 frames is reduced to two frames.
In the previous text, we mentioned a few times the “freezing” effect or the repeating of the first or last frame. This can be done by for example extending the LV frame beyond the LA frame (entering a larger number in the Duration field). Or by dragging the left or right handle beyond the FA or LA frame. In figure 12 there are two repeating first frame and two repeating last frames. The Still Offset fields are added to the Time panel via a Python script. For an in-depth explanation of how to do this, see section 5 Extra-tools.
- Current Frame
Position of the Playhead relative to the FA frame of the active strip. So, if the strip starts at frame 10 and the Playhead is positioned at (timeline) frame 15, the Current Frame will be 5.
2.2.1.1.1.1.7. Source¶
Reference
Name: |
Source |
Context: |
Video Sequence Editor > Sequencer |
Location: |
Sidebar > Strip |
- File
The directory and filename that contains the source file. When a file has moved this field can be updated instead of re-creating the strip.
- Color Space
To specify the color space of the source file of this strip. The color space for the Sequencer is globally set in the Color Management panel of the Render Properties but you can deviate from it here. Most of the imported clips however have a sRGB color space. For Scene strip it can be beneficial to set the color space to Filmic.
- MPEG Preseek
Preseek is used to decide for the fastest way to decode a specific frame. It should match the Group of Pictures (GOP) size of the video; see Bryan Samis blog for an in-depth explanation of GOP. Finding the GOP-size of a video however, is not a trivial thing (see the above link for a manual approach). Setting preseek to a high value like 200 could negatively impact seek performance. Therefore it is limited to max = 50 where it makes little to no difference. So, in practice, you will not use this option very often.
- Stream Index
Some video files can contain multiple video and audio streams; for example, two surveillance camera outputs. However, most video players cannot simultaneously preview both streams next to each other. With this property, you can select the stream to preview (but again not both at the same time). Of course, you can add the same movie strip twice, set the stream index appropriately, and use the Picture-in-Picture approach from above. For the inverse: see section Extra tools > ffmpeg to merge two video channels into one container.
- Deinterlace
Most (old) TV broadcasts use interlaced scan technology. A HD (1920 x 1080) image is split in half (two fields) and the odd and even lines are transmitted separately, one after the other. So, there is a very small time delay between the two fields. Most modern TVs and computer screens work with Progressive technology where the full image is transmitted at once; line per line. Viewing an interlaced image/movie on a computer monitor shows interlacing artifacts such as saw teeth or combing.
Figure 10 shows an interlaced (left) and deinterlaced (right) still from a movie. Perhaps you have to zoom in to see the artifacts. In the movie, the blue square is moving. Interlacing artifacts are more noticeable with movement because the scanned fields are not taken at the same time (one after the other!). And with movement, this becomes more apparent.
You can download the test file from figure 10 from the Grass Valley Developers website.
- Resolution & fps
Dimension (width x height in pixels) of the active strip image output. Frames per second (fps) of the active strip.
These properties are not not editable and should preferably match the settings of the project (see see Organize > Import section ).
Note that scaling the strip will change the visual dimension of the frame but of course not its resolution.
2.2.1.1.1.1.8. Custom Properties¶
Reference
Name: |
Custom |
Context: |
Video Sequence Editor > Sequencer |
Location: |
Sidebar > Strip |
Custom properties are a way to store your own metadata in a strip. For example, you could use it to store some copyright information of a strip or instructions for further post-processing. More information can be found in the data-blocks section.