Archive
FFmbc v0.5 Available
It has been announced as available for a while now, but only recently was the download made publically available again for FFmbc 0.5. Lead developer Baptiste is doing a super job moving this project forward, but really needs the support from more media professionals to fully realise the early promise of this open source, broadcast media focused, transcoding solution.
FFmbc 0.5 download available here.
FFmbc 0.5 feature updates include:
- Sync on FFmpeg svn r25202.
- Yadif video deinterlacing filter.
- Overlay video filter.
- Fade video filter.
- HQDn3d video filter.
- Rename ffmpeg binary to ffmbc.
- FFmbc is now GPL only.
- Disable shared libraries.
- Remove -s resizing output cli option, use -vf scale.
- 23.98 and 24 fps support in MXF muxer.
- Mpeg-2 aspect ratio bitstream filter, to change aspect ratio without reencoding.
- Fix an issue with -async and audiomerge.
- Fix an issue with the fade filter.
- Write interlacing information in mov files, fix deinterlacing with quicktime player.
- Correctly support interlaced in yuv4mpeg and quicktime.
- Display interlacing when printing information.
- Fix an issue with resampling and audiomerge.
FFMBC 0.4 Now Available
A little over one month since the release candidate was made available, FFMBC has officially rolled our version 0.4. Lots of useful and interesting updates for our favourite open source video transcoding tool:
Updates on WebM Support – All Aboard!
As could probably be predicted, there’s been a lot more press around WebM over the last ten days or so. A few articles are worth noting.
WebM – The New Open Source Codec on the Block
In August 2009, Google acquired codec developer On2 Technologies for a rumoured $106 million. The flagship On2 codec was VP8 and it was also rumoured at the time that Google may open source this technology in the future, although a number of challenges lay ahead.
New FFmbc Release 0.3
Just days after I first wrote about FFmbc (FFMedia Broadcast) the team have released a new version, marked as 0.3.
- 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.
FFmbc – A Broadcast Media Alternative to FFmpeg
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:
• Creating XDCAM HD422 files in .mov or .mxf
• Creating XDCAM IMX/D-10 files in .mov or .mxf
• Creating AVID DNxHD files in .mov
• ID3v2 complete support.
• Itunes complete support.
Possible Formation of FFmpeg Foundation NGO
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).
H264 Video Encoding on Amazon’s EC2
in effect from November 1st 2009.
AWS Debian Squeeze AMI with FFmpeg and X264
Stream #0 has now made available our first Amazon Web Services (AWS) AMI. This is based on Eric Hammond’s 64-bit Squeeze AMI: ami-fcf61595.
The first Stream #0 AMI can be found by looking for the following AMI ID in the AWS Management Console: ami-b535d6dc
The following additions have been made over the base Squeeze build:
- Added Debian Multimedia Repository
- Updated and Upgraded to October 22nd 2009 latest packages
- Build x264 from source. r1301
- Build FFmpeg from source. r20350
FFmpeg has been configured as per the options noted in the How-To here
Ultimately we’re planning to build a few different AMI variations. e.g. Lenny with FFmpeg 0.5 build and x264 from Debian Multimedia Repo as a slightly more stable version of the “Squeeze build everything from source” AMI approach.
The AMI has been made public and Stream0 would really appreciate feedback on this, our first time AMI build.
Everything you need to know about Amazon’s Web Services:
Amazon Web Services
AWS Elastic Compute Cloud (EC2)
AWS Developer Guide
Alestic – listing Debian and Ubuntu AMIs
ec2debian Google Group
How-To Build FFmpeg on Debian Squeeze
It’s been a long time now since I wrote my original How-To for building FFmpeg on Debian. A lot has changed since then, in both the Debian and FFmpeg world, so it’s definitely time for an update.
This tutorial describes how to build x264 and FFmpeg from scratch, on a base Debian Squeeze system. Throughout this tutorial I will be assuming that you are operating as either root or su, or aware of how to use sudo (make sure you’ve added yourself to the /etc/sudoers list).
First, we need to update the sources list. I use pico as my text editor, as I was a long time Pine mail user way back when. Feel free to use vi or emacs if you prefer.
Go to the Debian Multimedia repository site and download the keyring package. Follow the instructions for unpackaging it about half-way down the front page. Now update your sources list:
>pico /etc/apt/sources.list
Add deb http://www.debian-multimedia.org squeeze main on a new line and save the file.
>aptitude update
>aptitude full-upgrade
Now you’re using the latest sources and packages.
Next, install all the additional libraries we’ll need:
>aptitude install install build-essential subversion git-core yasm libgpac-dev libdirac-dev libgsm1-dev libschroedinger-dev libspeex-dev libvorbis-dev libopenjpeg-dev libdc1394-dev libsdl1.2-dev zlib1g-dev texi2html libfaac-dev libfaad-dev libmp3lame-dev libtheora-dev libxvidcore4-dev libopencore-amrnb-dev libopencore-amrwb-dev
Once that has successfully completed, it’s time to grab the latest x264 code:
>git clone git://git.videolan.org/x264.git
>cd x264
>./configure –enable-shared
>make
>make install
Hopefully all is still going well and you encountered no errors so far. Great, let’s grab FFmpeg from Subversion:
>svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
>cd ffmpeg
Now to configure FFmpeg. There’s so many options, it’s sometimes hard to know which ones to choose. The list below is my personal preference, but do try ./configure –help to assist in choosing your own.
>./configure –enable-gpl –enable-postproc –enable-pthreads –enable-libfaac –enable-libfaad –enable-libmp3lame –enable-libtheora –enable-libx264 –enable-shared –enable-nonfree –enable-libvorbis –enable-libgsm –enable-libspeex –enable-libschroedinger –enable-libdirac –enable-avfilter –enable-avfilter-lavf –enable-libdc1394 –enable-libopenjpeg –enable-libopencore-amrnb –enable-libopencore-amrwb –enable-version3
After a successful configuration, all the enabled decoders, encoders and muxers will be displayed. There are some configuration dependencies here. If you don’t –enable-gpl things like postproc will fail at build time. Next….
>make
>make install
“Make” will probably take quite a long time.
Optionally you may like to build qt-faststart as well. If you don’t know what this does, use Google, but in short it arranges atoms in QuickTime header files to allow for progressive download delivery.
>make tools/qt-faststart
If you try to use FFmpeg now, by simply typing “ffmpeg” you are likely to encounter an error regarding shared libraries (we did build FFmpeg with –enable-shared). To fix this we do the following:
>pico /etc/ls.so.conf
Add the line “/usr/local/lib” (without quotes) to this file and then save it. Read more about dynamically linked libraries here, specifically the fourth paragraph to explain what we just did.
>ldconfig
That’s it! Finished. Pretty easy, right? Now you just need to learn how to use FFmpeg, but that’s a topic for another day. Very briefly though, here’s a command line for creating a 2-pass H264 file, at 750kbps and 480×360 resolution, in a mov container, with progressive download enabled.
>ffmpeg -y -i inputfile.mpg -pass 1 -vcodec libx264 -vpre fastfirstpass -s 480×360 -b 750k -bt 750k -threads 0 -f mov -an /dev/null && ffmpeg -deinterlace -y -i inputfile.mpg -pass 2 -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -vpre hq -s 480×360 -b 750k -bt 750k -threads 0 -f mov outputfile.mov
>/tools/qt-faststart outputfile.mov outputfilefast.mov