Chroma Kee

I’ve always found that I learn far more about a piece of software through playing rather than working and that’s certainly been the case with the offline video editing program Kdenlive. I’ve also found that when you have a definite goal in mind then “the software doesn’t do that” no longer becomes an option and you use the software far more inventively in order to achieve it.

And so it proved when I decided, using Flash 8 and Kdenlive, I’d try and recreate the title sequence for ITN’s News At One. I first saw this title sequence back when the programme was called First Report – that was before the soporific Aussie soap The Sullivans pushed the programme to its more familiar one o’clock slot.

Here are the original News At One titles that someone culled from TV Ark:

As you can see, it’s quite a complicated title sequence and people who know far more about this sort of thing than me have noted how hard it would have been to achieve in the 70s. They’ve always been very, very good technically at ITN.

Although I haven’t got a clue how ITN did it, I decided on the basic approach of having two layers of video in Kdenlive for my version.

The bottom layer would be the typing hands (or paws in my case – thanks Lionel!). These were shot on my little Canon Ixus camera and then put through the Kdenlive “Threshold” filter and coloured with, of all things, the MSU Old Cinema filter.

Lionel touch-typing

The top layer of video would consist of the zoom out of the Houses of Parliament’s clock tower (replaced by the block of flats where I live) which fades out, and the photo montage of odd people and drab places (replaced by pictures of my daughters, their toys and things in the square outside).

Creating the montage for the top layer was straight forward. I loved the fact that, on the original, the outlines around the images were all different widths, and some of them were even bent out of true. Even the top of the News at One logo was at an angle!

Creating the montage in Flash

The problem I faced was how to merge these two layers. My first thought was to use a Chroma key, but this gave me all sorts of problems and some rather nasty digital fringing that looked like anything but 70s television.

Click to enlarge

What I really needed was to be able to export transparency from Flash into Kdenlive – and it turned out that I could. The first step was to export the sequence out of Flash 8 as a PNG sequence at 24 bits per pixel with alpha channel, like this:

Getting transparency from Flash to Kdenlive

Then I could import the PNG sequence into Kdenlive, and use a Composition transition to knit the two layers together.

Click to enlarge

PNG sequences are the best thing ever invented for my work – everything can use them perfectly and they mean that I can transfer work between packages without losing quality or suffering odd effects.

So, here’s the finished sequence:

Now I understand keying properly I can do loads of things I thought I simply couldn’t do before. And all because I thought I’d do a little sequence to make my daughters laugh.

PNG to PNG Sequences

When I’m putting videos together, one thing I often find handy is being able to turn a single PNG image into a PNG sequence. That means I can import the resulting sequence straight into Avidemux or VirtualDub and to add filters to it.

#!/bin/bash
#
# Convert png file into a png sequence for video use

for i in {1..150}; do
j=$(printf "%04d" $i)
cp "input.png" "pngs"$j".png"
done

The Bash script above does that – it takes a file called input.png, and creates copies of it to make a PNG sequence of 150 frames numbered from png0001.png to png0150.png.

Happy St George’s Day

As I’m English, I thought I’d celebrate today with a video of my choice – my daughter speaking very good English even though she hasn’t been there since she was eighteen months old:

But I suspect people reading this blog will be more interested in the first part of the video.

I’ve been playing with doing more work in widescreen in the past couple of years. The reason is simply that watching pillar boxed stuff annoys me. I always used to hate those letterboxed films they showed on BBC2 for film buffs with magnifying glasses when I was a kid. So as 4:3 televisions are becoming harder and harder to find and I have a 16:9 monitor I’ve been animating everything in 16:9 for the past couple of years – perversely I’ve got DVD’s full of 16:9 presentation I’ve done in Flash from the 50s, 60s and 70s.

Flashy house building – Click to Enlarge

I animated the Playschool house animation from scratch in Macromedia Flash 8 and the BBC 1 South West globe in Swift 3D v5.0 – both at 720 x 576 for use as anamorphic 16:9 in Adobe Premiere Elements. The video was filmised in VirtualDub using the MSU Old Cinema plug in. I hope to have an example Flash animation of some kind filmised using OpenShot on GNU/Linux (I’ll probably be on Fedora 13 by then) to compare this against soon – the options for filmising your work on this look very promising indeed.

The Whole Wide World in Swift 3D version 5

The BBC1 South West globe was animated at 50 frames per second, and I used that to create an interlaced 50 fields per second file in VirtualDub. The colour was keyed on in Adobe Premiere Elements. The announcement is actually Peter Macann (former Tomorrow’s World presenter) and was from BBC1 South in Southampton.

The BBC1 caption was traced in Macromedia Flash 8 from a scan of the original BBC1 globe caption from BBC Graphic Designer Bob Richardson.

The Playschool music (the definitive Paul Reade version) has a voice over from the magical Brian Cant and the day is given to us by Australia’s finest singer, Don Spencer.

Starting Science credits

Here are the finished filmised “Starting Science” credits, which I discussed in my previous post here.

After animation was created in Macromedia Flash 8:
  • the .swf was loaded into Premiere Elements 4.0,
  • gate weave was added using the Active Camera filter,
  • the video was exported from Premiere Elements as an .avi using the HuffyUV codec
  • then imported into VirtualDub
  • the VirtualDub blur filter was added
  • the MSU Noise Generator filter was added
  • the MSU Old Cinema filter was added
  • the video was exported from VirtualDub as an .avi using the HuffyUV codec
  • the video was turned into a .flv using the Flash Video Encoder (OnVP6 codec)
  • the video was uploaded to YouTube.

The credits are silent, as I don’t want to upset Ron Geesin, but with music it’s fantastic!

Film on a budget

I have done a lot of Adobe Flash animations of television graphics from the 50s, 60s, 70s and 80s. I have also just bought a copy of Adobe Premiere Elements 4.0, so I can experiment with video editing. I am really happy with Premiere Elements. In fact, there is only one thing I cannot do with it: make my graphics look like they are on film.


Stuart Kettle’s Starting Science robot, which I created from scratch in Flash, then filmised in VirtualDub. Click on it for a better look.

Television graphics in the 70s were often broadcast from 16mm colour film. Graphics on film have a special “look”:

  • colours change
  • edges become softer
  • you may see dust or scratches
  • the picture may bob up and down or look grainy

Input video from Flash (encoded with Huffyuv) on the left, VirtualDub output on the right. Using VirtualDub filters means I can work with colours which are not “video safe” or sharp edges in Flash and not worry about how they will look.

If you want to make video look like old film, there are expensive plug-ins available that do a fantastic job. I can’t afford them, and I don’t like using cracked software. Most video editing programs come with a free old film plug in. I tried Adobe Premiere Elements’ free “Old Film” plug-in. It was rubbish! So I needed to find another way – one that was cheap.

Before you start, you need some video. To get animations out of Flash and into a video format I use a codec called “HuffyUV” – it’s a free lossless video compression codec. After you install it, you can export an avi from Flash using the “Export Movie” option in the File menu and select HuffyUV as the codec.

Don’t forget to make sure the Flash Files are 720 x 576 at 25fps for PAL. I do my animations in a symbol that is 788 x 576 for PAL 4:3 or 1050 x 576 for PAL 16:9. I then squash the animations on the main stage for export horizontally to 720 x 576.

To get video out of Premiere Elements 4.0 to filmise it I also use HuffYUV. The DV format that Adobe suggests you use to export video you want to put back into Premiere Elements is no good for this job. It is very compact, but it will cause all sorts of nasty colour bleeding and make your end result look like a nasty VHS recording done somewhere with poor reception. To export a video as an .avi with HuffYUV from Premiere Elements you need to use “Export” from the File menu. Don’t forget to tweak the settings to export “Progressive” – you don’t need fields for film stuff!

Now we have some video we can filmise it. On the internet I found something called the MSU Old Cinema filter for a program called VirtualDub. I had never heard of either before, but I think they are both fantastic. Here’s what I do with them.

In the MSU Old Cinema filter, I always start by selecting the “Modern video with yellow shift” preset, and then clicking on “Advanced”. This lets me play with all the filter’s settings.

In the “Settings” group I always uncheck all the boxes apart from “Show Noise” and “Random Noise On Screen”. This will give you “speckle” and “sparkle”. “Speckle” are bits of dirt on the film, which appear as black dots. In the 1970s film was broadcast that was covered in dirt! If the dirt was on the negative, then it would appear white on screen – this is “sparkle”. I never touch any other filter setting now apart from the Colour Correction.

I have a lot of off-air recordings of television from the 1970s. I have found the 16mm film on them suffered from something called “Yellow Shift”. This means that blue has faded much more than red and green, so you end up with slightly yellowy look with greyish blues. However, I have found the “Yellow Shift” Colour correction in the MSU Old Cinema filter doesn’t get this look quite right. In particular, it gets pinks wrong.

That means I usually use “Manual Linear” colour correction instead, and play with the colour sliders myself. To match the appearance of a 1979 print of the ATV colour zoom ident, I found Strength 60%, Red 186, Green 186, Blue 126 worked fine.

To get the look of a 1980 edition of ATV’s “Starting Science” then I found Strength 60%, Red, 102, Green 114, Blue 30 worked, but I needed the VirtualDub built-in Brightness and Contrast Filter too. I set the Brightness to +7 and left the Contrast at 100%.

For a really faded look, to match a 1975 edition of Granada’s “A Place To Live”, I found Strength 80%, Red 171, Green 107, Blue 42 worked well.

If the yellow cast is too strong or your footage looks too dark with these colour corrections you can reduce the Strength setting.

To make the film look “grainy”, I use another free VirtualDub filter. It’s called the MSU Noise Generator. Normal Distributed Noise with Y strength 3, Cb strength 3 and Cr strength 3 is a good start, but noise varies a lot from film to film.

If you add noise it not only makes your end result look more realistic – it can also hide defects in your source material. It is particularly good for breaking up gradient fills, which often look bad on video.

Film has softer edges than video, so it is important to soften the edges of anything you want to sell as film. To soften the edges I use the VirtualDub built-in “blur”” filter. However, you must make sure this appears before the other filters, so you don’t blur the grain or scratches.

If you are working in PAL 16:9, you can right click on the video input and output panes in VirtualDub to change view them at the correct aspect ratio.

To export the video from VirtualDub, I also use HuffyUV. If you press Ctrl-P you’ll be able to change the video compression method.

So we’ve got the grain, we’ve got the softness, we’ve got the faded colour and the speckle and sparkle and the scratches. All that’s left is the gate weave.

Gate weave is the gentle bobbing up and down that film used to do. The MSU Old Cinema filter and the Elements Old Film plug in both really overdo this effect. However, there is a way of getting a realistic gate weave effect. To do this I use the “Active Camera” plug in that comes with Premiere Elements 4. If you add this effect to a piece of video, changing the settings to Horizontal .33, Vertical 2.0, Crop 5, Rate 50, Jitter 75 is a good starting point.

The MSU Old Cinema filter is not a perfect solution – the number of speckle and sparkle artifacts it has is limited and they look rather small on screen. It cannot do things like “hair” trapped in the gate. And I have to add the marker that shows the film is coming to the end of a reel in Flash. It would also be good if there were adjustable settings for gate weave and flicker.

The MSU Noise Generation filter does not make a totally convincing film grain either – MSU have written a proper Film noise plug but it’s for its paying customers only.

However, this is the best “free” filmising solution I have found, and it can produce some very realistic results. Try it yourself!