Archive for the ‘Filmmaking’ Category (feed)

Android

The Android invasion at Google’s campus. HD version, download & comments here.

HV20s in the National Geographic Channel

The producer of a National Geographic TV show says that he used $150,000 cameras on the following police chase video, but if you look closely (look at 00:12), these are at least a bunch of HV20s mounted in the car. Their rolling shutter effect itself is giving them away too. Regardless, it’s great to see these little gems appear on TV. Discussion about it here.

In other filmmaking news, check this music video (password: andy), shot with the Nikon D90 DSLR. The best D90 video I’ve seen so far online.

H.264 encoder benchmark

The most widely used delivery codec today on the internet is h.264. There are at least 10 encoders out there from different vendors, but which one is the best? I tried MainConcept (via Vegas Pro 8.0c), SonyAVC (via Vegas Pro 8.0c), Apple’s h.264 (via the latest Quicktime Pro), and x264 (via the latest ffmpeg).

The maximum profile/level is used by the user interface offered. For example, if an encoder only supports the “main” profile I would use that, even if it goes against another encoder that supports the “high” profile. Same goes for CABAC and CAVLC — I used the best options an encoder or its UI can offer me. What I am comparing here is *end-user solutions*, not how the encoder itself could perform tweaked if the sun was black and the moon was red. The source file is a 4 second uncompressed Quicktime 720/30p progressive file. The machine used is my usual 630-P4 3Ghz with 3 GBs of RAM (more specs were given before in this blog). All encodings used 4 mbps CBR, 1 pass, at 720/30p. Quality is compared using a Perceptual Diff utility: I compared frames 1 and 41. Frame 1 is stationary, Frame 41 has lots of motion in it.

A note on Quicktime

I tested both the .mov and the .mp4 h.264 exporting options from Quicktime, just in case they are internally configured differently. Please note that a lot of the quality loss shown below for Quicktime, is because of the gamma change Quicktime applies to these files. In the past, you could go to the video track “properties” with Quicktime, and change the “blend” to 100%, in order to get the original color look back. I would have tested that kind of exporting too, but it seems that the latest Quicktime Pro has this feature broken (it used to work a few months ago with an older version).

So I had to do it manually: I played with a lot of gamma values on PaintShopPro and when I gave it a 0.75 gamma (making it darker, as it was supposed to be), the pixel difference went down to 18,826 and 31,794 points for frames 1 and 41 respectively (down from about 200,000 points). So if Apple stops adding that dithering crap by default, they can deliver a pretty good result by default. “Defaults matter” as users whine and whine.

A note on x264

I used the following ffmpeg switches for the x264 encoding: -me_method umh -subq 5 -coder 1 -trellis 1 -g 300 -qmin 10 -qmax 51 -qdiff 4 -level 41 -rc_eq "blurCplx^(1-qComp)"

I did try to further optimize the x264 encoding like this: -flags +loop -coder ac -refs 5 -loop 1 -deblockalpha 0 -deblockbeta 0 -parti4x4 1 -partp8x8 1 -me full -subq 6 -me_range 21 -chroma 1 -slice 2 -bf 3 -b_strategy 1 -level 41 -g 300 -keyint_min 30 -sc_threshold 40 -rc_eq blurCplx^(1-qComp) -qcomp 0.7 -qmax 51 -qdiff 4 -i_qfactor 0.71428572 -cmp 1 -maxrate 4000k -bufsize 4M, but the video file produced was not readable by Vegas’ MainConcept h.264 reader, and therefore I could not take PNG screenshots off specific frames in order to carry out the comparison. FFdshow and Quicktime could read the file btw. I don’t have all day trying to find needles in a haystack, so if anyone knows which switch creates the incompatibility, let me know and I will update the article.

Update: It’s the -g 300 that created the problem. I removed it, but the resulted video is not frame by frame identical to the original. Some of these “advanced” switches do something really nasty to the video in terms of timing. Because the frames I get at position 1 and 41 are not identical to the original, there can’t be pixel comparison.

Update 2: Now, get this. Using this pretty optimized command line: -me_method umh -subq 5 -coder 1 -trellis 1 -qmin 10 -qmax 51 -deblockalpha 0 -deblockbeta 0 -parti4x4 1 -partp8x8 1 -qdiff 4 -level 41 -rc_eq "blurCplx^(1-qComp)" I got over 55,000 pixels of difference. However, it seems that x264 uses a different gamma than the original file, just like Quicktime does so above. So when I changed its gamma using the “Color Corrector” Vegas plugin to 0.925, I was able to get the “true” quality that the encoder is capable of. And that comes out to 16085 for frame 1, and 19597 for frame 41. In other words, if both Quicktime and Ffmpeg were to fix their gamma problems, they are pretty much identical in quality (it’s just that x264 is way faster).

The tests

Conclusion

In terms of quality, it seems that Sony AVC and MainConcept are pretty good here. x264 would probably fair better too if some of their optimization switches are not so incompatible with some decoders or if it fixes its gamma problem. Nevertheless, x264 is the fastest encoder. Quicktime quallity suffers by default more than x264 because of its extreme gamma changes. If Apple wasn’t doing that gamma change by default, it would fair much better, as my gamma test shows. Download the OpenOffice .ods spreadsheet file here.

Color grading of the week, Part 2

This is a frame from my recent pampas grass video. The dramatic look was achieved using the Magic Bullet “Bronze” and “Aged” templates, a harsh “Sony unsharpen mask” (500/500), and the “Sony flare” plugin.

Before

After

In off topic news, JBQ bought us an acoustic guitar today. :)

The San Mateo Tree

A modern art rotating beacon at the San Mateo park’s hill. HD version here.

Let me know which video you like best, the one above, or the one on my previous post.

Pampas grass on windy afternoon

The beautiful pampas grass dancing with the wind Saturday afternoon. HD version here.

Categorized accessory guide for HV20/30

Casual shooting
* A steady tripod, specifically with a fluid head ($80)
* A few rubber bands (info, $0.01)
* A spacious camera bag ($10)
* Enough tapes ($20)
* An ND4 (0.6) filter ($20, outdoors only)
* A petal hood ($15, fotodiox.com, outdoors only)
* A gray card (for indoors shooting, $5)
* Optional: A bigger, extra, battery ($40)

Special Interest (macro)
All of the above, plus:
* Tiffen 2x, 3x, 4x close-up kit lenses ($30)

Documentaries
All of the above, plus:
* A Canon or Raynox telephoto lens (make sure it’s specific to HD, $200)
* A polarizer filter ($35)
* A UV filter ($20)
* An HD wide angle lens (e.g. Canon WD-H43, the Raynox 7000Pro, $200)
* A white balance gray card (usage, $5)
* A shotgun microphone with windscreen support (e.g. Canon DM-50, $150)
* A lavalier microphone (e.g. the Audio-Technica ATR-35S, $40)
* Extension cord for the lavalier mic ($15)
* Tiffen Universal Dolly (to be used only on thick carpet, $50)
* A shoulder bracket (e.g. B&H sells one for $45)
* A reflector (e.g. the Westcott 5-in-1 Reflector Kit, $100)
* A focus wheel (DIY, or from Irvb, $40)
* A lens cleanser, blower, and brush ($20)
* A rectangle hood ($20, fotodiox.com)
* A lens hood ($20)
* [Optional] The Tiffen HDTV-FX3 filter (low-contrast movie look, $200)

Music videos
All of the above, plus:
* A steadycam (e.g. $170 Hauge MMC, or a DIY $15 one)
* 1000W Smith Victor KT1000 continuous lights (e.g. from Adorama, $130)
* A portable CD player for lip-syncing ($70)
* A clap, to synchronize the audio with the sped-up lipsyncing in post processing ($10)
* A 35mm adapter (e.g. TwoNeilHD, or JAG35Pro, with a 5m GG, achromat & condenser)
* Bogen / Manfrotto 293 Lens Support with Quick Release ($70)
* Actual 35mm lenses (price varies)
* Lens hoods for the various 35mm lenses (price varies)
* An external monitor: the Sony DVP-FX820 (NTSC) or DVP-FX870 (PAL) ($180)
* A female-to-female RCA adapter to connect the external monitor ($8)
* A DIY monitor holder (instructions, $7)
* A second, cheaper, tripod to hold the monitor and the monitor holder ($20)
* External monitor Hoodman H900, for when shooting in sunlight ($100)

[Alternatively, you can mount the monitor and monitor holder on the main tripod itself like this, above the camera (instead of on a separate tripod), but you will need the Shrig Rig ($125) for that, instead of the suggested 'Manfrotto lens support'.]

Short films
All of the above, plus:
* Rode Stereo Videomic ($250)
* Rode Boompole ($120)
* Rode Dead Kitten windscreen ($30)
* A second person holding the boom mic (beg someone)
* Good 3.5mm headphones, to evaluate audio during shooting ($60)
* Tiffen Steady Stick, or this trick, to be used as a small crane ($100)
* A smooth dolly (e.g. a DIY one, or the Glidetrack, $170)
* Car charging kit for external camera, mic, monitor ($70)
* A power strip for battery charging on location ($10)
* A folding director’s chair for the shots not requiring camera movement ($10)

Full featured films
You don’t use an HV20/30 in that case, silly. ;-)

In any case, you always need a good plan. Plan ahead your shots by sketching, and leaving notes on a notepad about camera movement and composition.

Worley 35mm adapter test

After a few months since we got this 35mm vibrating adapter (with achromat) from Worley, JBQ and I tested it tonight. I am concerned about the extreme vignetting that I am getting. I can’t zoom in any more towards the ground glass because the HV20 wouldn’t focus that close, so I am not happy about that part. If you have any tips, I am all ears. I am wondering if I need a different ground glass.

Kids’ fascination with death

As a moderator of many channels at Vimeo, I get to watch a fair bit of HD videos uploaded daily by its users. One thing has stroke me in the last 8 months though, that’s pretty unsettling: most mini-stories written and directed by kids (and their friends), usually younger than 16 years old, are ALL end in death. Usually by a gunshot.

It’s one thing to watch 2-3 videos that are like that and let it be as “kids fooling around”, but when the huge majority of story-fied teenage videos end up with a gunshot, it’s very disturbing. Especially when to come to think of it from the point of view that the kids who actually do sit down and direct a story, are the most creative ones. So if the most creative of our kids are so violent and single-dimensional, what good are the rest ones?

I don’t want to sound like a 60 year old whining about the youth and where it’s heading, but truth is, there is definitely something wrong with the upbringing of these kids. I don’t believe that any kid from my class would have written such grim stories in that age. Also, please note that I am not against grim movies (heh, my own short story ends in death too), but there’s a difference between a deeper story that sadly ends in death, and a story written as a plot device for that death scene only.

Update: Here’s one today.

Vegas Tip: Re-timing your video

Special thanks to [too smart, too hawt] Sony engineer Dennis Adams for the tip!

This tip allows you to change the speed rate of your video at an exact percentage that makes it compatible with a target frame rate. For example, when you want to re-time a 24.00 video to 23.976 fps, or a 30.00 to 29.97 fps, or from 24p to 25p, etc. This method is how DVD makers export 24.00 fps film movies for PAL or IVTC 24p DVDs, for example. Also useful if your digicam doesn’t record in exact NTSC 29.97 (e.g. the Canon 5D, Kodak).

If you just drop a different-than-in-project-properties frame rate video in your timeline, your video will “resample” instead of “retime”, and that’s not what you want to do for media that they have similar but not exact frame rates. With this method there should be no ghosting introduced, and stretched audio will preserve its pitch. If you do see ghosting, “disable resample” for the media before step 10.

This trick should not be used with HDV PF24 or other pulldown-added formats. You need to first remove pulldown and have a “clean” progressive image before you do such frame rate transformations correctly.

1. In Project Properties set the ruler time format to “Absolute Frames”, and make sure that the ruler offset is 0.
2. Make sure that in the “Options” menu, “enable snapping” is ON and “Ignore Event Grouping” is OFF.
3. Set project frame rate to match the current media frame rate (e.g. 24p). You can use the “Match Media Settings” yellow button in the Video tab of the “Project Properties” dialog if it is not a common frame rate and you want to be exact (e.g. cheap digicams are never exact 29.97 or 30.00).
4. Place media at the very start of a video track (time 0).
5. Place cursor at the end of media. After Vegas 8, the cursor will snap at the end.
6. Hit Ctrl+G, Ctrl+C (Selection Start, Copy).
7. Set the project properties to the desired framerate (e.g. PAL 25.00)
8. Focus on the timeline again, make sure cursor is at the end of the media, and hit Ctrl+G, Ctrl+V (Selection Start, Paste).
9. Ctrl+drag right edge of media to new cursor position, snapping to it (like you are time-stretching it).
10. Now, export using a lossless codec (e.g. Cineform, Huffyuv) following your project properties as a guideline as to how exactly to export (e.g. for the Canon 5D 30.00->29.97 fps conversion, it would be 1920×1080, progressive, 29.97 fps, 1.000 aspect ratio).
11. Do the same (steps 1 to 10) for all your clips that need re-timing.
12. Import all the exported clips to a new project, and edit using project properties generated by the “match media” function for these new clips.

Once retimed, if you don’t want to transcode to an intermediate format in step 10, you are free to chop up and trim the clips and use them in your project as is. The step 4, about starting the clip at time 0, was to make the math easy, but clips can be moved later and will stay “retimed”. Just don’t time-stretch them even more (e.g. adding slow-mo) after using this method because they would lose their time frame sync (which is why I suggest you export to an intermediate codec first before really editing the retimed clips).

Hopefully, someone will step up to write a C# Vegas script for it, or even better, Sony adds proper support for it (by letting you edit the frame rate on the media’s properties dialog).

For DVX-100 users read here instead.