FLOSS Manuals

 English |  Español |  Français |  Italiano |  Português |  Русский |  Shqip

Introduction to Video Editing With ShotCut

More Editing Basics: Edit-Friendly formats, Intro Titles and Floating Captions

We now consider the tasks of adding an introductory title screen and on-screen captions to our videos.  While we could continue working with our Water-Wonders-of-Iceland example from the previous chapter, it might be better to take up a very different kind of video as an example--if only to make the point that most of these basic editing operations will be equally useful to a wide range of video genres.  Here I will work with a video screen-capture segment I recorded as the general introduction to a video-tutorial series for building and coding a certain 3D gaming scenario.  These details are not particularly important, for our purposes, except by way of explaining the specific titles and captions we'll be looking at; this could equally well have been a tutorial on how to play the guitar intro to "Stairway to Heaven," or how to tie a Windsor knot.  Any such tutorial would probably benefit equally from titles and captioning.

We will begin, then, by Opening in Shotcut a segment of 'raw' video, of just over a minute duration, which I captured as part of the overall introduction to my tutorial series.  To record this and other video for the series, I used one of the countless free video-capture tools now available: in my case the tool was a web-based screen video recorder from Apowersoft,  which I chose because it had sufficient features for my purposes but was still extremely light-weight, and thus didn't compete for resources with the very resource-intensive Unity3D engine.  This might go without saying, but the best screen recorder out there won't help you much if it bogs down the software you're trying to demonstrate.  This also implicitly answers another question that some readers might have: why use two different software tools for screen-video recording and video editing, when a number of tools promise the ability to do both?  The reality is, first, that very few free tools do a truly competent job of both, and free is presumably a consideration if you're read this far in a Shotcut manual.  Just as importantly, though, the tools that do a competent job of both, free or otherwise, are in my experience massively greater resource hogs than something like Apowersoft or even many app-based screen recorders; so unless you have really massive CPU and RAM available, good luck trying to screen-record a demo of a software tool like Unity, or any authoring tool by Adobe, or just about any software made by Microsoft.  A major reason Adobe and Microsoft products are such bloated beasts to begin with--and so expensive--is that they try to be all things to all people.  Function-targeted, and where possible open-source, software is always going to be easier on your machine as well as your budget.

Apowersoft, then: this tool outputs its video as mp4, which as we have seen is one of many formats that Shotcut works with.  However, an interesting thing happens when I go to Open my raw "OverallTutorialIntro.mp4" in Shotcut.  The file opens and begins immediately playing in the main Source window, as we'd expect; but directly in front of that I get a pop-up window:

What has happened here, as the text above indicates, is that Shotcut has assessed the file I've opened and concluded that it isn't in the most "edit-friendly" format: specifically, this one was recorded by Apowersoft at a variable rather than fixed frame-rate (unlike our Iceland iPhone video clips, which were all at a consistent 30 frames per second).  This does not suggest a shortcoming of Apowersoft but rather a sign of some intelligence: any smart screen-capture software will devote more frames-per-second to movement on the screen, rather than moments when the screen is stationary, as a way to minimize the size of raw screen-capture videos.  But Shotcut prefers to work with segments in a consistent frame-rate.  So it has simply offered to convert my video into a particular kind of .MOV file that it can work with more easily.  I could refuse the offer, hit "Cancel" and take my chances with the raw mp4; but instead I'll take up Shotcut's offer and hit 'OK'.  As soon as I do, a standard explorer dialogue opens, allowing me to choose a name and saving location for the edit-friendly version of the file:

By default, Shotcut has selected a name (and location) which is identical to the video file I chose to Open in the first place.  Even accepting this default would not result in overwriting the original file, since the converted version is in a different format (in this case it would have a .mov rather than .mp4 file extension).  Nevertheless, I will append "_friendly" to the file name to avoid any possible confusion with the original. 

When I now hit Save, the conversion process will be kicked off; this process is not instantaneous but may take seconds to minutes, depending on the length of the original file.  The process will therefore be queued as a Job and indicated in the Jobs Panel, which will open to the right of the main Source window, showing this job with a progress indicator, as seen here at 10%:

When this conversion Job is finished, it will display the total job duration (this one took 4:53) and the icon will also turn green, as shown:

I can now double-click this item in the Jobs panel, and this converted .mov file will replace my original mp4 file in the Source view (what we're seeing there is the UI of the Unity3D tool that I am demonstrating in this tutorial).  As we saw two chapters ago, if I now want to incorporate this file into my project as material for editing, I will need to first add it to the Playlist, and from there to the Timeline.  Below, an edit-friendly version of my Tutorial Intro clip now resides on its own track in the Timeline:

As with the waterfall clips we opened in the previous chapter, here too we can see the wave-form of the audio associated with this video.  Here, though, that wave-form takes a much more distinctive and articulated shape: this is because what we are seeing is the voiceover narration I recorded along with this raw screen capture.  Although this lies outside the focus of the present chapter, I should note here that these distinctive wave-form shapes (as visual representations of the actual audio signal) are extremely useful for purposes of editing.  If you are going to trim away video segments, or intercut between segments, you'll typically want to do so at some logical pause in your voice narration and not in the middle of a sentence or a word.  Moreover, even the most disciplined voiceover narration almost always contains some unwanted pauses, stammers, filler words like "um" and "you know", or simply moments when you backtrack and rephrase a point.  These can be precisely edited out of the audio (as I did for all segments of this finished video tutorial) by splitting at precise points around the wave-forms you'd like to omit.  We will explore this in our first chapter on Audio Editing.

For now, we'll assume that the voice narration is already perfect, and this clip is ready to serve as the general Introduction to my tutorial series.  Or at least as the beginning of one: this clip is only a bit over one minute duration, and in fact it took me three or four raw 'takes' to cover all of the various points I'd envisioned for the general series Intro.  These various clips were then imported into Shotcut, assembled onto a single video track, and cut and spliced together until I had a single continous sequence to my satisfaction.  But that process was in principal identical to the one we saw in assembling the 'Water Wonders of Iceland' video in the last chapter, so there's no need to reproduce it here.  What this segment does still need, however, is an introductory text title that will display visually for 4-5 seconds before the screen-capture and narration begins (I could also include a brand logo image with the intro title if that were appropriate).

There are several different visual styles one could follow for such an intro title, each of which should be familiar from Youtube videos and other short films.  One would be to open with the visual image of the video itself (typically the very start), with an introductory text caption superimposed over it for 4-5 seconds before fading away.  Here the video background itself could be moving -- ie, it could be the opening 4-5 seconds of the actual raw video-- IF that much video was available before any voiceover narration or other recorded sound began to play.  But if, as in the present case, that much introductory footage isn't available, we can simply use a 'freeze-frame' of the first available video footage, extended to whatever duration is necessary, as the background for our text introduction.  If I wanted to implement this approach, I would begin by zooming out my track to see greater detail and then stepping through the opening frames, looking for a moment prior to the start of the voiceover and which shows no visual motion on the screen.  Below I have identified a good candidate segment:

Here I have made two splits (then moved the Playhead just to the right of the second split, so that it is visible). Between these two splits is my target segment, with no audio yet (as can be seen in the waveform) and the screen visible but with no cursor or other motion.  The red-highlighted segment to the left of my target segment, which is the actual beginning of my raw recording, shows a brief glimpse of my screen-capture software, so I will delete that out.  To do this I will use the Lift control on that segment, not Cut or Delete, because I want to leave a gap in that spot to work with.  After trimming away the first segment, I hover my mouse over the left edge of the second (target) segment, and stretch it as far as it will go to the left, filling the gap and making that segment duration longer, like so:

The video now begins with a 'freeze-frame', which actually still comprises several literal frames but for all intents and purposes is static.  But it's still less than a second in duration -- not nearly long enough to serve as an appropriate background for our title.  We already know a precise way to make that segment longer, though: I can select it, go to Properties (which will automatically load the properties of that segment), and change its Speed from 1.000x to any fraction thereof.  Below, I've changed the speed to .210x, which yields an opening segment of a nice multi-second duration: 

Note, again, that resizing your segment this way, rather than maually by dragging it, means that all following segments are automatically shifted to the right, which can be very useful especially if you have multiple separate segments.

Now, IF I wanted to use this superimposed visual style of opening title, what I would do at this point is apply a Text Filter to the opening segment, sizing and positioning the text appropriately as it appears on the Source screen.  We will see what this kind of operation looks like shortly.  As it happens, however, I want to use an alternative visual style: a (white) text intro that appears initially on a black screen, sustains that look for 4-5 seconds and then dissolves to the actual moving screenshot and the start of narration.  This has a nice dramatic effect and is also less cluttered visually: my white Title text will appear starkly against the black background, whereas withe a superimposed title over the video image you need to choose a text color that will stand out against any and all colors in the screen capture itself.  

What we want to do, then, is to replace all (or most) of our stretched-out 'freeze-frame' intro segment here with a static image which will a) show up as black in the finished video and b) accept a text filter for our Intro text.  For this we could use a pure-black jpeg or png image, but just as good for our purpose here -- and much better for our next purpose -- will be a transparent .png.  Here I'm using a 1300 x 700 px transparent png I created in Gimp (an open-source alternative to Photoshop); one could use any number of image-editing tools, or even Powerpoint, to create such an image, or else probably find one in a Google image search. Just make sure the image is entirely transparent across its surface. Here is the image imported into my Playlist:

With this item selected in the Playlist (it will be highlighted in blue, as shown above), I can now transfer it to the existing V1 video track in the Timeline.  I want it at the very beginning of the track, so I make sure my playhead is at the beginning point, and then use the Paste control (the clipboard icon) of the Timeline.  My transparent image is now inserted into the V1 track at point 0, with all subsequent segments shifted right:

By default, Shotcut assigns static images like this a duration of 4 seconds; we can change this to any duration we need in the Properties panel for this image, but in fact 4 seconds is very close to what we want.  Notice that the 'freeze-frame' segment we created above is still in place, following the image; for now we will keep this, because we'll want to use some of it for the dissolve transition from the intro screen to the video proper.  

First, though, it's time to add the text introduction itself, by way of a text filter applied to the transparent image. With that image item still selected in the Playlist, we open the Filters panel:

This screenshot shows both the Filters panel (still empty) and the Playlist panel, to make the point that there are "+" controls for both panels.  To add a filter to the selected transparent image, we want the "Add a filter" + button from the Filter panel controls.  Hitting this 'add' button will, by default, open up a list of "favorite" filters:

This list of 'favorite' filters includes some popular filters for altering the video image, the audio track, as well as for adding html overlays.  But this is only a small sub-set of the vast array of available filters, which can be searched /sorted differently using the buttons now visible at the bottom of the Filters panel.  We will select the second (screen) button to get a much longer, alphabetized list of filters related to altering visual aspects of the video display.  What we're after is the Text Filter, near the bottom of this list:

If I now double-click on the Text filter in this list, Shotcut will add this filter to the selected Playlist item (the transparent image) and will simultaneously open a dialog exposing various important properties of the Text filter:

The most important property of the Text filter is, of course, the text itself.  By default, the text is set to a timecode field, and to a very large white Verdana font.  The effect on the actual video display is now shown in the main Source panel (right now we are at the 00:00 moment of the timeline).  We can replace the #timecode# keyword with text of our choice; here we will enter our chosen title: "Basics of Automated Tower Defense in Unity3D".  We can then click on the button labeled "Verdana" to invoke a dialogue allowing control of all Font properties:

We will keep Verdana font face, but change it to bold, and allow the font size to be regulated by the full size of the text area on the screen.  After a bit more manipulation, our result looks like this:

Notice, first, that with a Shotcut Text filter it is necessary to add your own line breaks to the text (otherwise it would stretch across as a single line of text).  From the controls near the bottom of the Text filter properties I have also chosen a "Horizontal fit" of Center (this really means center-aligned rather than right- or left-justified), and I've chosen my text to be centered vertically as well. But note that this means centered within the text field, not the video screen as a whole.  Initially these two are identical; however, the text field has a white border and familiar drag/resizing points at each corner, and in this screenshot I have already dragged the lower right corner point inward to make the text field smaller than the full screen, so we can readily see the difference.  Of course now the text is no longer centered on the screen, but at this point I can move the entire text field wherever I want on the screen by dragging it from the circle in the center.  After a bit of dragging and some more resizing, I have the text positioned on the screen to my satisfaction:

Note that this graphic is only displaying in the center window because, in the Timeline, the playhead remains somewhere over the transparent image segment in the V1 track, which is the segment to which I have applied the text filter.  As soon as I move the playhead on from that segment, the displayed image will abruptly change from the white text/black background to whatever is next--in this case the 'freeze frame' static image from the beginning of the video, which is the next segment in the track.  This is what would happen when played in real-time as well.  So while the 4-second opening Title is now pretty much the way we want it, we need to do something about the abrupt transition.  But we already know how to make this a nice dissolve transition instead: using our mouse in the Timeline, we simply need to drag the Intro image segment a bit to the right (or we could drag the second segment a bit to the left), and the overlap between them will create a dissolve, of that duration.  The V1 track in the timeline now looks like this:

Here we can see the familiar cross-pattern indicating the dissolve transition between the Intro title and the opening 'shot' of the video proper.  As before, my dragging has left a blank segment to the far left of the title image, which I can right-click/'remove', and everything else will slide over to the zero point.  Now, if I were to drag the playhead back over the exact center of that cross pattern (ie, the mid-point of the transition), I would see that the intro title is dissolving nicely into that opening shot:

Notice that the screenshot itself (showing the UI of the Unity3D authoring tool) is almost entirely visible at this point, in mid-transition, even while the white title text can still clearly be read as well.  This is because, while the white text is now at 50% opacity, its background has no opacity at all--because that image is transparent, not truly black.  It merely 'reads' as black to the video viewer (and it will in the exported video) in the same way that a gap left in the video track would read as black.  This effect is probably not crucial for the opening title--the transition would not look that different even if I'd used a black image--but it will be extremely important when we turn to our final task in this chapter: creating a superimposed text caption in a segment of moving video.

Intermittent on-screen text captions might be added to video for any number of reasons.  You might want to visually label some particular item or person that is briefly visible in a video scene (remember that Shotcut text filters can be positioned anywhere on the screen that we want them); you might want to label or name the scene itself (a landmark or geographic location, event, person, etc); or you might want to supplement or emphasize a point of voice-over commentary with some visual text.  I found myself doing the last of these at various points in my Unity3D tutorial.  For example, in a later segment of what would become part of the overall Introductory video, I was demonstrating what the game actually looked like from the player's perspective: flying a jet that had to attack the Tower Defenses of the title.  Here's a bit of screenshot showing the Player jet taking off (as seen within Shotcut's Source window), before the jet turns to attack the towers:

Now, this entire video tutorial series was about creating and coding the anti-aircraft towers themselves so that they function as a formidable automated defense system.  For their target I just needed a player-controlled aircraft, and the one I used was largely a stock object, with stock flight-control code, provided with the Unity tool itself. I made this point clearly enough in the voiceover narration, but felt it worth emphasizing further with a text caption that would appear at this same point in the demo.  How would we implement this?

In fact we've seen nearly all of the pieces we need already.  We know how to add a text filter to a segment of video track, and we know how to define a specific segment through cuts or 'splits' at the start- and end-points.  We know how to zoom a video track and 'walk' the playhead slowly along, to choose exactly where to place those start and end splits (based both on the video's visuals and on logical start- and end- points in the accompanying audio track).  In this case I've added two splits in my video of the flying jet, creating a brief, 4-second segment of the jet demo exactly where I want my disclaimer caption to appear:

Now, it would be possible at this point to add a text filter directly to this video segment -- as we've seen, we could control the text caption's size, font style and color, as well as its exact position on the screen.  But if we did that, the text caption would appear and disappear abruptly, as the playhead passed into and then out of this specific segment of the track.  We all know from watching videos that good on-screen captions fade in and then out, so how to accomplish that effect?  Could we solve this with a dissolve-transition at either end of this segment?  Not really, because what would be dissolving would be not just the text caption but the entire audio-video scene, which would very much disrupt what should be a continuous viewing experience.  Instead, we need to finally break away from the single-track focus of our editing so far, and make use of Shotcut's ability to 'composite' or merge together multiple video tracks.

The first thing to do, then, is use the Menu control of the Timeline toolbar (the farthest-left icon seen below) to "Create New Video Track".  This new track will now appear, empty, just above the first one:

At this point we could take several routes.  One would be to Copy the defined segment and Paste it in the new V2 track, directly above its original place (but leaving the original in place as well).  The result would look like this:

We could then apply a text filter to the duplicate segment in the V2 track, and also apply a fade in video and fade out video filter.  The challenge here (besides getting the two segments exactly synchronized) is that I have seen this method work sometimes, and not other times; the text caption does not always fade, as it should, when attached to an opaque background.  But the alternative route, which always works, is not to use an opaque background at all: instead of duplicating the defined segment, we can paste our blank transparent PNG image into the space directly above the jet segment.  To do this, we need to make sure the V2 track is selected, make sure the transparent image is selected in the Playlist, move our Playhead directly over the left-hand cut (which defines the start of the segment), and hit the Paste control.   The result will look like this:

It happens that the jet segment we defined is a bit more than 4 seconds in duration -- which is the default duration of a static image added to a project in Shotcut --so that, as we can see here, the image segment is initially a bit shorter than the jet segment beneath it.  We can remedy that either by going into the Properties of the image and lengthening it to match the jet segment, or 'manually' (which might be easier in this case) simply by dragging the right edge of the image segment until it matches the cut beneath it. 

Now, with that image segment still selected, we can open the Filters panel and add a Text filter to it, just as we did for the Intro segment.  I'm going to stick with Verdana bold and white--it shows up well enough against this background, and it's always good when possible to stay consistent in your fonts.  Unlike the title, though, I don't want to use the entire screen for my disclaimer caption; so I will size and position it accordingly:

This screenshot is tall enough to let us see both the two Timeline tracks and the resulting output in the viewer: because Shotcut is compositing or merging the two video tracks, we see the opaque lettering of the text caption in the top track, but also right through the transparent background of that segment to the scene of the first track beneath it. The caption appears to be simply floating there, over the moving video, for the duration we've chosen.  All that remains is to add a Fade In Video filter and a Fade Out Video filter to the image segment as well:

These two filters can be found in the 'screen' filter list we saw above (along with the Text filter -- they are just much higher in the list as it is alphabetically ordered). Again, we need to be clear that we are applying these fade filters to the 'video' itself--or in this case, to the transparent image segment--and not to the text as such.  It is doubtless on the Shotcut team's roadmap to add fade-in/fade-out capabiity directly to Text; but in the meantime, using a transparent image as our vehicle provides exactly the same end result.  At least it will as long as we remember one final step: we must check "Adjust opacity instead of fade with black", on both the fade in and fade out filters, in order to get the effect we want.  And we should note the other adjustable property of the Fade filters: Duration.  By default this is set to 1 second for the complete shift in opacity, from 0 to 100% or back. I find this a very workable fade duration for text captions, but one could choose to make it shorter or longer as well.  These fades, incidentally, are visually represented by the slanting shadowed areas we can now see in the Timeline, in the image segment on the upper track:      


Were we to move the cursor/Playhead to the center of one of these slanting regions, we would see in the viewer that our disclaimer text caption is faded to 50% opacity.  Meanwhile, nothing else about the flow of the video or audio changes: our text caption simply fades in, hangs there for just over 4 seconds and then fades away.

This process could be repeated to add as many text captions as necessary for a given video track--though actually, having implemented the first one, it would be easiest simply to Copy this top image segment, move the Playhead to a new location in the V1 track, and Paste the copy just above it in V2.  It isn't even strictly necessary to demarcate the video segment in the V1 track with splits: I just did that as a convenient way of marking where I wanted the caption to appear and disappear. (There is little downside, though, to using splits for markers this way: upon Exporting, Shotcut will merge all track segments, regardless of number, into a single continuous video file).  Of course, at this point the copied image will still have the original text caption we created before, but this is easily changed.  Having pasted the copy in its new location, one can then open the Filters panel again--making sure that the copy image segment is selected, not the original--and double-click on the Text filter to expose its properties dialogue.  The text can be changed to an appropriate new caption for this segment, and one can also resize or move the text area now as well.  

Simple floating text captions like these are by no means the only objects we can superimpose on running video segment, via filters.  Shotcut includes a 3D text filter as well, which to my eyes looks about as tasteful as 3D text in any other editor; but other filters allow us to superimpose static html shapes, static images of whatever size and screen position, or even inset windows with other video clips running.  Some of these latter possibilities will be explored in one of the Advanced chapters.  

Meanwhile, a final point to make here is that, having seen how to create a white-on-black Intro title, dissolving into the opening (initially static) shot of the video proper, we already know how we could add end credits to a video as well.  First, select a relatively static final segment of the video, and stretch it out enough to use for the transition; then Append to this whole video sequence another copy of your transparent-background image; then add a text filter to it (and/or an html filter if you have, for example, a brand logo image you'd like to display in the end credits); and finally create the dissolve transition, going in the reverse direction from the first one.  Or, if you don't want to dissolve directly from the video image to the credit text itself, you could add in a shorter blank segment of transparent-background image first, which will just read as a 'fade to black', and then a separate one to which you'd apply both a text (and/or html filter) and fade-in and fade-out filters.   As a purely stylistic choice, I opted to only create an end-credit effect at the end of my final video segment for my Unity tutorial series; but many Youtube tutorial series have an end-credit seqence at the end of each video.

There has been error in communication with Booktype server. Not sure right now where is the problem.

You should refresh this page.