Shotcut Tutorial 2: Adding text to VR videos and more
Welcome to the Shotcut tutorial part 2 where we'll be covering adding text to 3D VR180 videos, conversion to equirectangular and filters using this powerful FREE VR editing software.
This is a guest post by VR creator XR Stereo Video - most videos on his DeoVR channel are rendered in Shotcut. Check out his other Shotcut tutorials:
- Shotcut Tutorial 1: Beginner’s Guide to Shotcut (free VR video editor)
- Shotcut Tutorial 2: Adding text to VR videos and more
- Shotcut Tutorial 3: Exporting a thumbnail or 2D video from VR (currently reading)
- Shotcut Tutorial 4: Using filters
- Shotcut Tutorial 5: How to make high-resolution foveated 3D VR180 video
- Shotcut Tutorial 6: Motion-tracked tags for people or objects in AR
First, make sure that you are running the latest version of Shotcut. The latest version, 23.09.29 has introduced a very important feature, which is batch conversion to fixed framerate (editing friendly), a feature that others and I have suggested on their forum. Until now, you had to do this separately for every clip if it had a variable framerate - also, Shotcut even crashed if it was writing to disk while you were adding videos to the list for conversion.
Now the conversion is as simple as it gets - it is automatic and you just have to press the button, “Convert selected”. This saves time, even though the conversion is probably still slightly lossy in h264 due to the ffmpeg internal settings. Shotcut improves with each update, so hopefully soon it will also offer the ability to change the quality settings for this conversion.
With your new project, be sure to save the Shotcut project as “*.mlt” often, so that if something happens or doesn’t display correctly, you can reload the project.
Prepare Your Project
Add the video to the timeline, as explained in the previous tutorial. Your video should have the standard 2:1 ratio of 3D VR180 video and needs to have been through your VR camera’s included software for conversion to the standard VR format.
Rename the video track to “My 3D VR180 video”, by clicking where it says “V1”.
Create two new video tracks. You can either use the shortcut Ctrl+I or right-click in the “Output” column of the Timeline, select “Track Operations” and then “Add video Track”.
One by one, select the two new video tracks by clicking in the Output column on the left, in the “Timeline” sub-window.
In the Output column, where it says V2 or V3 click on the text and rename one of the two new video tracks to “Left eye” and the other to “Right eye”.
Chapter 1 - Text
Select the “Left eye” video track, go to the Toolbar, click on “Open Other”, then click on “Text”.
In the dialog box that opens, select “transparent” as Preset.
In the text box, write or paste your text.
Select “Simple”
Click “Add to Timeline”
Now overlayed on the video you have a white rectangle with the text at the top. In the Filters subwindow/ tab, the “Text:Simple” filter will be selected. At the Preset dropdown, you can select a transition, if you want to.
Set your font and color: check the “Use font size” box and click on the button in between to set your font size, here it’s Verdana at maximum size, 999.
- In the ”Position” text boxes, set 0 and 0 .
- At the “Size” text boxes, set your own video resolution in pixels, in this case it is 8192 x 4096 .
- Set “Horizontal fit” to Center and “Vertical fit” to middle.
Chapter 2 – Filters
Filters in Shotcut are tools that can do many types of transformations to video, audio, text, images etc.
For a complete list of video and audio filters, click on their respective buttons in the Filters subwindow/ tab and scroll down on the list. You also have a search box there.
Chapter 3 – Conversion to equirectangular
Now we want to morph this text correctly for 360/ VR180 and this is a chapter that is also used for adding 2D images or 2D videos floating in mid-air, not just text.
In this “Filters” subwindow/ tab, click on the “+” sign to add a new filter to the list, search for “360” in the Search box and select “360: Rectilinear to Equirectangular”. Now, the text will have a more curved shape and it will be smaller in size.
You have the options “Horizontal” and “Vertical” with which you set the field of view for your text, in degrees.
Chapter 4 - Finishing our text overlay to the video
Now, let’s move this text to the center of the left-eye video.
- Click on the “+” sign in the Filters subwindow and add the “Size, Position & Rotate” filter.
- Set position to MINUS one-quarter of your video width comma zero, in this case “-2048 , 0”
- Set the Size to the resolution of your video, in this case 8192 x 4096 .
For now, set the next parameters like this:
- Zoom at 100%
- Size mode “Fill”
- Horizontal fit “Center”
- Vertical fit “Middle”
- Rotation 0.0 degrees
Now, let’s add text to the right eye.
Go to the “Left eye” track, select the text clip, copy it with right-click or by pressing the “Copy” icon.
Select the “Right eye” track by pressing on it in the “Output” column. Right-click in that column and select Edit/ Paste or click the Paste icon to paste the clip into the “Right eye” track. This will paste the text along with all the filters that we’ve applied, but the text will still show in only one eye because we haven’t moved it yet to the other eye.
Align the clips for the left eye and right eye on the Timeline by clicking on the text clips and dragging them. Paste the text clip by pressing the “Paste” icon.
You should now have equal-length clips on the “Left eye” and “Right eye” tracks, aligned to each other.
Select the text clip in the “Right eye” track.
Now, let’s move the text for the right eye in the right eye.
Go to the “Size position & Rotate” filter and delete the MINUS sign at Position, so turn your negative number into a positive one, in this case turn -2048 into 2048. Now the text will appear for the right eye as well. If the text still doesn’t display in the other eye, SAVE your project as an “.mlt” file and then reload it.
Now let’s set the text distance of the text from the viewer, at this point it is at infinity, we want to bring it closer.
To bring the text closer to the viewer, you need to get the eyes to converge on the text, so we want to move the text on the left eye to the right and the text on the right eye to the left.
- Select the text clip in the “Left eye” video track on the Timeline.
- Then in the “Filters” subwindow select the “Text:Simple” filter.
- Go to the first text box in the “Position” field and change it to 100. This will move the text in the left eye slightly to the right.
You will want to make some test renders with various values to understand what the distance will be from your eyes when altering that number.
Let’s say we want to move the text on the left eye 100 pixels to the right and on the right eye move the text 100 pixels to the left, to get more convergence and so that the text appears floating in mid-air in front of us, let’s say 1 meter/ 3 feet. We have to calculate the new first parameter in “Position”, for both eyes.
- On the “Left eye” track, by going to the “Text:Simple” filter, add 100 for the left eye to that parameter, so basically in this case 0 + 100 = 100 . Replace 0 with 100. This will move the text to the right.
- Now go to the “Right eye” video track, select the segment and in the “Text:Simple” filter you will subtract 100, so now replace the same first parameter in “Position” from 0 into -100 .
- Now render the video by going to the “Export” subwindow/ tab. After selecting your encoding settings by pressing the “Advanced” button, click on the “Export File” button to render your video.
- Check in the headset that everything is OK about the video and estimate what this 100 number relates to in terms of distance from you, as 0 is infinity. More than 100 brings the text closer to you, less than 100 toward 0 brings the text closer to infinity.
For example, with this resolution of 8192 x 4096 and the other settings I’ve entered, the text appears to be floating in front at a distance of around 1 meter/ 3 feet, has a width of around 2 meters/ 6 feet and is around 30 cm/ 1 foot in height. So 0 is infinity in the distance and 100 is 1 meter in this case, for this resolution.
Experiment with other settings for other text sizes and distances from you and then you’ll be able to estimate what number to choose for the right distance that you want from you. You might want to write down what approximate distances relate to these numbers.
Save the project as an “mlt” file for this particular video so that you save your current project.
Chapter 5 - Saving the floating text template in order to use it again next time, reducing the workload
Now, let’s save the template for future usage on another video so that we don’t have to do all this work again every time.
- On the “My 3D VR180 video” track, select the video/ videos and delete it/ them, leaving an empty video track.
- Save this template in a place you’ll remember, to be able to easily use it the next time by just editing the text on the keyboard and drag-and-dropping another video.
- Go to the application menu on the top, select “File” then “Save as” and save the project as a *.mlt file, for example “3D VR180 floating text template.mlt”.
Next time you can simply drag and drop another video or other videos to the “My 3D VR180 video” track and just change the text for both eyes in the “Text:Simple” filter. You will also get a more consistent look by using the same settings.
Be aware that you can also copy and paste the text clips several times on the same track, so that you can add text in several places in the same video.
Success! Now you can enjoy having floating text in VR, for free in Shotcut!