No affiliation -- found it while searching for browser-based ports of FFmpeg.
FFmpeg is 20 years old today
71–80 of 99 posts
Re: FFmpeg is 20 years old today
#72Couple highlights for my careering using it over the years. The first was when I was working on production and post-production for a small studio that had a popular web series and was just about to transition to their first "big" shows that would be produced for Hulu. This was when 6K raw video was just becoming a thing, we had over 50tb of footage, GPU decoding was brand-new, Windows machines couldn't work practically with Apple ProRes, lots of challenges. I ended up building a system that did things like transcode raw footage into various formats automatically whenever the server noticed there was new footage, automatically collected and stored the metadata from every shot somewhere we could centrally browse/search/filter it, etc. When it came time to deliver, it would automatically create various outputs for the web. We had to deliver ProRes masters in the end and had recently transitioned entirely to PCs. This was around when somebody successfully implemented a pretty good ProRes encoder for FFmpeg, so we were then able to encode and deliver these huge ProRes outputs not only without needing a Mac, but also entirely on our servers, no longer requiring someone's workstation to be hijacked for an entire day to do this. It all may not seem too revolutionary, but there was no way we would've been able to work with the same efficiency, for the same cost, in the same timeframe otherwise.
A couple years later, at a new (now defunct) video platform with millions of videos and maybe 5 back-end engineers, FFmpeg allowed us to build our own service to encode all uploads into the many resolutions and formats required. Encoding services were (and still are) very expensive, but in just a couple weeks we had our own that ran on standard Ubuntu server instances, spinning up/down depending on load. Immense cost savings, and not tied to any particular company. Shortly thereafter, GPU instances were available from most cloud providers and `nvenc` was available in FFmpeg, so we were able to dramatically speed up the encode process with maybe a day of work by adding GPU encoding into the mix.
These may seem like pretty obvious possibilities now, but it cannot be overstated how insane it was, especially at the time, for tiny and/or cash-strapped teams to be able to do all of this so easily, and that at the tool at the crux of it all, FFmpeg, was completely free. Yes, FFmpeg can be a pain in the ass to figure out, and it's easy these days to take it for granted, but in my opinion it has been truly revolutionary.
[1] https://www.youtube.com/watch?v=LsF5bHRxC_M [2] https://blog.twitch.tv/en/2017/10/10/live-video-transmuxing-...
Re: FFmpeg is 20 years old today
#73Literally just used it today to re-sync the audio and video in some movies I recorded where I needed to add a 210ms delay to the audio. There's no better tool that I know of for doing this, even on macOS: ffmpeg \ -i "$input" -itsoffset "$offset" \ -i "$input" \ -map 0:0 \ -map 1:1 \ -acodec copy \ -vcodec copy \ "$output"
Re: FFmpeg is 20 years old today
#74I remember reading about it initially and saying "that sounds ambitious,and useful"... I think its safe to say they changed the world for the better with that single A/V swiss army knife tool. Amazing achievement.
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.
Video is hard. It's a lot of data that needs to be read, processed, and displayed under tight time constraints and needs to be synchronized with associated audio playback.
This is all made more challenging if you're trying to do it on storage, bandwidth, memory, and processing constrained consumer computing hardware. Compression somewhat solved the storage and bandwidth problems but not processing. Better fidelity codecs needed a lot more processing power to decode.
In the early 90s you had MPEG-1 at the high end of the quality scale but was so processor intensive you needed decoder ASICs in consumer hardware just to play it back. Then you had codecs like Cinepak that were far less processor intensive but middling quality. Then you had much lower fidelity like Microsoft's Video1, Apple Video, and even Smacker which had very low decoding requirements but didn't look great.
Network delivery of any of those in consumer hardware was a pipe dream when 14.4K modems were still rare and 9.6k were common. The h.261 codec, which MPEG-1 was based on, had a minimum bitrate of 64kbps which was out of reach of pretty much everyone.
Besides the hardware decoding requirements of MPEG-1 it was entirely unsuited for editing. Both QuickTime and Video for Windows were meant for editing on consumer desktop machines. The codecs they supported were meant for editing and then delivery (on CD-ROM typically).
In the mid to late 90s processing power had advanced such that MPEG-1 and h.261/3 could be decoded real-time in software. RealVideo and Sorensen Video 1 were both based on drafts of the h.263 spec which included video conferencing over POTS connections in its design criteria.
Again I'm not seeing dark times for digital video. There were lots of codecs because they had different uses, limitations, and strengths. The h.26x codecs were designed for video conferencing and it was Real and to a lesser extent Apple that realized they were also useful for streaming over the internet. Both MPEG-1/2 were unsuited for streaming as they didn't support variable frame rates and handled low dial-up bitrates poorly at best. It wasn't until the MPEG-4 überspec that internet streaming, video conferencing, and disc-based delivery settled under a single specification.
While ffmpeg is an amazing project and widely used, it didn't really do anything to settle the proliferation of codecs and containers. It really was MPEG-4 that allowed for that to happen to the extent it's happened.
Re: FFmpeg is 20 years old today
#75Earlier quoted context omitted.
... 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).
You can blame the lack of uptake of MPEG-2 in the personal computing space on the license terms set by the MPEG LA, which charged patent licensees an amount based on the number of encoders and/or decoders they wanted to ship [2], and because DCT codecs were too slow to decode on CPUs until the mid-1990s. There were competitive proprietary codecs that could be licensed more favorably and performed better. These got bu…
It's interesting because h.263 (coming out of the ITU-T) was developed for video conferencing like h.261. Real and Sorensen adapted it to streaming/disc delivery. The MPEG-4 spec was the first time the VCEG and MPEG got together and put the peanut butter and chocolate together from the start. It's maybe obvious in hindsight but I think it was the first time the needs of video conferencing, streaming, and disc/"digital" delivery really overlapped in terms of devices and environment.
Re: FFmpeg is 20 years old today
#76Re: FFmpeg is 20 years old today
#77Earlier quoted context omitted.
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…
Yeah, genius could even be an understatement in my opinion. He is up there with the greatest of the greats. Anyone with a quarter of his productive output would easily qualify as genius already. He has basically no presence online besides his remarkabke work and of course that only strengthens the legend.
Probably part of the explanation for the productivity XD
Re: FFmpeg is 20 years old today
#78Earlier quoted context omitted.
Yeah, genius could even be an understatement in my opinion. He is up there with the greatest of the greats. Anyone with a quarter of his productive output would easily qualify as genius already. He has basically no presence online besides his remarkabke work and of course that only strengthens the legend.
> He has basically no presence online Probably part of the explanation for the productivity XD
Re: FFmpeg is 20 years old today
#79Earlier quoted context omitted.
Your "clapboard" would be a series of notes played on the keyboard in view of the camera.
That's what I did but it was surprisingly difficult to tell exactly when a key is pressed. It's just not as precise visually or aurally as a clapboard.