Archive for November, 2009

New FFmbc Release 0.3

November 19, 2009 1 comment

Just days after I first wrote about FFmbc (FFMedia Broadcast) the team have released a new version, marked as 0.3.

Enhancements in this version include:
  • Sync on FFmpeg svn r20539.
  • Write Quicktime timecode track.
  • Set closed gop flag for first gop when encoding with b frames.
  • Search relative path when opening Quicktime reference files.
Download the latest source, or a Windows binary, from the project homepage.
Also now included on the FFmbc wiki is a list of requested enhancements. These include support for additional codecs, bitstream validation for MPEG2 files and support for DNxHD 10-bit files. Go to the requested enhancements page to review and add your own requests to the FFmbc-user discussion group.
Categories: FFmbc, Video Tags: , ,

FFmbc – A Broadcast Media Alternative to FFmpeg

November 12, 2009 Leave a comment

FFmbc (FFMedia Broadcast) is an off-shoot of the FFmpeg project that is targeted squarely at the broadcast media world. The project while still in its infancy, but available for around 6 months already, is currently at release version 0.2. Launched and managed by Baptiste Coudurier, well known for his work on the FFmpeg project, FFmbc rolls out the following enhancements:

Import your files in Final Cut Pro or AVID Media Composer by

Creating XDCAM HD422 files in .mov or .mxf

Creating XDCAM IMX/D-10 files in .mov or .mxf
Creating AVID DNxHD files in .mov

Transcode your MPEG-2 4:2:2 Tranport stream files containing S302M audio.
Transcode your AVCHD Camera files correctly.
Merge and split your audio tracks.
Create Quicktime files containing time code tracks.
Advanced Metadata support.

ID3v2 complete support.
Itunes complete support.

We’ve been meaning to test some of FFmbc’s functionality for a while now and after a couple of false starts, we’ve been successfully able to convert a generic MPEG2 50i (50Mbps all Intra-Frame) 4:2:2 Transport Stream to IMX D-10 in a .mov container. This file contained PCM audio, which version 0.1 of FFmbc baulked at, but the latest version handled perfectly. The output IMX D10 file was imported without error directly into Final Cut Pro for editing. FFmbc has not yet renamed any FFmpeg libraries, so the same conversion syntax and commands can be used across both. Although, be careful as this may create some library conflicts if you try to have both FFmbc and FFmpeg installed at the same time.
Why would we want to use an Open Source transcoding tool in a predominantly proprietary video production environment? The answer is simple. Every commercial product we’ve investigated (Telestream’s Episode Engine and Flip Factory, Rhozet’s Carbon Coder, Digital Rapid’s Streamz) wanted to transcode our MPEG2 source file to IMX, rather than simply re-wrap the essence into IMX. Transcoding takes a considerable amount of time and will always lower the quality of the final output, no matter how minutely. FFmbc instead took our video and audio essence, extracted it from the MPEG2 Transport Stream and re-wrapped it all to IMX D10. 
Our 30 minute test file was around 16GB in size. Our test machine was a puny eeePC, with an Intel Atom N280 1.66Ghx processor, running Ubuntu Karmic Koala Netbook remix (hardly ideal for transcoding video). The entire conversion process took a little over 7 minutes, at a rate of approximately 110fps (frames per second). Pretty impressive!
There are a couple of caveats to mention with regards to FFmbc. The software is very new and Baptiste is very busy. I’m sure more developers would be a welcome addition to the project. We used the earlier Stream#0 tutorial for installing FFmpeg to achieve the same for FFmbc. However, FFmbc v0.2 didn’t like the latest SVN of x264, which is a bug that won’t be fixed until the next FFmbc release. Instead, we used the packaged libx264 from the Ubuntu repository. FFmbc then compiled and installed without error. Checking out the latest FFmbc from GIT also caused some issues The source compilation complained and failed regarding the absence of swscale. However, working around these small issues, we’ve achieved our goal – a quick conversion of a generic MPEG2 file to something that can be edited using Final Cut Pro.
FFmbc is an exciting prospect, targeted directly at the broadcast media world. If you’re looking for an open source file transcoding solution, to integrate with your Avid or Final Cut Pro editing environment, give FFmbc a chance to prove itself.

Possible Formation of FFmpeg Foundation NGO

November 6, 2009 Leave a comment

Recently posted on the FFmpeg Developers mailing list was a request for comment from Ronald Bultje regarding the intention to form an FFmpeg Foundation (although not using that name). 

Full text of Ronald’s post is as follows:

some developers have stated the intent to set up a NGO (non-governmental organization) to help us bring some structure, support and funding into the project. We haven’t decided on a name yet, although people agree that we dislike “FFmpeg Foundation” – if you can suggest better names, please do so in this thread. Right now, we’re at a point where I think most of the stuff is decided and there is just some paperwork to be filled out. All this with many thanks to Karen at the SFLC who helped to get all this going. The NGO will be registered in Delaware, USA (for administrative reasons). Its goal will be to “advance the state of free and open multimedia” or something like that.

For the time being, this organization will be run by a board consisting of 7 members. For the starting board, the following developers have volunteerd:

– Baptiste Coudurier
– Benjamin Larsson
– Carl Eugen Hoyos
– Diego Biurrun
– Mans Rullgard
– Michael Niedermayer
– Ronald S. Bultje

If you feel that these members will not be able to appropriately represent this project, now would be a good time to speak up and suggest something better. For the near future, the directors will elect a new board at the end of their yearly term (and that might end up in the same 7 members). If there’s enough interest, we might set up a member-structure so the board can be properly elected by its members (=developers, contributors, etc.), but ATM we lack the structure for even that ample task, so not for now.

The NGO will set up a bank account to accept tax-deductible donations (bank, paypal, etc.) from organizations, users and companies to benefit the further advance of “open / free multimedia”. These might be spend on FFmpeg development, FFmpeg development hackparties, FFmpeg developers attending conferences or anything else that we will would serve the greater good of “open / free multimedia” (i.e. it doesn’t have to be FFmpeg, specifically). We will also accept donations for a specific purpose (e.g. Snow, etc.). Lastly, we will host a bank account for MPlayer for donations intended specifically for MPlayer, rather than FFmpeg.


This sounds like some really positive news and various comments and questions followed this announcement.
Let’s hope this organisation becomes a reality and really benefits open source multimedia. We’re waiting for a formal announcement soon……

Categories: FFmpeg, Video Tags:

Ripping CDs with FLAC – Best Compression Settings

November 6, 2009 Leave a comment

As storage space becomes cheaper, there’s a growing trend to save digital music files in a lossless format. Such lossless formats provide an exact replication of the audio quality found in the original content, usually on CD. The resulting files are also much larger, when compared to MP3 or AAC at 128kbps or 256kpbs. A favourite open source lossless audio codec is FLAC, which stands for Free Lossless Audio Codec. Within the possible FLAC settings there are 8 levels of compression to choose from when creating new files.

Lossless codec? Compression? Doesn’t compression result in loss of detail? Not always. There are many lossy codecs, both audio and video, that apply various compression techniques that actually discard some of the original material, to obtain smaller file sizes. The better the codec is at discarding items that don’t impare the listening or viewing experience, the more impressive the end result will be.

FLAC, being lossless, doesn’t discard any of the original content, but still applies compression techniques. View this like compressing a file with Gzip or Bzip perhaps. Smaller files are achieved, but when de-compressed nothing has been lost in the process. Perhaps think of it like folding a piece of paper. Fold it in half once, and the end result is smaller. Keep folding to produce smaller and smaller (or more highly compressed) paper packages. Unfold the paper, and you still have the same original piece of paper. Ignore fold lines and degradation over time! This doesn’t happen in the world of bits and bytes.

We decided to test which of the FLAC compression settings provided the best trade-off between final file size and encoding time. Higher compression will require more time, but should produce smaller file sizes.

Trying to mimic how we would actually go about ripping a whole CD, we decided to use the Ripit utility, and follow instructions posted on the Debian forum. Ripit is a great example of a truly useful utility where a fancy GUI is just not needed. Edit one simple configuration file, then type “ripit” at the command prompt and that’s almost all there is to it. There would be some overhead in using Ripit, as it checks the database for each album’s details, but this should be minimal.

Grabbing the nearest un-ripped CD from the shelf, our test file will be U2’s Pride (In the Name of Love) from their Best of 1980-1990 album. This song is 3 minutes and 50 seconds long.

Our exact Ripit command was:

>time ripit 01

“Time” provides feedback on the elapsed time of the process. “01” tells Ripit to just rip the first track on the CD.

The test machine is a reasonably old Dell Inspiron 6400, which contains a Intel Core2 CPU T5500 @ 1.66GHz and 1GB of RAM.

Here are our results from the 8 different levels of compression
available in FLAC. If no compression level is specified, 5 will always
be the default.

Comression Quality: 0
Time: 0m59.309s
Size: 30261367 bytes (28.86MB)

Compression Quality: 1
Time: 1m1.518s
Size: 29643288 bytes (28.27MB)

Compression Quality: 2
Time: 1m0.324s
Size: 29631732 bytes (28.26MB)

compression Quality: 3
Time: 0m57.156s
Size: 28596473 bytes (27.27MB)

Compression Quality: 4
Time: 1m0.707s
Size: 27717767 bytes (26.43MB)

Compression Quality: 5
Time: 1m1.406s
Size: 27710285 bytes (26.43MB)

Comression Quality: 6
Time: 1m1.899s
Size: 27710119 bytes (26.43MB)

Compression Quality: 7
Time: 1m8.692s
Size: 27696835 bytes (26.41MB)

Compression Quality: 8
Time: 1m13.376s
Size: 27664197 bytes (26.38MB)

Between Compression Quality 0 and Compression Quality 8, there’s approximately 13.5 second and 2.5MB difference. This might not seem like very much, but let’s expand these figures to account for an entire CD.

Assuming all tracks are approximately the same length (3:50) and that there are 12 tracks on the average CD, we have the following figures:

13.5 seconds x 12 = 162 seconds (2 minutes 42 seconds)
2.5MB x 12 = 30MB.

Realistically though, you can see there’s a big jump in time between Compression Quality 6 and Compression Quality 7, while there’s not a lot of difference in time between Compression Quality 5 and Compression Quality 0 (Ignoring Compression Quality 3’s time anomaly which we can’t account for). There’s also not a lot of file size difference between Compression Quality 5 and Compression Quality 8.

Therefore, unless storage space is a really big issue, the average user is probably better off leaving the Compression Quality settings at Default (5) and saving almost 3 minutes for CD rip. Then again, on a newer machine, this time difference is likely to be much less, so you may as well use Compression Quality 8 and save that little bit of space.

In the end, Compression Quality settings in FLAC don’t make that much difference. Leaving the settings at Default is a pretty good choice, but setting them to a maximum of 8 will save some space, without a major time impact. 

Categories: Audio, Codecs Tags: ,

Interview with Magic Lantern Creator

November 6, 2009 Leave a comment

Several months ago we posted an article about the Magic Lantern firmware for the Canon 5D Mark II video DSLR. This open source software adds functionality to the 5D that Canon didn’t provide out of the box. There has been quite a lot of progress on Magic Lantern over the last few months. The latest release is version 0.1.6, but even since then further enhancements have been made, including Autoboot.

The originating creator of Magic Lantern, Trammell Hudson, recently participated in an interview available on the Cinema5d website. Here are some short excerpts from Trammell’s responses:

4. What plans do you have for the new 5d firmware update? Can we expect anything beyond 24p/25p?

You would have to ask Canon about their plans…  I’ll update my code to work with their new firmware once it is available.  It would really please me if Canon incorporated all of the features from Magic Lantern into their firmware.

On my roadmap for upcoming Magic Lantern releases:

* 1080i HDMI output (still having technical problems)

* SMPTE timecode jamming

* Scripting

* USB control from the Impero remote follow-focus

* Waveforms and vector scope

* Autoboot (now available)

5. On your Wikia Page you describe the Magic Lantern as ” an enhancement atop of Canon’s firmware that makes your 5D Mark II into the 5D Mark Free” What exactly do you mean?

Most equipment is “closed” in that what you buy is what you get. Sure, you can put it on rails, add a follow focus and mattebox, but you can’t really change what is going on inside the box.  With Magic Lantern, however, the internals of the camera have been opened up so that it is possible to add new features that the manufacturer might not have ever imagined.

Read the full text of the interview over at Cinema5d.

A potentially useful enhancement to the Magic Lantern firmware would be the ability to change the codec used in the 5D Mark II. Currently, content is stored as H.264 at around 40Mbps. While this provides for some very nice high quality footage, it’d be nice if additional open source options were included, like Lagarith and Dirac Research. The Magic Lantern Wikia Discussion page has a few comments around this idea already.


Get every new post delivered to your Inbox.