Live data from Hacker News

FFmpeg is 20 years old today

twitter.com

91–99 of 99 posts

Re: FFmpeg is 20 years old today

#92

Earlier quoted context omitted.

How were those "dark times" for video? At least for Real and Apple they were trying to solve then-unsolved delivery problems. Apple's video stack also covered desktop video editing/production. 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 d…

> 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 Nonsense. Variable frame rate is nothing but a very minor bandwidth saver. MPEG-1/2 have a tremendous amount in common with MPEG-4 ASP video and can perform almost as well in most scenarios you can draw up. MPEG-1/2 were mostly hobbled by the use of old, basic encoding hardware and t…

First of all, MPEG-4 Part 2 was an evolution of the h.263 spec. While all the h.26x have commonalities but they don't all have a linear relationship. Their commonalities are in high level concepts, not necessarily implementations.

As I said and thought I made clear, MPEG-1/2 were unsuitable for streaming on consumer hardware of the era. The lowest practical bitrates for either was far higher than common dial-up rates. Neither spec supported Sub-QCIF frame sizes or frame rates below 15fps.

Similarly audio was a problem as the specs wanted to use MPEG audio which likewise did not have super low bitrate modes. A software decoder could handle such things but the content was outside of a spec so you'd need the encoder and decoder to work hand in hand to work reliably.

No one decided to develop h.263 and MPEG-4 just for funsies because MPEG-1/2 handled everything with aplomb. Low bitrate/high latency conditions (dial-up, cellular) were not well served by MPEG-1/2.

Re: FFmpeg is 20 years old today

#94
post #66

Earlier quoted context omitted.

Another one I used to merge subtitles into their respective mkv video files: find . -name "*.mkv" -exec ffmpeg -i "{}" -i "{}.srt" -map 0 -map 1 -c copy "{}_merged.mkv" \;

No hate on ffmpeg but you can do this with mkvmerge as well.

Quite a nice syntax too:

    mkvmerge -o out.mkv in.avi in.srt
Thanks for the recommendation.

Re: FFmpeg is 20 years old today

#96
post #52
post #44

Earlier 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…

> Something that took Adobe thousands of engineers and decades to build up over time. 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.

Certainly true in Adobe's case.

Re: FFmpeg is 20 years old today

#97
post #31

Earlier 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'm well aware of these "benefits" you speak of, but it was still a crap format for video. If you were satisfied with VHS, then I'm happy for you. However, VHS was the absolute worst video format. It was the penultimate example of how end users did not compare about quality. Early YouTube also demonstrated this. Laser Discs required flipping over. VCDs required a second disc. First gen DVDs were DVD-10s which require…

VHS has a similar horizontal resolution to VCD (VHS has 240 lines per picture height, or about 320 lines across the whole width, while VCD has 352 pixels across the whole width) but has double the vertical resolution (and since it's an interlaced format, that also means it has double the temporal resolution). Take some interlaced 60Hz sports footage and convert it to VCD, and if you can tell me with a straight face that the VCD looks better, then I'll tell you that you're blind.

Re: FFmpeg is 20 years old today

#98
I sometimes miss mencoder... I always found it way more intuitive than ffmpeg, but I have to admit that by now I'm more proficient with ffmpeg than I ever was with mencoder. Happy birthday ffmpeg, RIP mencoder.

Edit: just realized mencoder seems to be still alive and kicking. Thought it was lost in the transition of mplayer starting to use ffmpeg code -> mpv... Have to take a look at mencoder and if it is as easy as I remember :)

Re: FFmpeg is 20 years old today

#99

Earlier quoted context omitted.

> 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 Nonsense. Variable frame rate is nothing but a very minor bandwidth saver. MPEG-1/2 have a tremendous amount in common with MPEG-4 ASP video and can perform almost as well in most scenarios you can draw up. MPEG-1/2 were mostly hobbled by the use of old, basic encoding hardware and t…

First of all, MPEG-4 Part 2 was an evolution of the h.263 spec. While all the h.26x have commonalities but they don't all have a linear relationship. Their commonalities are in high level concepts, not necessarily implementations. As I said and thought I made clear, MPEG-1/2 were unsuitable for streaming on consumer hardware of the era. The lowest practical bitrates for either was far higher than common dial-up rates…

> thought I made clear, MPEG-1/2 were unsuitable for streaming on consumer hardware of the era. The lowest practical bitrates for either was far higher than common dial-up rates. Neither spec supported Sub-QCIF frame sizes or frame rates below 15fps.

You did make it clear, you're just 100% incorrect. You can encode MPEG-1 video with any resolution and any bitrate you choose, just like MPEG-4 ASP. It is entirely within spec.

https://en.wikipedia.org/wiki/MPEG-1#Resolution/bitrate

> MPEG-4 Part 2 was an evolution of the h.263 spec

Not really. MPEG-4 ASP has much more in common with MPEG-2. MPEG-4 ASP for example omitted the in-loop deblocking in h.263, which reappeared in AVC/H.264.

> audio was a problem as the specs wanted to use MPEG audio which likewise did not have super low bitrate modes.

This is entirely wrong again. The MPEG-2 standard had defined audio modes down to 8kbits and 16000Hz.

https://en.wikipedia.org/wiki/MPEG-1#MPEG-2_audio_extensions

> No one decided to develop h.263 and MPEG-4 just for funsies

h.263 was developed for very low latency encoding to support real-time video conferencing better than MPEG-1/2.

MPEG-4 SP was an attempt to develop a patent royalty-free codec, which MPEG-1/2 were not (they are, now). MPEG-4 part-2 video does offer some small improvements in quality over MPEG-1/2 (qpel, 4mv), but nothing dramatic. That was saved for AVC, which is of course a significant improvement over MPEG-1/2 at low bitrates.

Post reply on HN