Live data from Hacker News

All the giant companies used ffmpeg (2020)

twitter.com

191–200 of 202 posts

Re: All the giant companies used ffmpeg (2020)

#191
post #5

The creator of ffmpeg, Fabrice Bellard, has an impressively long list of projects. Very talented developer! https://bellard.org/

Some speculate that Fabrice Bellard is actually as many as ten different people.

Its Time Travel.

Re: All the giant companies used ffmpeg (2020)

#192
post #130

Earlier quoted context omitted.

I have used gstreamer for the Dutch Railways, to stream the announcements to passengers in certain types of rolling stock. The announcements are generated as text, go through a text-to-speech engine and are then streamed to the rolling stock. As you'd expect, every manufacturer uses a different method to broadcast the announcement.

Which text to speech engine are you using, if I may ask?

I believe this was a commercial engine from Acapela.

Re: All the giant companies used ffmpeg (2020)

#193

Earlier quoted context omitted.

I agree. Unless you had a lot of domain knowledge or a lot of time with a lot of weirdly encoded media I would say that it is impossible for someone to make something as seemingly simple as a thumbnail extractor with those libraries (eg. take the first frame or x seconds of a video and write an image file) Your best bet is to just call ffmpeg to do what you need and not have to worry about the weirdness of the libav…

I've been struggling with exactly this, setting up ffmpeg to work with buffers instead of files. I'm about ready to just write frames to /tmp or maybe /dev/shm and invoke the CLI. I work with a lot of weirdly encoded media, so I'm thinking that for long-term maintainability it might be better to use the CLI anyways, as you can iterate significantly faster at the cost of control. I'm just not sure what kind of perform…

>setting up ffmpeg to work with buffers instead of files

I'd take a look at https://github.com/FFmpeg/FFmpeg/blob/master/tools/target_de...

In io_seek I'd also clamp pos at the end to be between 0 and the filesize. That might be needed for some files. It doesn't hurt though.

>I'm thinking that for long-term maintainability it might be better to use the CLI anyways

It's definitely easier that way. You don't have to deal with gotchas like having to set some random flags or needing to specify a filename. It's just so easy to write code that fails on 1% of files which ffmpeg can actually decode.

Re: All the giant companies used ffmpeg (2020)

#194

Earlier quoted context omitted.

What's high quality open source software? ffmpeg works well, I don't think an alternative would be much better. There will never be a software without bugs. The alternative would be spending tons of money for another piece of software with more bugs.

Good quality software means good architecture design, less code, fewer bugs, more language features and advanced programming to prevent bugs. FFmpeg works well because the hackers did a good job but spent millions of man-hours shooting themselves in the foot.

I think good quality software is a relative term, and I'd rather have useful softwares. What happens in big company is when software age, fresh employees will say it is not a good software, then they will start from fresh code base, maybe discard some features, write some new bugs, the software would generally at the same level as the old ones. The same can happen in opensource community as well, someone could start a new ffmpeg.

Re: All the giant companies used ffmpeg (2020)

#195
post #132

The creator of ffmpeg, Fabrice Bellard, has an impressively long list of projects. Very talented developer! https://bellard.org/

Talented is a massive understatement. Fabrice Bellard and John Carmack are folks that get 9.5/10 as developers (10 being reserved for God).

Maybe a 10 for Terry A. Davis, then.

Re: All the giant companies used ffmpeg (2020)

#196

Considering how ubiquitous it is, it's a mystery how and why there's so little documentation about how to use the library versions libavcodec and libavformat.

FWIW, I created a production batch transcoding backend using python to construct ffmpeg command lines. If you don't need streaming you may not need to talk to the libraries.

(The transcoding was for transforming DVB-T captures to multi-bitrate HLS and MS Smooth Streaming formats as part of a Cloud PVR. It was a separate backup pipeline in case the commercial streaming pipeline failed, which tended to happen a lot initially.)

Re: All the giant companies used ffmpeg (2020)

#197
post #58

The "triumph of high quality open source software" is wrong because ffmpeg is old C/ASM hacky code (not even C++, optimized by speed for hardware). I got my first experience of optimizing ffmpeg video decoder for AMD Alchemy processor in 2006. Let's take a look at the history of ffmpeg created by hackers for hackers. Do you remember how many times you saw strange squares on the screen when rewinding a YouTube video o…

This is conflating two very different issues. While ffmpeg certainly has its share of vulnerabilities in part caused by it being an old and crusty C project, that has little to do with video glitches. Video glitches are usually caused by corner cases in decoding, e.g. issues with reference frames during seeking. Those are logic errors, which any project handling video formats would be prone to because video codecs ar…

ffmpeg/libav is being fuzzed with reasonable success. See for example https://github.com/google/oss-fuzz/tree/master/projects/ffmp... and https://security.googleblog.com/2014/01/ffmpeg-and-thousand-....

They found issues in code I wrote...

(I work for Google but do not speak for it)

Re: All the giant companies used ffmpeg (2020)

#198
post #36

About 14 years ago, at my first job, I worked with a colleague[1] who introduced me to the wonderful world of open source: the culture, the philosophy, how to submit patches to open source projects, etc. He also introduced me to Debian GNU/Linux which I use actively to this day. One day, he began working on certain audio/video encoding problems that needed to be solved for our project. He chose FFmpeg as the primary…

While ffmpeg does support a lot of really old / obscure media formats, support isn’t nearly as good for professional broadcast / film video formats. DNxHD can be hit or miss and it doesn’t support formats like OMF or AAF. I have heard some broadcasters’ QC departments reject ProRes created by ffmpeg as invalid.

I found ffmpeg supports HAP Q pretty good, which is a decent intermediary format.
Post reply on HN