An Interview With the Developers of FFmpeg
An anonymous reader writes "Following the long-awaited release of FFmpeg 0.5, Phoronix has conducted an interview with three FFmpeg developers (Diego Biurrun, Baptiste Coudurier, and Robert Swain) about this project's recent release. In this interview they talk about moving to a 3/6-month release cycle, the criteria for version 1.0, Blu-Ray support on Linux, OpenCL and GPGPU acceleration, multi-threading FFmpeg, video APIs, their own video codecs, and legal challenges they have run into."
The versions will have to be numbered better if they play to have a release cycle. "0.5" just doesn't work.
What the hell is FFmpeg anyway? Oh, it is a badass CODEC library. Yippie!
There fixed that for you.
They say they have trouble implementing code due to time and motivational constraints. Seems to me that if Google/YouTube has built a very successful website around the FFmpeg engine then Google ought to pony up some programming help with improving the project. Wouldn't that be "The right thing to do" (TM)?
Define "Long" and who was waiting for something that is still ".5" beta?
It is not in "beta", it is production quality. The fact that it is 0.5 indicates that it is not complete and perfect yet.
Oh, it is just another CODEC library.
It is not "just another", it is the most important and most used open-source codec library
It only takes one man to change the Wisdom of the Crowd to Tyranny of the Masses.
It's the "complete" part of that word that is the key one. I dare say that no software is ever going to be "perfect" ... or, for that matter, "complete" in the ultimate sense of the word. However, I'm guessing they have a list of functionality that they want to implement before they declare it to be FFmpeg 1.0; fulfilling their list of desired functionality makes it "complete."
It's a bit more than a codec library - without it you probably wouldn't have Youtube or VLC, as well as countless other online and offline applications.
No one would expect you to be grateful, but you might want to demonstrate some knowledge of a domain you're so quick to pass comment on.
First, it is (arguably) the best out there.
Second, it is an extremely powerful, cross-platform transcoder for every format under the sun.
Third, it is an extremely diverse media player (mplayer)
Fouth, it is the bassis for a countless number of media player and transcoding projects.
As someone who manipulates digital video on both a person and professional level, ffmpeg is the #1 tool in my arsenal.
Congrats on 0.5!!!
Don't confuse ffmpeg with libavcodec. Although libavcodec is part of of the ffmpeg distribution, and is used by many other program (mplayer especially), ffmpeg is more than that.
Saying FFMPEG is just a codec library is like saying a Ferrari is a shiny surface for adhering horsie stickers to.
The distinguishing features of FFMPEG are that it's cross-platform (many commercial Windows and Mac apps use it under the hood), it's astonishingly fast at transcoding, has very broad codec AND container support, is fairly simple yet has a very rich set of advanced features.
What other tool are you going to use to convert your AutoDesk Animator video library to Flash video and animated gifs?
Anyone know what kind of performance increase VDPAU can give compared with software decoding?
That application I'm working on needs to decode lots of H.264 streams so being able to offload that to a GPU would be a godsend.
Define "Long" and who was waiting for something that is still ".5" beta?
Version numbers are pretty meaningless for a codec library anyway. Codec support can be in the [0...1] range from none to perfect, but as a whole it's not very meaningful. Updates are always welcome but I don't know any that waited for the release specifically.
What the hell is FFmpeg anyway? Oh, it is just another CODEC library. Yawn!
Yeah, just what does all the hard work so the media player can thrown up a window and call play(). Yawn indeed.
Live today, because you never know what tomorrow brings
ffmpeg is to video, what imagemagick is to images.
http://www.mhall119.com
mplayer != ffmpeg. a "codec library" == the bassis for a countless number of media player and transcoding projects. I do not think these words mean what you think they mean. ffmpeg is primarily a codec. Encoder, and decoder. You might more accurately say it is a codec package because it provides the ffmpeg program (and others) and a collection of libraries (libavcodec, libavformat...) The package also provides a player, muxer, and a streamer; the player is ffplay, not mplayer.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
Right. What is FFMPEG? It's basically a package that allows you to convert from almost any audio or video file format to almost any audio or video file format. Not only that, but it's the audio/video converter that pretty much every other (excluding in-house proprietary) converters and players are based on. It's important.
As to why we care about a 0.5 release, FFMPEG has been around for years, but to my knowledge has not had "releases". There is the latest build, and that's it. The idea of having a stable "release" build is news in itself, whatever number you associate to it.
Yes, there's still a lot to do, so the 0.5 version number is probably warranted. For one thing, there are still a few formats out there that FFMPEG doesn't fully support, and not all of those that they support seem to have been optimized well enough for output quality IMO. However, it's amazing how much they've accomplished already. Life would be so much harder if not for these guys' work.
Quicktime?
hall of shame
>The fact that it is 0.5 indicates that it is not complete and perfect yet.
Bullshit.
Could someone please educate people on what version numbers mean?
Pretty good, you can easily decode 1080p H264 video with a cheap nvidia card. It is also consume less power and cooler than using CPU for decoding, so VDPAU = great for HD video on laptop.
I also find it interesting that VDPAU can help decoding H264 video that I can't decode using its counterpart on Windows (DxVA) :)
Version numbers aren't a standard enforced by anything. A version number is anything the creator wants it to be. Sure there are accepted formats like "greater.lesser.rev fix", but there also dozens of others. The fact that you think all software has to follow one paradigm and that you think your ideal of that paradigm is correct is a bit insulting.
As someone who manipulates digital video on both a person and professional level, ffmpeg is the #1 tool in my arsenal.
Quick question, I know its off topic but do you know of any good way to convert a wmv file from MS Photostory3 to flv format? For some reason the file gets bigger, when it actually works. I Googled for answers but didn't find much. My only guess is that photostory3 is doing something funky in the wmv file. Though IMHO wmv is funky anyway. Alternativly if anyone knows of a good open source photostory3 replacement I'd love to know about it. I work for a school and so I am stuck dealing with Movie Maker and Photostory3. Also anyone know of a good open source DVD creator (video, with at least simple menus)?
Thanks,
~Petaris "The world is open. Are you?"
I can't think of any basic features ffmpeg lacks. I also Googled the question and couldn't find anything.
Examples please?
Change is certain; progress is not obligatory.
I thought ffmpeg only decodes/converts videos, and imagemagick actually can edit images.
I don't preview or spellcheck.
ffmpeg is a godsend to the FOSS community. Great work to the ffmpeg developers and I know I speak for a lot of people when I say that I'm looking forward to the fruits of their hard work.
WMV is a variable-frame-rate format, which depending on the tool you use and the output format can cause all kinds of issues. So, without having any more information to go by, I suggest you make sure you set a frame rate for the output file, otherwise you might end up with e.g. 120 frames per second or in the case of mencoder even 1000 frames per second (and it's no surprise it gets larger then).
X.org has posted some project ideas for Google Summer of Code projects, including "VDPAU state tracker for Gallium. Admit it, it would be pretty cool."
--
make install -not war
I thought ffmpeg only decodes/converts videos, and imagemagick actually can edit images.
I believe he would be comparing the vast amount of different file formats that can be opened/converted/saved to with both programs...
I thought ffmpeg only decodes/converts videos,
Well then you've thought wrong. It has numerous audio and video filters that are available to use during both playback and during decoding/encoding.
In the "Legal Issues" section of the article, I expected to see something about the issue of FFMPEG potentially infringing on existing patents. Instead there's just some stuff about violating the GPL. Seems like a major oversight to me.
What *is* up with the patent issue? Is it possible to use FFMPEG legally in commercial software if you adhere to the GPL and buy licenses for the patents that you're using? Since I already paid for software that includes encoders for some of these patented codecs, does that allow me to legally use FFMPEG? In my lifetime, how many times do I have to pay the patent fees for MPEG2 encoding?
Could someone please educate people on what version numbers mean?
There is not one meaning to version numbers. Never was, never will be.
It only takes one man to change the Wisdom of the Crowd to Tyranny of the Masses.
Once again, using GPUs for graphics/video acceleration is not GPGPU. It is just plain hardware acceleration. Stop using this phrase if you don't know what it means.
Does it, now? If true, perhaps you can specify an example or two? If you don't use VLC or Youtube (which are the two video applications I access most frequently, personally), then what are you doing that is caused so much trouble by this excellent library?
It is pitch black. You are likely to be eaten by a grue.
Which doesn't run on all the systems you might use, and which costs money on top of that? No thanks.
It is pitch black. You are likely to be eaten by a grue.
Nah, said dumbass AC just doesn't know the difference between FFmpeg and ffdshow(-tryouts). And even that hasn't caused much trouble in the last few years, and if everything else fails you can just whitelist it to the few media players you want to use it in...
To anyone involved in maintaining ports of third-party software to a particular OS (or even a distro), working with a release of that software is quite important. Unfortunately, ffmpeg-developers couldn't be bothered with such things. Here is a rather arrogant response I got two years ago from them:
He further explains their stance as:
If, indeed, this idiotic view has been retired for good — great!.
In Soviet Washington the swamp drains you.
It is not in "beta", it is production quality. The fact that it is 0.5 indicates that it is not complete and perfect yet.
See, this is the reason why you should use version numbers like everyone else. Then you do not have to keep explaining over and over and over again that no, it's not beta even though the version number looks just like a beta version number.
"1.0" doesn't mean "complete and perfect". It merely means "first public release". ffmpeg passed that point long, long ago, and should have been named "1.0" then.
No, it's like saying that a Ferrari is a car. Most people do not see a problem with this.
Ok, so what is imagemagick? ;)
This is the sig that says NI (again)
The correct title should be: "comments about some (lost?) interview to three ffmpeg developers". I'd like to read the real answers of the developers (and the exact questions), and not that kind of "educational explanation on their supposed responses".
BTW, some months ago I indirectly had to use their software (because of some web portal software related to video conversion.) From my little experience:
1) I found that they have a lot of bugs being accumulated and don't have the needed workforce to analyze nor resolve them
2) Too much effort (and attention priority) is put in the hall-of-fame and license violation "prosecution"
3) As they enforce the (IMO) confusing LGPL, several closed-source developers had passed a very bad time. Some were (again IMO) not trying to steal code, and just misinterpreted the weird licensing terms.
I'm posting anonymously because I'm waiting the resolution of a couple of yet "unassigned" bugs for more than two months and don't want their reprimands for the comments:)
It's just the usual goofy-ass Open Source versioning, where things stay sub-1.0 for years and years for no valid reason. 1.0 isn't supposed to mean "perfect." It's supposed to mean your first release.
It's like the FFmpeg of images.
No existe.
You're obviously stupid.
I have some notes on my efforts to compile ffmpeg with all available codecs (using PLF repositories) for Mandriva 2009.0 on my blog, MaximumHoyt.com. Comments appreciated.
"I believe in Karma. That means I can do bad things to people all day long and I assume they deserve it." : Dogbert
FFmpeg can open images too, although I don't remember the supported formats. It's also much faster at it.
Why won't slashdot let me change my terrible username
-O3 and -funroll-loops are likely to increase code size, and thus increase cache pressure. Particularly for H.264 this in our limited experience is more likely to slow things down that speed them up. Generally it is a bad idea to "speed-optimize" without benchmarking.
Not to mention ffserver, which in conjunction with ffmpeg and curl can take a live stream of images from a crappy webcam and turn them into swf (or whatever) on the fly. I used it to get around the proprietary "max 10 simultaneous clients" limit on my IP cam. I only used 1 stream from the IP cam but ffserver allowed (virtually) unlimited simultaneous viewers.
Example.
You can use them together. I made DVD menus once by having ffmpeg output PPM to stdout, then a little perl and IM played with the images, and then I piped that back into another ffmpeg process. There was a little patch I had to make back then to ffmpeg but it worked great. This is how I got moving images into a static background in the menus before there was any other way to do it with free software. You could also export to bunch of numbered png or ppm files if you liked back then with no patches. At this point ffmpeg does have some better but still limited support for this sort of thing so you can edit the images while encoding.
For some reason the file gets bigger, when it actually works. I Googled for answers but didn't find much. My only guess is that photostory3 is doing something funky in the wmv file.
PhotoStory generates wmv files that are not really a video in the normal sense. It contains the still photos and the different effects that are applied to them, and the soundtrack. Think of it as being the vector art of videos. The decoder then does all the work in "rasterizing" the video. That is why when converting it to a real video format makes the file larger.
As for OSS DVD creators, take a look at DVD-Slideshow and 'Q' DVD-Author. There are other frontends to dvdauthor which are listed on the dvdauthor website. Or you could just use the command-line dvdauthor without a frontend to master the DVD.