Tag Archive for 'video'

Cool Cavemen live at Gayant Expo, part II.

Here is “Funky Cops”, the second Cool Cavemen’s live song at Gayant Expo:

I released this video two weeks ago for Cool Cavemen. As I try to release one video every week, I give a high priority to the editing work. This leaves me with little time to write on this blog.

But starting from now, I plan to publish a blog post for each video. I’ll use these articles to write about one aspect of the work involved behind the scene.

In the first post of the series, I gave you the context in which the concert was performed. Today the post is dedicated to video formats. First, let’s talk about the video sources…

The concert was shot with 4 cameras. Among them, only two were of the same kinds. Those were part of the live broadcasting system of the event. This explain the “mise en abyme” effect in the background screen:

At the end of the gig, I wasn’t be able to retrieve two continuous feeds. Instead I got an already-edited video corresponding to what was projected live (*sigh*).

As a result, I ended with 3 video sources:

  1. A DVD-like video stream (576i) produced by my consumer-grade camera (now for sale at 0.01€ on ebay). It produces 720×576 pixels interlaced frames at 25 fps, with a pixel ratio of 16:15 (giving 768×576 pixels frames at 1:1) and a final display ratio of 4:3. All encoded as a 9 Mbps MPEG-2 stream in a MPEG-PS container.
  2. A 720p video stream: 1280×720 pixels progressive frames at 30 fps, with 1:1 pixel ratio and 16:9 display ratio, encoded as variable bitrate MJPEG stream in a QuickTime container.
  3. The already-edited video stream (Half-D1) from unidentified Sony cameras: 352×576 pixels interlaced frames at 25 fps, with a pixel ratio of 24:11 (giving 768×576 pixels frames at 1:1) and a final display ratio of 4:3. The file was a 6 Mbps MPEG-2 stream in a MPEG-PS container.

All those informations were extracted thanks to ffmeg, mplayer and tcprobe (see all the command lines involved).

As you can see, this is an absolute mess ! There is no consistency ! And now, before starting the video editing itself, I have this important decision to make: choose the final video format, in which my project will be rendered.

Let me explain how I did it. But before, I have to tell you that: to me, an interlaced video at 25 fps is just a 50 fps stream with half the vertical resolution. This is important for you to know if you want to understand how I perceive quality. I’ll probably explain it in details in a future article. But for now, this should give you enough insights on how I came up with my two strategies.

The first one is the “maximizing” strategy. It consists of keeping the best parts from all video sources. Based on formats described above, this means 1280×720 pixels progressive frames at 50 fps, with 1:1 pixel ratio and 16:9 display ratio. In this process we create non-existent informations by scaling and interpolating spatial and temporal data.

The second strategy is the “minimizing” strategy which, you can guess from its name, is the exact opposite of the first one. Here we discard spatial and temporal informations until we reach a sub-format shared by all sources. In our example, this gives 352×288 pixels frames at 30 fps, with a pixel ratio of 24:22 and a display ratio of 4:3. There, 288 is half 576, which is the result of using a deinterlacing “bob” filter on video streams #1 and #3 to get 50 fps. And for the pixel ratio, as we “bobbed” the interlaced videos, we keep the worst horizontal scaling and multiply the vertical scaling by two, which give us 24:22.

For this project, I finally went by the first stategy. I choosed to render the project to a 720p video at 25 fps, with a 1:1 pixel ratio and 16:9 display ratio. Also known as… HD-Ready !

Why this format ? It’s the most popular one that closely match the characteristics we established three paragraphs above. It’s also quite standard, and “gives a chance” to the second video source to display in full resolution. I also felt that it will cause less pain when confronted to the wide range of software video players out there.

Now that I have decided which format to use, I can create a project in my video editor with the right parameters and start the editing process. But this is another topic for another post !

Cool Cavemen live at Gayant Expo: first video released !

After several months of work, nit-picking and drama, I’ve finally released Cool Cavemen’s “Pump the Funk Up” video:

This video was taken during the biggest Cool Cavemen’s concert in 2009. We were playing at Gayant Expo (“largest french venue in the north of Paris” as they said in their commercial leaflets…). It was April 17th, during Cartel des Mines, a student festival organized by a group of engineering schools.

As the whole concert was filmed, I plan to release a new song every one or two weeks. I can’t promise a regular release cycle as I edit videos along the way. And of course, it also depends on my available free time…

By the way, this post also mark the opening of a section dedicated to my video projects. Currently it’s quite empty and brief, but I hope to populate it with more substantial stuff soon…

Remove videotape timecode

Since November I’m working on a video project with footages taken with an analog system. This mean that some videos were shots with analog cameras, recorded on a videotape, then transcoded to a MPEG-2 stream.

Because of the analog nature of the filming process’ first steps (on which I had no control), I ended up with some artefacts:

See ? No ? Here is an upscaled version:

Yes, that’s it: there is white dots on top of each frame.

I discovered that these dots represents a binary timecode called the Vertical Interval TimeCode, or VITC. In the old days of analog video, some timecodes were directly embedded in video or audio signals. Nowadays, in this all-digital world, timecodes are saved as metadata in video files.

So we are left with these deprecated and ugly white dots… For aesthetical reasons, I wanted to remove them. To do this job, I used Avidemux, an open source free software available on all majors platforms (Windows, MacOS X and Linux).

The removal process is really straightforward: I’ve just added a black rectangle over these dots to hide them. Here is how to do it:

  1. Open your original file in Avidemux;
  2. Click on the Filters button;
  3. Go to Transform, then Blacken Borders and click on the + button;
  4. Use the dialog to set a 2 pixels top border;
  5. Now you have to export the result using a reasonable video codec, and that’s it !

Google Apps’ video chat comes with secure Gmail sessions

The story was spread by all top tech blogs last week: Google’s Gmail now features a video chat. And it requires the installation of a dedicated plugin.

Alas, there is no such plugin for any other platform except “Windows XP and later” (according the official website) and Macs (as read on the official blog). So it’s a quite sad news for us Linux users. Indeed, I’m confident about a future seamless integration into the free software ecosystem, as the Gmail’s video chat is based on a stack of open (or soon-to-be, according the recent controversy) standards and protocols: XMPP/Jingle, h264/SVC & RTP.

Anyways, that’s not the main purpose of this post.

I just wanted to point out an update that was not reported by the news: as soon as it was officially made available for the public, the brand new video feature was released for Google Apps’ Gmail too.

Not only that, Google also backported to Apps’ Gmail the much awaited HTTPs option that allow you to force secure encryption of your sessions:

These two updates are quite interesting to note. I long as I remember (and I might be wrong), Google Apps components were always out-of-sync with their legacy equivalent. So this maybe a sign of change in a really good direction for Google Apps users ! :)

Interreta Televidilo for Mandriva 2007.1

Interreta Televidilo v0.6 on mandriva 2007.1 (spring) I’ve just made a RPM of Interreta Televidilo v0.6 for Mandriva 2007.1 (aka “Spring”). Interreta Televidilo is a GUI that aggregate video stream of french TVs available for free on the internet.