Live data from Hacker News

All the giant companies used ffmpeg (2020)

twitter.com

131–140 of 202 posts

Re: All the giant companies used ffmpeg (2020)

#131
post #63

Earlier quoted context omitted.

Yeah, it’s been said that ffmpeg and vlc could play a vinyl record if you fed it to them. It’s not actually true, but it is story true.

What if you pass it a high-res photo of a vinyl record? There ought to be a transcoder plugin for that lying around somewhere!

This can be done, and indeed was done for an ancient photograph of an ancient record that no longer existed. In that case I think they used some photoshop magic to ‘unspiral’ the groove and something else to decode the image. The result wasn’t super high quality.

Re: All the giant companies used ffmpeg (2020)

#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).

Re: All the giant companies used ffmpeg (2020)

#133

Earlier quoted context omitted.

> don't write the first function before you know what will be the last This is some seriously deep meta-heuristics. Very insightful. Thank you.

Do we need a "Think before code" manifesto? This is a true counter-standpoint to all the agile cargo cult that has been developed in the last years... Not to be taken as 100% dogma, like everything...

[deleted]

Re: All the giant companies used ffmpeg (2020)

#134

Don't forget about gstreamer. Both FFMPEG and gstreamer are used in many production environments. That said, you also find professional codecs and transport libraries. I've worked on projects using Main Concept codecs and custom plumbing, for instance.

Genuine question: Are there any actual examples of giant companies using gstreamer? Why I ask is that pretty much the only reason I have gstreamer installed on my pesonal laptop is to satisfy certain GNOME dependencies (due to GNOME, understandably, dogfooding its own stuff). Everything else (including apps I use daily e.g. mpv, Firefox, etc) depends on ffmpeg. $ sudo pacman -Rs gstreamer checking dependencies... err…

NVidia uses it a lot on their Jetson platform.

Re: All the giant companies used ffmpeg (2020)

#135

Earlier quoted context omitted.

> if you're on macOS, use aac_at instead. Those are much better encoders and ffmpeg can use them as external libraries. Hey, do you happen to know if aac_at is encoding at the slowest speed? (Most compression efficiency but longest encoding time). I can't figure out for sure, so I keep bouncing audio through afconvert since it lets me set `-q 127`, and it's a pain, I'd rather do one step.

There are two quality parameters and I'm not sure which one is `-q` in afconvert. One of them is the VBR quality, `kAudioCodecPropertySoundQualityForVBR`. ffmpeg maps it like this: q = 127 - q * 9; So `-q:a 0` should do the same thing as passing 127 to AT. There is another property though; an actual control of codec effort (`kAudioConverterCodecQuality`). That one should be accessible as `aac_at_quality` and maps 0 t…

Thank you, this is the best explanation I've gotten in years!

> That one should be accessible as `aac_at_quality` and maps 0 to 96, so there's no way to go up to the max of 127.

Is this a bug I should report to ffmpeg?

Re: All the giant companies used ffmpeg (2020)

#136
post #38
post #5

Earlier quoted context omitted.

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

This comment brings me a lot of sadness and pain. I know and respect Fabrice from in person interactions. He is exactly who he claims to be. Maybe an interesting question, instead of this current line of discussion, is to find out what led to his successes? Could it be replicated?

I guess it was a joke about the 10x developer(s)

Re: All the giant companies used ffmpeg (2020)

#137
Yeah, still got to work on some audio desync issues when using the xstack filter with inputs of different frame rates and formats. Was told to fix it by reconverting all my inputs at the same framerate, but other than that ffmpeg is really a powerful software.

But yeah, for simple video tasks, I either use ffmpeg or avidemux, davinci resolve crashed at first use.

There's also a python module that wraps the filter syntax I think, because writing a ffmpeg command is not very accessible.

It is really crazy when freely accessible software can get developers more reputation and money, rather than pissing code away for code that they don't own anymore.

Proprietary code gets the job done, but free software helps the whole community of developers.

Re: All the giant companies used ffmpeg (2020)

#139

Earlier quoted context omitted.

What if you pass it a high-res photo of a vinyl record? There ought to be a transcoder plugin for that lying around somewhere!

This can be done, and indeed was done for an ancient photograph of an ancient record that no longer existed. In that case I think they used some photoshop magic to ‘unspiral’ the groove and something else to decode the image. The result wasn’t super high quality.

Vinyl starts as a poor material for recording music and only gets worse with age and use. Take a picture if it on old film and develop it with old techniques, and you end up with the worst possible recording medium. I'm impressed they got anything from it.

Re: All the giant companies used ffmpeg (2020)

#140

Earlier quoted context omitted.

There are two quality parameters and I'm not sure which one is `-q` in afconvert. One of them is the VBR quality, `kAudioCodecPropertySoundQualityForVBR`. ffmpeg maps it like this: q = 127 - q * 9; So `-q:a 0` should do the same thing as passing 127 to AT. There is another property though; an actual control of codec effort (`kAudioConverterCodecQuality`). That one should be accessible as `aac_at_quality` and maps 0 t…

Thank you, this is the best explanation I've gotten in years! > That one should be accessible as `aac_at_quality` and maps 0 to 96, so there's no way to go up to the max of 127. Is this a bug I should report to ffmpeg?

If there is a nontrivial file size or quality difference between those two settings, sure. If not, it's probably not worth it :)
Post reply on HN