Tagged: video

First morning bike ride

Video recording equipment

I’ve been asked a few times last year about what equipment I use to record the NY Alt.NET meetings, most recently from Bill Campbell (@bill44077). So I thought I’ll share what I use and how I use them here for all to see (and googled).

Continue reading

Oceana Air Show video

When Leah and I were at the Oceana Air Show last September, I took plenty of photos of the aircrafts but I also recorded some video footage using my iPhone 4. Since then the footage has been lying on my hard disk, completely forgotten until last night. After spending couple of hours in iMovie ’11, here is the result:

Alt.NET Seattle ’09

Couple of weekends ago, I was at Redmond for the Alt.NET Seattle conference. As this was my second time there, I was no longer a Open Space/Alt.NET virgin. Just like last year, an amazing amount of discussions were packed into two full days. It was very difficult to pick which sessions to attend, having to decide whether to sit in a technical discussion or a meta-discussion. But with so many people recording videos, it is almost possible to not miss anything. We are not quiet there yet, but I am sure in the future every session would be recorded/streamed in some manner.
Ward Cunningham Keynote

Ward Cunningham showed us the work he did during his time with the Eclipse project on unit testing on a new level of complexity. He calls it SWIM and was implemented in PHP/HTML/CSS/JavaScript. He proposed to start a new open source project to implement the same concept in .NET. This create enough interest to spawn off a separate session later this weekend. (The test case runner was provisionally named Swim Runner. Personally I think it should be named Swimmer!)
Encouraging Open Source in .NET

Last year in Seattle, a similar session was convened to discuss how to create more buzz and interest in open source projects in .Net space. This year’s session centered around how we can get more open source projects to start, worked on, and succeed. Scott Hanselman hosted this session and asked what the community can do. Should Microsoft give Oren Eini a mail-order bride so he can finish LINQ-to-NHibernate? (Joke) What about OSS projects adaption by VB.NET developers?
.NET/Mono on Mac, Linux, and iPhone

Miguel de Icaza of the Mono Project hosted the session. He showed us the tooling and technique to develop iPhone app/game using the Mono stack on the Mac. He also demonstrated autogeneration of linux bootable image with pre-configured apps. (Side observation #1: only a few people at last year Alt.NET Seattle had iPhones, this year very few people has phones that *isn’t* an iPhone. Since this year’s event was just before MVP Summit, there are lots of MVPs there with iPhones! Just to show loyalty does not lie with brand but usability! #2: Less than 1/3 of attendees aware of Twitter last year, this year, very few are *not* on Twitter.)
Why so mean?

Hosted by Scott Hanselman. We explored why there is an perception of elitism in the software developer community. Why C# developers talk down to VB.NET developers, why average Microsoft developers are dimmed un-savable. This discussion led to a new session on Sunday about teaching, ALT.NET Pedagogy.
Oxite Retrospective #2

When the Oxite project (a sample blogging engine created using ASP.NET MVC framework) was put up on CodePlex, it created a huge controversy in the Alt.NET community. This is the second part of the retrospective on the project and the aftermath. One of the Oxite team member from Microsoft joined us on Sunday and gave his point of view from the inside.
When to use F#?

With F# being the first class language within the Visual Studio ecosystem, functional programming is gathering more interest. When is functional programming be appropriate for a .NET project? What type of problem would it solve better than plain old C#/VB.NET? Why not just use F# for everything?
Abstract Test Assertions

The ASP.NET MVC Contrib project relies heavily, of course, on TDD. An interesting problem arise when contributors want to develop using different unit testing framework. This session explored the idea of abstracting test assertions so that any frameworks can be used for the project, and what technique should be employed to achieve that.
I’ve recorded all these sessions on video for those who couldn’t attend. Scott Hanselman also streamed live via Kyte.tv for a number of sessions. My videos can be viewed on Vimeo, with the rest of video links on the Alt.NET wiki.

 

iMovie needs batch export

Since I was a teenager, I have been fascinated by the process of video production but purely from the technical point of view. The complexity of capturing video, editing (the process not the artistic element), video effects, etc. drove my curiosity. A few years ago I worked with someone who also really into video as well. He captured videos for lots of family events and learnt to use professional tools and techniques. While I get really excited as I discussed the ins and outs of the equipment and setup my friend has, I was definitively unable to find a reason to take video for personal use. Capturing family memory is great but who actually would sit down and watch hours upon hours of family videos, apart from the family themselves?

It all changed when I started organising the NY ALT.NET events last September. We decided that we would video tape each meeting so members who were unable to attend would have a chance to participate, albeit in a passive form. As a result, I started learning to use iMovie ’08 as a tool to process approximately 2 hours of video from each monthly meeting.

When Apple rebuilt iMovie from the ground up for the ’08 version, lots of complains were raised because many features from iMovie ’06 were dropped. What the user gained, however, was a much simpler user interface that makes editing movies a snap. Without any preparation and little learning time, I was able to import, pick video clips, add title and transition, and export videos within minutes. Literally. And the new version iMovie ’09 added new features that were missing from iMovie ’06, such as Precision Editor, themes, more transitions, etc. I especially love the Precision Editor because I can easily control the entry and exit points of each clip with ease.

But, and there’s always a but, all these great time-saving features come to nothing when I need to export the video for people to consume. Because Apple is targeting the consumer market with iMovie (Final Cut Express for prosumer, and Final Cut Studio for pros), there is no facility to batch up video export.

Why is it important? Let’s look at the typical time I spent working on videos for a monthly meeting:

  1. ~2-2.5 hours importing from camcorder. This is fixed time because it is a MiniDV tape camcorder and the only way to get from tape to hard disk is to replay all the footage in realtime.
  2. ~20-30 minutes editing each part. I break down the 2 hours meeting into around 30 minutes parts (actual length depends on the nature stopping point of the conversation). I then change the opening credit, make some adjustment to the audio (boast volume) and video (colour correction).
  3. ~2 hours exporting each final video to hard disk for uploading. This result in a 640×480 H.264 QuickTime video file around 550MB.
  4. ~1 hours uploading to Vimeo.

Now, there is no way for me to multi-task step #1. There is only one camcorder and thus I can only do one import at a time. Not a big problem as I can do other things once the import has started.

Step #4 is a background process. Once I kicked it off in the browser, I can do other things on the computer. For example, step #2.

The problem is with step #3. iMovie does not have the ability to export video in the background. What it means is that once the exporting process has started, I can’t use iMovie to work on my next clip and thus save time. It would not be that bad if iMovie uses all the CPU power my computer has. My Mac Pro has two CPUs, each CPU has two cores, making it a total of four cores. That’s a lot of computing power. But iMovie can only take advantage of one CPU at a time! So instead of a reasonable export time of around an hour, I have to wait for two before I can work on the next clip.

Now, if iMovie is able to export in the background, then at least I can work on the next clip using one CPU while exporting uses the other CPU. Alternatively, if iMovie has the facility to batch up videos for export in a queue, then I can work on editing all the clips and export them in a single batch while I sleep, or do whatever. But iMovie has neither and so the process of producing four 30 minutes video clips basically takes up most of my weekend instead of a few hours. Granted most of the time is spent waiting but still…

Of course one can argue that background or batch exporting is a pro feature and I agree. But when should I sacrifice the ease of use of iMovie, learn a completely different editing paradigm (arguably more difficult to use), just so I can save a few hours each months when my hardware is more than capable? I am more than willing to pay extra for iMoviePlus or plug-ins to achieve what I need but unfortunately I don’t think either would be available any time soon.