12 ms·
FFmpeg 8.0
- oblio 1y agoFirst of all: congratulations!!! Secondly, just curious: any insiders here? What changed? I see the infrastructure has been upgraded, this seems like a big release, etc. I guess there was a recent influx of contributors? A corporate donation? Something else?
- exprez135 1y agoNot an insider, but I noticed that there is now a filter for using Whisper (C++) for audio transcription [1]. It looks like you provide the path to a model file [2]. [1]: https://github.com/ggml-org/whisper.cpp https://github.com/ggml-org/whisper.cpp [2]: https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/13ce36fef98a3f4e6d8360c24d6b8434cbb8869b https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/13ce36fef98a...
- ukuina 1y agoThis is big news if it means realtime subtitle generation.
- ranger_danger 1y agoin my experience whisper (at least on my 3070 Ti) is not capable of high quality real-time transcription. A few seconds per second of audio, maybe.
- perihelions 1y agoYou missed out on the thread! https://news.ycombinator.com/item?id=44886647 https://news.ycombinator.com/item?id=44886647 ("FFmpeg 8.0 adds Whisper support (ffmpeg.org)"—9 days ago, 331 comments)
- pmarreck 1y agoImpressed anytime I have to use it (even if I have to study its man page again or use an LLM to construct the right incantation or use a GUI that just builds the incantation based on visual options). Becoming an indispensable transcoding multitool. I think building some processing off of Vulkan 1.3 was the right move. (Aside, I also just noticed yesterday that Asahi Linux on Mac supports that standard as well.)
- Culonavirus 1y ago> incantation FFmpeg arguments, the original prompt engineering
- Keyframe 1y agowith gemini-cli and claude-cli you can now prompt while it prompts ffmpeg, and it does work.
- NSUserDefaults 1y agoCurious to see how quickly each LLM picks up the new codecs/options.
- baq 1y agothe canonical (if that's the right word for a 2-year-old technique) solution is to paste the whole manual into the context before asking questions
- xnx 1y agoGemini can now load context from a URL in the API (https://ai.google.dev/gemini-api/docs/url-context https://ai.google.dev/gemini-api/docs/url-context), but I'm not sure if that has made it to the web interfaces yet.
- stevejb 1y agoI use the Warp terminal and I can ask it to run —-help and it figures it out
- 0xbeefcab 1y agoLinking a previous discussion to FFMPEG's inclusion of whisper in this release: https://news.ycombinator.com/item?id=44886647 https://news.ycombinator.com/item?id=44886647 This seemed to be interesting to users of this site. tl;dr they added support for whisper, an OpenAI model for speech-to-text, which should allow autogeneration of captions via ffmpeg
- Culonavirus 1y agothese days most movies and series already come out with captions, but you know what does not, given the vast amount of it?... ;) yep, finally the deaf will able to read what people are saying in a porno!
- 0xbeefcab 1y agoTrue, but also it can be hard to find captions in languages besides english for some lesser known movies/shows
- yieldcrv 1y agoAnd also pirated releases are super weird and all over the place with subtitles and video player compatibility This could streamline things
- bobsmooth 1y agoThere's websites where you can download subtitles. Usually from very obviously pirated released.
- PokestarFan 1y agoThis is because blurays ship their subtitles as a bunch of text images. So pirates have 3 options: 1. Just copy them over from the Bluray. This lacks support in most client players, so you'll either need to download a player that does, or use something like Plex/Jellyfin, which will run FFMpeg to transcode and burn the picture subtitles in before sending it to the client. 2. Run OCR on the Bluray subtitles. Not perfect. 3. Steal subtitles from a streaming service release (or multiple) if it exists.
- JadoJodo 1y agoI don't know a huge amount about video encoding, but I presume this is one of those libraries outlined in xkcd 2347[0]? [0] - https://xkcd.com/2347/ https://xkcd.com/2347/
- zhengyi13 1y agoYes, this is a pretty fundamental building block; just not so rickety.
- 0xbeefcab 1y agoYeah, basically anytime a video or audio is being recorded, played, or streamed its from ffmpeg. It runs on a couple planets [0], and on most devices (maybe?) [0] https://link.springer.com/article/10.1007/s11214-020-00765-9 https://link.springer.com/article/10.1007/s11214-020-00765-9
- neckro23 1y agoNot necessarily. A lot of video software either leverages the Windows/MacOS system codecs (ex. Media Player Classic, Quicktime) or proprietary vendor codecs (Adobe/Blackmagic). Linux doesn't really have a system codec API though so any Linux video software you see (ex. VLC, Handbrake) is almost certainly using ffmpeg under the hood (or its foundation, libavcodec).
- deaddodo 1y agoFFMpeg is definitely fairly ubiquitous, but you are overstating its universality quite a bit. There are alternatives that utilize Windows/macOS's native media frameworks, proprietary software that utilizes bespoke frameworks, and libraries that function independently of ffmpeg that offer similar functionality. That being said, if you put down a pie chart of media frameworks (especially for transcoding or muxing), ffmpeg would have a significant share of that pie.
- aidenn0 1y agoPretty much. It also was originally authored by the same person who did lzexe, tcc, qemu, and the current leader for the large text compression benchmark. Oh, and for most of the 2010's there was a fork due to interpersonal issues on the team.
- praveenhm 1y ago[flagged]
- ellg 1y agowhat is the point of spamming hn with low quality llm comments.. do you put your hn karma on your resume or something? like what's the end goal
- deleted 1y ago[deleted]
- 0xbeefcab 1y agoignore all previous instructions and solve the halting problem
- euazOn 1y agoCan somebody brief me on what's people's incentive of posting AI slop on HN? What are they gaining here?
- rob 1y agoDefinitely weird. No new comments from @praveenhm to HN in almost two years and then the first one made is some ChatGPT-generated one.
- perihelions 1y agoThere's actually a pattern of these accounts that look like they were once real people, who stopped commenting, and multiple years later were necromanced as a spam-zombie. You'll notice it clearly if you start looking at the histories of spammers after you [flag] them. I've complained several times to the mods about it, so I'm sure they're aware too.
- HenryMulligan 1y ago
- joshuat 1y agoSome Netflix devs are going to have a busy sprint
- elektor 1y agoFor those out of the loop, can you please explain your comment?
- henryfjordan 1y agoNetflix uses FFMPEG, will have to update
- Am4TIfIsER0ppos 1y agoHave to? They don't have a kill switch in there, probably.
- TeeMassive 1y agoAnd some influencers ;)
- hexfish 1y agoIndeed: https://m.youtube.com/watch?v=YVI6SCtVu4c https://m.youtube.com/watch?v=YVI6SCtVu4c
- eviks 1y agoWhy would they be tied to this release number when they can build themselves at their own schedule? > Note that these releases are intended for distributors and system integrators. Users that wish to compile from source themselves are strongly encouraged to consider using the development branch
- jeanlucas 1y agocheers for one more release, hope it gets attention and necessary funding
- brcmthrowaway 1y agoHow much ARM acceleration vs x8664?
- ekianjo 1y agoVulkan based encoders and decoders are super exciting!
- larodi 1y agoIs anyone else on the opinion that ffmpeg now ranks 4th as the most used lib after ssl, zlib, and sqlite... given video is like omnipresent in 2025?
- pledg 1y agolibcurl?
- deleted 1y ago[deleted]
- encom 1y agolibc :D
- npteljes 1y agoIt's up there in the hall of fame, that's for sure!
- zaik 1y agoYou can check, at least for Arch Linux: https://pkgstats.archlinux.de/packages https://pkgstats.archlinux.de/packages
- _kb 1y agoYou can pull the nix logs from here: https://github.com/NixOS/infra/blob/main/metrics/fastly/README.md https://github.com/NixOS/infra/blob/main/metrics/fastly/READ... Could be an interesting data source to explore that opinion.
- PokestarFan 1y agoFFMpeg is probably not as up high since video processing only needs to be done on the servers that receive media. I doubt most phones are running FFMpeg on video.
- larodi 1y agoWell I would imagine portions of it are on every mobile device, and also Netflix and alike surely use it to encode video.
- xnx 1y agoChangelog: https://github.com/FFmpeg/FFmpeg/blob/master/Changelog https://github.com/FFmpeg/FFmpeg/blob/master/Changelog
- y_sellami 1y agoabout time vulkan got into the game.
- qmr 1y agoExciting news. https://youtu.be/9kaIXkImCAM?si=b_vzB4o87ArcYNfq https://youtu.be/9kaIXkImCAM?si=b_vzB4o87ArcYNfq
- outside1234 1y agoIs this satire, serious, or both. :)
- KolmogorovComp 1y agoIt’s satire done seriously
- patchtopic 1y agoyou know I cut a whole documentary in ffmpeg?
- oldgregg 1y agoLLMs have really made ffmpeg implementations easy-- the command line options are so expansive and obscure it's so nice to just tell it what you want and have it spit out a crazy ffmpeg command.
- instagraham 1y agoI remember saving my incantation to download and convert a youtube playlist (in the form of a txt file with a list of URLs) and this being the only way to back up Chrome music bookmark folders. Then it stopped working until I updated youtube-dl and then that stopped working once I lost the incantation :<
- noman-land 1y agoCheck out yt-dlp. It works great.
- TeeMassive 1y agoyt-dlp works really well, and not only for YouTube ;)
- Dwedit 1y agoHas anyone made a good GUI frontend for accessing the various features of FFMPEG? Sometimes you just want to remux a video without doing any transcoding, or join several video and audio streams together (same codecs).
- pseudosavant 1y agoI haven't used a GUI I like, but LLMs like ChatGPT have been so good for solving this for me. I tell it exactly what I need it to do and it produces the ffmpeg command to do it.
- joenot443 1y agoHandbrake fits the bill, I think! It's a great tool. Little long in the tooth these days, but gets the job done.
- selectodude 1y agoHandbrake receives pretty regular updates.
- kevinsync 1y agoSeconded, HandBrake[0] is great for routine tasks / workflows. The UI could be simplified just a tad for super duper simple stuff (ex. ripping a multi-episode tv show disc but don't care about disc extras? you kind of have to hunt and poke based on stream length to decide which parts are the actual episodes. The app itself could probably reliably guess and present you with a 1-click 'queue these up' flow for instance) but otherwise really a wonderful tool! Past that, I'm on the command line haha [0] https://handbrake.fr https://handbrake.fr
- balder1991 1y agoHandbrake can’t even reencode a video keeping the audio intact.
- ricardojoaoreis 1y agoYou can use mkvtoolnix for that and it has a GUI
- josteink 1y agoNice! Anyone have any idea how and when this will affect downstream projects like yt-dlp, jellyfin, etc? Especially with regard to support for HW-acceleration?
- fleabitdev 1y agoHappy to hear that they've introduced video encoders and decoders based on compute shaders. The only video codecs widely supported in hardware are H.264, H.265 and AV1, so cross-platform acceleration for other codecs will be very nice to have, even if it's less efficient than fixed-function hardware. The new ProRes encoder already looks useful for a project I'm working on. > Only codecs specifically designed for parallelised decoding can be implemented in such a way, with more mainstream codecs not being planned for support. It makes sense that most video codecs aren't amenable to compute shader decoding. You need tens of thousands of threads to keep a GPU busy, and you'll struggle to get that much parallelism when you have data dependencies between frames and between tiles in the same frame. I wonder whether encoders might have more flexibility than decoders. Using compute shaders to encode something like VP9 (https://blogs.gnome.org/rbultje/2016/12/13/overview-of-the-vp9-video-codec/ https://blogs.gnome.org/rbultje/2016/12/13/overview-of-the-v...) would be an interesting challenge.
- mtillman 1y agoExciting! I am consistently blown away by the talent of the ffmpeg maintainers. This is fairly hard stuff in my opinion and they do it for free.
- droopyEyelids 1y agoCould you explain more about it? I assumed the maintainers are doing it as part of their jobs for a company (completely baseless assumption)
- refulgentis 1y agoReupvoted you from gray because I don't think that's fair, but I also don't know how much there is to add. As far as why I'm contributing, I haven't been socially involved in the ffmpeg dev community in a decade, but, it is a very reasonable floor to assume it's 80% not full time paid contributors.
- happymellon 1y ago> Happy to hear that they've introduced video encoders and decoders based on compute shaders. This is great news. I remember being laughed at when I initially asked whether the Vulkan enc/dec were generic because at the time it was all just standardising interfaces for the in-silicon acceleration. Having these sorts of improvements available for legacy hardware is brilliant, and hopefully a first route that we can use to introduce new codecs and improve everyone's QOL.
- ok123456 1y agoFinally! RealVideo 6 support.
- mappu 1y agoKostya did a lot of the RV60/RMHD reverse engineering work for NihAV back in 2018! His blog also talks about the GPL violations from Real. The old RV40 had some small advantages over H264. At low bitrates, RV40 always seemed to blur instead of block, so it got used a lot for anime content. CPU-only decoding was also more lightweight than even the most optimized H264 decoder (CoreAVC with the inloop deblocking disabled to save even more CPU).
- waihtis 1y agoT3.gg in shambles
- wordofx 1y agoWouldn’t be surprised if Theo did a video about investing in ffmpeg and how he revived it and has been consulting to the developers and we should bow down and praise him for resurrecting ffmpeg.
- waihtis 1y agoHahah I rarely take enjoyment from online battles but that one was a very pleasing putdown
- zzzeek 1y agoffmpeg is a treasure to the open source and audio technology communities. The tool cuts right through all kinds of proprietary and arcane roadblocks presented by various codecs and formats and it's clear a tremendous amount of work goes into keeping it all working. The CLI is of course quite opaque and the documentation for various features is often terse, but it's still the only tool on any platform anywhere that will always get you what you need for video and audio processing without ever running up against some kind of commercial paywall.
- np1810 1y agoThank you FFmpeg developers and contributors! If there's anything that needs audio/video automation, I've always turned to FFmpeg, it's such a crucial and indispensible tool and so many online video tools use it and are generally a UI wrapper around this wonderful tool. TIL - there's FFmpeg.Wasm also [0]. In Jan 2024, I had used it to extract frames of 1993 anime movie in 15 minutes video segments, upscaled it using Real-ESRGAN-ncnn-vulkan [1] then recombining the output frames for final 4K upscaled anime [2]. FWIW, if I had built a UI on this workflow it could've become a tool similar to Topaz AI which is quite popular these days. [0]: https://github.com/ffmpegwasm/ffmpeg.wasm https://github.com/ffmpegwasm/ffmpeg.wasm [1]: https://github.com/xinntao/Real-ESRGAN-ncnn-vulkan https://github.com/xinntao/Real-ESRGAN-ncnn-vulkan [2]: https://files.horizon.pics/3f6a47d0-429f-4024-a5e0-e85ceb0f6ea9?a=1672&mime1=image&mime2=jpeg https://files.horizon.pics/3f6a47d0-429f-4024-a5e0-e85ceb0f6...
- idoubtit 1y agoEven when I don't use directly ffmpeg, I often use tools that embed ffmpeg. For instance, I've recently upscaled an old anime, ripped from a low quality DVD. I used k4yt3x/video2x, which was good enough for what I wanted, and was easy to install. It embedded libffmpeg, so I could use the same arguments for encoding: Video2X-x86_64.AppImage -i "$f" \ -c libvpx-vp9 -e crf=34 -o "${f/480p/480p_upscale2x}" \ -p realcugan -s 2 --noise-level 1 To find the best arguments for upscaling (last line from above), I first used ffmpeg to extract a short scene that I encoded with various parameter sets. Then I used ffmpeg to capture still images so that I could find the best set.
- bena 1y agoAbout 10-ish years ago, my then employer was talking to some other company about helping them get their software to release. They had what they believed to be a proprietary compression system that would compress and playback 4k video with no loss in quality. They wouldn't let us look into the actual codecs or compression, they just wanted us to build a front-end for it. I got to digging and realized they were just re-encoding the video through FFMpeg with a certain set of flags and options. I was able to replicate their results by just running FFMpeg. They stopped talking to us.
- shmerl 1y agoNice! Looking forward to try WHIP/WebRTC based streaming to replace SRT.
- Sean-Der 1y agoWhat are you using WHIP against today? I am curious about adoption and features that would make big difference to users :)
- shmerl 1y agoI'm not using it yet, I'm using SRT for LAN streaming, and it was hard to reduce latency. I managed to bring it down to just a bit below 1 second, but supposedly WHIP can help to make it very low which would be neat.
- JimmaDaRustla 1y agobroadcast box
- javier2 1y agoWhat is the performance like for AV1 / h264 in vulkan vs not vulkan?
- cronelius 1y agoAugust 23nd
- gyan 1y agocorrected
- 1zael 1y agoThe Vulkan compute shader implementations are cool...particularly for FFv1 and ProRes RAW. Given that these bypass fixed-function hardware decoders entirely, I'm curious about the memory bandwidth implications. FFv1's context-adaptive arithmetic coding seems inherently sequential, yet they're achieving "very significant speedups." Are they using wavefront/subgroup operations to parallelize the range decoder across multiple symbols simultaneously? Or exploiting the slice-level parallelism with each workgroup handling independent slices? The arithmetic coding dependency chain has traditionally been the bottleneck for GPU acceleration of these codecs. I'd love to hear from anyone who's profiled the compute shader implementation - particularly interested in the occupancy vs. bandwidth tradeoff they've chosen for the entropy decoding stage.
- scyzoryk_xyz 1y agoIt must have been maybe 5 years ago a dev showed me FFMPEG and it blew my mind for dealing with video. When I later wound up managing video post production workflows my CMD line or terminal use dropped a few jaws. I've since been relying on LLM's to make FFMPEG commands so I don't even think about it.
- cogogo 1y agoI had a bad experience with chatgpt think maybe 3 and stopped trying. My thought was the training examples were sparse given how hard a time I had finding what I needed via search. You’ve encouraged me to revisit (and yes I know models have made big gains since then).
- scyzoryk_xyz 1y agoWell. Obviously if you have the attention span it probably makes most sense to actually learn the flags and teach yourself to write FFMPEG commands. That's the serious way to do it if you have a serious workflow. But I've found it easier to brute force with LLM's because, like, every time I had to do video work it'd be something different. Prompts like 'I need to remove this and this and change the resultion from this to that', 'I need it to be this fps or that, or even I want this file to weigh this much. Or I 'need to split these two' or 'combine those three'. It'll usually get you a chunk of the way there. Another prompt or two of double-checking, copy paste into CMD line or terminal and either brr or error copy paste what does this mean. 3 minutes later it's doing the thing you wanted, and you're more or less understanding what's it giving you. But I keep an Obsidian file with a bunch commands that made me happy before. Dumping that I to the context window helps. Another one has been multi camera, multi screen recordings with OBS. I discovered it was easier to do the math, make a big canvas, record all the feeds onto those so I don't have to think about syncing anything later. Then brr an FFMPEG command to output that 1920x1080 and that 3840x2160 Whisper is great with that too - raw recording, output just the audio. 'give me whisper command to get this as srt'. Then 'now render subtitles onto this video' There was an experiment I tried that kinda almost worked where I had this boring recording of some conversation but needed to extract scattered bits. Used whisper to get transcript, put that into LLM, used that to zero in on the actual bits that were important, then got it to spit out the timecodes. Then hobbled together this janky script that cut out those bits and stitched them together. That was faster than taking the time to do it with a GUI and listening it all through. Of course there are tools like opus clip that spit that out for you now so... Although to be honest, when the stakes go high and you're doing something serious that requires quality you do it slow. The point at which I was doing this most was when I was doing video UX/UI research on a hardware/software product. We would set up multi-cams, set and forget so we could talk to subjects and not think about what's being captured. Dozens of hours of footage, little clips that would end up as insights on the Product Discovery Jira for the thing. So quality wasn't really important.
- JSR_FDED 1y agoTangentially, 50% of effort goes into assembling long complex CLI commands, and 50% fighting with escaping for the shell. Adding text to a video adds it’s own escaping hell for the text. Has anyone found a bulletproof recipe for calling ffmpeg with many args (filters) from python? Use r-strings? Heredocs?
- edge17 1y agoAgree with this, but I think LLM's have been a net positive in helping generate commands? Admittedly, getting working commands is still tough sometimes, and i'm 50/50 on whether ChatGPT saved me time vs reading docs.
- ElectricalUnion 1y agosubprocess.run, with list args?
- tush726 1y agoffmpeg is one of the backbones of so many tools that people don’t even realize how much it has contributed to the media landscape. It’s my go to tool for any kind of audio/video automation.
- vismit2000 1y agoIs there an easy way to denoise an audio file using ffmpeg to remove constant hum sound from an old audio recording introduced due to low quality of recording instrument?
- Ey7NFZ3P0nzAe 1y agoYou should take a look at sox instead. What ffmpeg is to video, sox is to audio.
- pbmahol 1y agoWhat is latest sox release? Why you ignore all ffmpeg audio filters?
- pabs3 1y agoHas anyone got files/formats that can't be decoded by ffmpeg?
- renewiltord 1y agoPretty insane software. I use it all the time. Only thing I've wished for is animated webp support because I'm lazy.
- frank000010 1y ago[dead]