Hacker News new | past | comments | ask | show | jobs | submit login
FFmpeg 5.1 out – LTS release (ffmpeg.org)
58 points by gyan on July 22, 2022 | hide | past | favorite | 14 comments



FFmpeg is one of those tools that we desperately need a new alternative to.

After almost 20 years of Linux I couldn't type a correct FFmpeg command with a gun to my head.


I wrote a simple-sounding script to record pulseaudio null sink on one device and send it to another. Tried a bunch of different ways:

parec | opusenc | nc

parec | ffmpeg | nc

Then discovered that ffmpeg can record directly from pulseaudio and serve it over rtsp. But after a few days of experimenting I realised I could still fuck up the command and be left scratching my head not understanding why it didn't work. Positional arguments in multiple places that affect different things depending on what precedes them. Trying to figure out which part of the command line affects input, cloned streams, output(s) etc. Ffmpeg is a great tool, but seriously hard to use. I ended up not only dropping it for recording and sending over the network, I threw it out completely and ended up with:

parec | flac | mbuffer

... Which provides the best quality, consistency and latency. But the best part is that the actual command line isn't much more complex than the pseudo code above.


ffmpeg is one of those tools which is great and just works, time and time again.

You don't know how to use a massively flexible tool that's fine, use something that wraps it, or employ someone who does know how to use it.


It's an extremely complex mash of codecs, and I'm not sure you could make it simpler while keeping all its capabilities.

I personally just make scripts with the required transcoding parameters, and I just look at the documentation again when I need to create a new one.


Use handbrake: https://handbrake.fr/

It uses ffmpeg under the hood.


Gstreamer. It has a learning curve but the documentation is excellent.


Changelog:

- add ipfs/ipns protocol support

- dialogue enhance audio filter

- dropped obsolete XvMC hwaccel

- pcm-bluray encoder

- DFPWM audio encoder/decoder and raw muxer/demuxer

- SITI filter

- Vizrt Binary Image encoder/decoder

- avsynctest source filter

- feedback video filter

- pixelize video filter

- colormap video filter

- colorchart video source filter

- multiply video filter

- PGS subtitle frame merge bitstream filter

- blurdetect filter

- tiltshelf audio filter

- QOI image format support

- ffprobe -o option

- virtualbass audio filter

- VDPAU AV1 hwaccel

- PHM image format support

- remap_opencl filter

- added chromakey_cuda filter


Audio channel layout API finally got a long needed rework

https://github.com/FFmpeg/FFmpeg/commit/086a8048061bf9fb4c63...


I think it also adds AVIF support?



Could someone explain what ipfs protocol support means? What can ffmpeg do with ipfs?


> InterPlanetary File System (IPFS) protocol support. One can access files stored on the IPFS network through so-called gateways. These are http(s) endpoints. This protocol wraps the IPFS native protocols (ipfs:// and ipns://) to be sent to such a gateway. Users can (and should) host their own node which means this protocol will use one’s local gateway to access files on the IPFS network. If a user doesn’t have a node of their own then the public gateway https://dweb.link is used by default.

https://ffmpeg.org/ffmpeg-protocols.html#ipfs


And for the avoidance of doubt, yes, ffmpeg is used on multiple planets, not many things are, and many frameworks-du-jour at launch are obsolete by the time the probe actually lands on Mars, let alone end of mission.


Looks like it supports getting data from ipfs:// and ipns:// URIs by using an ipfs gateway, which is basically an http-to-ipfs server.

- https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/ipf...

- https://github.com/FFmpeg/FFmpeg/commit/f889837e00d3b2388a24...




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: