I decided to share my experience with creating my first video (see result at http://blogs.sun.com/lubos/entry/upgrading_to_sun_grid_engine).
For some time now I've been planning to prepare a video about upgrading to the latest version of Sun Grid Engine. Since there are now 2 modes, I wanted to prepare 2 videos showing each mode. I started with the more interesting new mode that allows you to upgrade a cluster in a way that the old cluster stays running, while you create a new cluster with the same configuration. Advantages are obvious, it lets you install the new version with the same setup and easily transfer users to the new cluster or back in case something goes horribly wrong. My estimate (really a guess) was that preparing this short video would take up to 4 hours. Which seems a bit long for a 1-3 minute long clip at the time :-). But I wanted to try it.
As a background information, I've had some experience with video encoding and processing from couple years ago, when I had time to do such stuff. My plan was simple, create a video with subtitles (captions) without an audio and post it to my blog. I received a single recommendation - Camtasia. So I've downloaded a trial version which I wanted to evaluate, if it would be working I planned to buy a license. The trial is for 30 days that let's use all the features it has. After the installation everything looked quite well, it has a nice desktop recorder that let's you choose a window or part of the screen to record. So I've started with that. Since the installation and upgrade procedures are command line based, I've opened a terminal and tried to record few commands. Worked well, after you stop the recording you get an option to edit the recording at the Camtasia Studio. It looked also reasonable well - had support for captions, multiple-audio tracks, title clips and many other things. Really nice thing about Camtasia is that you could always click on learn more link on any feature you're interested in or don't understand. It opens a browser with a professional video tutorial about that particular feature. This gave me a pretty good idea how to use the features in many scenarios in a matter of minutes. Unfortunately being an advanced user I didn't click on those links until much later :-(.
Next I've prepared the environment (this took some time) and a short script what should the video be exactly about. What commands to execute, etc. and recorded that. Looked reasonable, so I've started with the post processing. Camtasia offers really nice highlighting features. I've basically played with the features and realized that I could add some more commands to the recording. So I've started again (no big deal). Recorded a new version and played with other features, when I needed to retake the video again since I wanted to improve it, I've created a short script (this time a shell script :-)) to save me some time if I need to redo it again. It executes a sequence of commands and waits reasonable amount of time between them. Recorder it again, replayed and noticed it's too quick, adjusted the times between commands executions and gathered it's time for the real thing.
Friday 22:00 (Take 1, recording length 0:56)
Seeing my time schedule did not work out. New plan - finish before hitting the bed. Recorded and started post-processing. Realizing I can split the recording to the clips. Cool just like a classical video editor. I split the recording into a screens each showing I action I want to show. This helps me navigate in the recording as I can clearly see when new screen starts when adjusting the length of the effects (easy to tell when they should disappear). After some time I'm hitting an issue - can't create an effect that would last a shorter than 1 second (don't exactly remember that was the effect). Again my actions are too fast. Trying to adjust the length of each clip, but fail miserably. There are actually 2 ways, but both require to redo a recording in my case.
Solution one: Adjust the clip speed.
Changing to 50% means this particular clip will play twice as long. Exactly what I need, BUT you have to compute the final clip length on your own, you will not see how it really affects the total length (especially annoying if you do this for several clips) until you render the final video, and most importantly it totally MESSES UP all following effects you have in your clip (all the hard work totally wasted). Let me give you a simple example:
You have 3 clips, each lasting for 1second and all have single highlight callout for it's duration (1sec). If you adjust the first clip speed to 50% the final video will look like this. Clip plays for 2secs with 50% speed showing it's hightlight callout as well as hightligt callout for the second clip. Clip number two shows the callout for clip number three and the last clip has no callout at all!
Clearly this is not what I expected. The callout duration should be bound to the duration of the clip itself. Clip 1 plays for 2sec and shows only the first callout and each of the following clips show their callouts. This also means that you cannot adjust the clip length after you've already created the callouts, because you'd have to re-time any consequent effects and since you don't know what is the exact length of the need clips it's basically impossible.
Solution 2: Adjust the duration of the clip itself by expanding the length of the clip on the timeline.
Yes, Camtasia supports it, but again it does a pretty bad job! If you actually do that it does not affect the clip speed but instead start playing the part of the next clip. Really weird behavior. So the final video replays sections you've expanded.
Really angry I'll have to redo the video and deciding to go to bed. New time schedule - finish by Saturday 4:00PM.
Realizing I've skipped a dinner.
Saturday 9:00AM (Take 2 and 3. Length 1:36)
Ready to start again. New ideas added to the script. Re-timing my script, recording again, post processing. Hitting same issue - too quick. Spending time doing analysis, re-timing the script recording again. Finally script length seems to be fine. Effects in place. Time to move to the subtitles. Looking back I just don't know why did I not tried the subtitles before timing the clip perfectly. So the subtitles or captions as called in Camtasia work rather well, but again there are few issues. The Camtasia let's you write a script (this time a script is the text for the captions) and when replaying the video you can click on each line saying when to appear. To achieve a perfect timing one has to do it manually and even with a 1 minute clip this can easily take 5-10 minutes. My problem was that I only planned to have the captions, but I didn't create the content in advance. First of all, it took a while to write it, but you also get limited be the Camtasia as it allows only 3 lines of text with a certain character width. The character width is basically how many characters can have on a single line. This is quite unfortunate because this number effects the font size and since it does not allow you more than 3 lines, it somehow limits the final number of characters of each line that would have been otherwise possible with the same font size. This in the end means you have to fit in 3 short lines or have much more work synchronizing the captions with the video. I've realized my video is, again, too quick for the subtitles. Need to redo it again :-(. Taking a lunch break.
Saturday 15:00AM (Take 4 and 5. Length 2:14)
Lunch eaten. Ready to roll. Seeing that working with clips adds more just more work and no benefits. I decided to create use the new recording as a single clip. When the script (captions) is finished I finally check the result. Unfortunately I again find that the subtitles are too quick. This time I was more cleaver I did just the subtitle synchronization, so I did not have to redo the effects. Creating take 5. Subtitles seem to be fine, adding effects, also fine. I'm done. Well, I now notice a title clip feature. You can basically create a intro and outro clips (or anything else you want). I'm adding a closing clip, works like a charm. However when adding the intro clip I again have an issue with the timing of the subtitles and all effects, they start in the title clip now :-(. If you change the duration of the title clip you can do the re-timing yet again! Realizing I could enhance the script (stuff that happens on the screen) to include the qmaster SMF service state.
Sunday 2:00AM (Take 6. Length 2:32)
Deciding to retake the video one last time. After all I already know how to do it. Reusing some of the timing from the previous recording. Writing a shell script that postpones the effects by certain time, so that they start 5sec later for example to solve the title clip length adjustment. Not really supported by Camtasia :-(. Everything ready and fine! Ready to upload.
Sunday 3:30AM (Uploading Take 6. Length 2:32)
I've decided to upload the clip to https://slx.sun.com/ as was recommended to me. Trying to upload the swf clip, but slx does not accept this format. It wants an AVI or MOV. Creating a MOV file. Trying to upload and failing. Slx requires an audio track! Yes it's written the first few lines in the FAQs, but who reads it before using a website :-). It's 4 AM in the morning and I'm yet again frustrated that I did not yet finish. Deciding to go to bed and create an audio track in the morning. After all I've already spend most of the weekend on it I might as well spend the morning adding the audio track.
Sunday 11:00AM (Creating Audio Track)
Seeing that Camtasia is not suitable for creating audio track only. Reverting to a Linux OSS solution. Using Audacity. When trying to record the audio I realize again that my video is too quick to read the subtitles and say them. Adjusting the content and after numerous retakes I get past the first 30secs of the clip. In the end, I've had to separate the clip to about five 30sec audio tracks. Spending some time postprocessing the result. Removing noice in each track. Joining tracks into one. Normalizing the track and finally making it slightly louder. Result is almost perfect with a $4 microphone. Adding the audio to the Camtasia. Realizing I need silence at the beginning for part of the title clip. Camtasia again does not help me here. I cannot just move the audio track, so that it starts later on the timeline. Going back to Audacity and simply generating a silence with appropriate duration. Adding it to the audio track. Now the timing is perfect. Creating a MOV and uploading to SLX.
Sunday 16:00AM (Done)
I'm finally done! What a relief. Now waiting what will SLX do to my file. Unfortunately the result is much worse that the original MOV file. Video is downsized, audio was converted to probably 22kHz (sounds much worse, with more noise), but there is nothing I can do about it.
I've learned a lot of things when preparing the video, check my next post about best practices when preparing a video. And if you still think that my video is too quick, ask yourself if you'd even finish in my place.
Sure I'd like to redo it and make it longer, but honestly I did not have a good experience with the Camtasia. I'd rather evaluate some Linux solutions like recordMyDesktop, Cinerella and Audacity.
I've learned that Camtasia is just not cut out of this kind of work. But it's supposed to be great if you do everything in one take, recording and audio. Then you just need to add some effects and you're done. My largest mistake was to assume that Camtasia is a full video editor with useful features to create presentations/recordings. It definitely lacks some basic features video editors have.
Also few weeks after I've finished a video I've found out that my OpenSolaris machine (certain build I used to create this video) had a bug that caused me so much pain and re-work. Remember I said I prepared a shell script to perform the actions in the recording? Well, the bug was that if you did sleep 5 (wait for 5 seconds) the system in reality waited only for about 2 seconds! If this was working correctly, duration of my first take would be about 2 minutes and the final result could have been definitely beyond 3 minutes! I guess that's what you get for using the best & latest :-).