The creator of ffmpeg Fabrice Bellard(1) is truly a genius and has created so many amazing software that have been an amazing benefit to the world. (1) https://bellard.org/
How much of it is genius and how much of it is just an amazingly productive work ethic? Or maybe it requires genius to be this productive? I'm just amazed at what some people are able to build. Especially open source. Does he make money from ffmpeg? Or just do it as a side gig? Reminds me of the photopea guy. He has basically built a browser based clone of photoshop. Something that took Adobe thousands of engineers a…
FFmpeg is 20 years old today
51–60 of 99 posts
Re: FFmpeg is 20 years old today
#52The creator of ffmpeg Fabrice Bellard(1) is truly a genius and has created so many amazing software that have been an amazing benefit to the world. (1) https://bellard.org/
How much of it is genius and how much of it is just an amazingly productive work ethic? Or maybe it requires genius to be this productive? I'm just amazed at what some people are able to build. Especially open source. Does he make money from ffmpeg? Or just do it as a side gig? Reminds me of the photopea guy. He has basically built a browser based clone of photoshop. Something that took Adobe thousands of engineers a…
It's not true in every case, but the efficiency of solo developers and tiny teams is a massive advantage vs. inefficient huge teams crippled by corporate bureaucracy and layers of management. Even though the latter has astronomical budget vs the first, it doesn't actually guarantee better software.
Re: FFmpeg is 20 years old today
#53And i truly appreciate people who create useful software and open source it
Re: FFmpeg is 20 years old today
#54Earlier quoted context omitted.
I feel like the basics are simple and intuitive. Enough use of it and you will not consult docs for the most basic tasks. Then you start to think "but how do I...?" and go to google. I tend to also forget the answer after a few months.
> I tend to also forget the answer after a few months You can add comments to the end of tricky commands with the # character. Then at a later date you can search for commands using the contents of those comments, using something like C-r.
Personally, rather than interactively putting comments in my shell input, I prefer to write scripts or take notes in a text file.
Re: FFmpeg is 20 years old today
#55Earlier quoted context omitted.
I remember in the 90s when Microsoft, Apple and RealNetworks pushed hard for their own codecs and tools. IMHO those where dark times for digital video. ffmpeg and Xiph.org played a large part in changing that.
... which is really disappointing when you learn that H.261/MPEG1, a broadcast-ready standard, was already frozen at that time. (Of course, even more worry-free formats are already here - it is just the time needed to replace existing equipment).
It wasn't until 1999 with MPEG-4 that the licensing situation made MPEG codecs an option for desktops again, by which point other proprietary DCT codecs were widely deployed. Both Microsoft and Real dabbled with tech that came out MPEG-4, but it wasn't until that H.264 became decodable by mainstream computers that everyone finally settled down around an MPEG codec. Then, Google bought On2. (But that's a long story for a different thread [1].)
Here's some more detail for this thread:
H.261 pre-dates MPEG-1 by a bit. H.261 was compiled by the ITU-T chiefly to support video telephony, because the predecessor codec H.120 was conceptually neat, but practically garbage. H.261's design choices and JPEG's design choices factored heavily into MPEG-1 Video, and while the MPEG-1 standard also delivered a program stream and 3 techniques of audio compression, it was hardly broadcast-ready: it was missing a transport stream for unreliable media, and it was missing support for interlaced video. These deficiencies were rectified by MPEG-2 in 1996.
In the early 1990s, DCT-based video like MPEG-1 was too slow on contemporary mainstream desktop hardware, so people developed vector quantization codecs that would allow realtime playback: Cinepak, Indeo, MS Video 1, Smacker, and TrueMotion S. Some of these saw a lot of use in video games, and some were picked up by OS and platform-based stacks for multimedia, like QuickTime, Video for Windows, and then later, Real and Flash. Those platform stacks were designed with codec agility so that more advanced codecs could be switched in as developments came along. But correspondingly, good candidate codec needed to have a favorable IP situation for widespread deployment, so codecs were often homegrown from skimming contemporary sources (including standards), or licensed from smaller companies instead of the alternative: paying the MPEG LA for a license per decoder deployment, and then still having to procure decoder software.
Later, processors became more powerful and you could decode DCT in real time. In 1996, H.263 came out as an improvement over MPEG-2/H.262 at low bitrates. Other codecs followed suit and we ended up with RealVideo, Sorenson Spark in Flash Video, and VP3. The importance of OS-delivered or runtime-delivered media stacks rose; Real, QuickTime, Video for Windows, and Flash. These platforms would go on to dictate the containers, the video codecs, and audio codecs that were supported, so they had a dominating influence on multimedia on personal computers for the next decade.
MPEG-4 came out in 1999, which brought both MPEG-4 Part 2 (-> SP, ASP, DivX, Xvid) and H.264/AVC. The former was a bit of an improvement over H.263, while the latter had great potential but mainstream processors were too slow once again. Microsoft cribbed MPEG-4 Part 2 to make a version of a Windows Media Video codec, RealVideo did the same, and DivX and later Xvid rose to prominence in the early 2000s. The latter two gained notoriety for being used for DVD rips and filesharing; one could convincingly compress a 480p main title from a DVD in MPEG-4 Part 2 to ~700-1000 MiB, 700 MiB would fit on a CD.
Right around this time, Microsoft was showing off their latest WMV to prove you can have HD movies on a DVD. But content owners wanted bigger disks with better DRM, in part to make filesharing more of a hassle, and were leaning towards H.264 as the codec, so Microsoft got their latest VMV standardized as VC-1, and based their marketing on easier decoding, interlacing support, and a favorable patent situation. They got their VC-1 written into the HD-DVD and Blu-ray standards alongside H.264 and the aging MPEG-2. But it turned out there are patents on VC-1 after all and a patent pool was set up by the MPEG LA just the same; and then hardware finally caught up to decode H.264, so everyone settled on an MPEG codec at last. Briefly.
[1] https://news.ycombinator.com/item?id=15845114 [2] https://www.mpegla.com/programs/mpeg-2/license-agreement/
Re: FFmpeg is 20 years old today
#56Earlier quoted context omitted.
I wouldn't say we "suffered with VHS" since VHS actually has higher resolution (it records the full 480/576 vertical lines of broadcast TV, with horizontal resolution similar to VCD), VHS tapes could hold 2-8 hours (vs 74-80 minutes for VCD, not even enough for a standard "feature length" film), and you could record your own VHS tapes (which was the original selling point of home VCRs, not pre-recorded tapes; by the…
I thought VHS only had around 240 lines unless you used SuperVHS
VideoCD: NTSC: 352×240 PAL/SECAM: 352×288 https://en.wikipedia.org/wiki/Video_CD
Re: FFmpeg is 20 years old today
#57So youtube used ffmpeg quite extensively. https://multimedia.cx/eggs/googles-youtube-uses-ffmpeg/ It wouldn't be too surprising if they still did.
It's pretty interesting that YouTube offers such a huge surface area for processing user-uploaded files. Some of those obscure formats should have a security flaw. But the ffmpeg processes are surely sandboxed with seccomp or similar, so it probably does not matter at all.
Literally the hacker would upload a video, wait for it to encode, and then once it was available for viewing on the website, they'd be looking at a video containing the text from `/etc/passwd` or your envvars or some secrets file or whatever.
Yes, most encoding services are very well-sandboxed and even when our tiny streaming platform at the time got hit by this when it was first appeared a few years ago, it was a non-issue because there was nothing valuable or compromising on the encode servers for them to read. (I think Ubuntu AppArmor stopped it dead in its tracks on its own, anyway.)
[0] https://docs.google.com/presentation/d/1yqWy_aE3dQNXAhW8kxMx...
Re: FFmpeg is 20 years old today
#58Earlier quoted context omitted.
I'm curious as to how you figured out the audio was 210ms ahead of the video.
So I had recorded my son playing keyboard for a recital. The audio was recorded via MIDI into GarageBand into QuickTime Player. The video was off my iPhone via EpocCam over USB also into QuickTime Player. I was able to get the audio routing setup via a Multi-Output Device I configured in Audio MIDI Setup. The video had a slight delay which I didn’t quite notice till after I’d recorded it. I basically wrote a quick sc…
> I have now learned the importance of a clapperboard.
Ha! Good tip! Never thought about using one when doing recordings of recitals and stuff. Good idea.
Re: FFmpeg is 20 years old today
#59FFmpeg is one of those pieces of infrastructure that unpins modern media in such a fundamental way that it is hard to even imagine life without it. In the words of John Carmack: https://twitter.com/id_aa_carmack/status/1258531455220609025...
Re: FFmpeg is 20 years old today
#60The creator of ffmpeg Fabrice Bellard(1) is truly a genius and has created so many amazing software that have been an amazing benefit to the world. (1) https://bellard.org/
How much of it is genius and how much of it is just an amazingly productive work ethic? Or maybe it requires genius to be this productive? I'm just amazed at what some people are able to build. Especially open source. Does he make money from ffmpeg? Or just do it as a side gig? Reminds me of the photopea guy. He has basically built a browser based clone of photoshop. Something that took Adobe thousands of engineers a…
Fabrice Bellard started FFMpeg, but doesn't work on it anymore. He also started a few other little projects incuding most famously QEMU.