• webdevver 3 hours ago

    chatgpt has revolutionized ffmpeg for me. i had no idea how powerful it was and the crazy oneliners you could do - i had this small project to make a moving collage of video frames, and chatgpt produced the crazy invocation for it. it even showed me how to use intel quicksync.

    the point is, there is no way i would have been able to figure out the command line myself. it still trips up every now and then (at which point im often screwed), but i can atleast finally use the tool.

    • thrdbndndn 2 hours ago

      It has been said at every single post about ffmpeg (and it's true!) so I would also add my obligatory comment:

      DO use ChatGPT to help you to write ffmpeg commands, but at least has some basic understanding of how ffmpeg works -- especially the fact that it works like a pipeline so the order of the options absolutely matters.

      And ChatGPT often throw lots of unnecessary options (sometimes even do harm), so do actually investigate what each switch is supposed to do (ChatGPT can help with that too) if you're going to use the generated command for something semi-serious.

      If possible, try to keep the switches as few as possible and avoid exotic flags. But do pay attention to pixel format and colorspace options to make your video as compatible as possible. It's very easy to mess things up for doing even seemingly simple tasks (like converting static images to slideshow etc.)

      • Kinrany 2 hours ago

        I have the experience of reading an ffmpeg one-liner (that really took more like five lines with wraparound) and trying to understand it. Half the options seemed unnecessary, but every single one of them would break the script when removed.

      • frde_me 2 hours ago

        We had to encode a lot of videos at work once to play back to users. The resulting FFMPEG commands ended up being so complicated, every argument had about a one paragraph comment explaining it

        Had to try and fix a bug with that script and it took me hours just to get some understanding of it.

        Makes me wonder if video processing is just that complicated, or if someone could make some sort of simpler tool for this

        • ssl-3 an hour ago

          There's simpler tools like Handbrake that present a GUI for handling many video encoding tasks, or even things like Tdarr for distributed transcoding tasks.

          But if you're documenting it right then you'll still need a paragraph explaining what every checkbox does...

          • amonith 2 hours ago

            ffmpeg should be config-based with verbose descriptive names for everything. It doesn't make sense in its CLI form. It's far from human-readable since a very long time.

          • RedShift1 2 hours ago

            Yeah it doesn't help that the manpage is so unwieldy, quite annoying that you can't find an option that you specify like this: "-abc", but in the manpage it's just documented as "abc", and of course "abc" is everywhere else in the manpage as well.

        • ksec 2 hours ago

          This is a great VVC release! Unfortunately x266 is still far from ready.

          I am surprised we got LC-EVC in. Not sure about adoption outside TV but it is a very nice technology that is hyper efficient. ( This is not related to the MPEG 5 EVC )

          >you can use LC-EVC with H.264, HEVC or AV1 base layers.

          It can be used with VVC as well. That is what the Brazilian TV 3.0 has adopted. On the surface this gives an additional 10-20% BD-Rate. Can't wait t have encoder to test this out.

          • jbk 2 hours ago

            > I am surprised we got LC-EVC in.

            I pushed quite a lot on that, tbh, because of the Brazil adoption.

          • IntelMiner 3 hours ago

            I'm told that GPU-based encoding (Nvenc etc) can't possibly match a "brute force' CPU encode if you want truly tiny filesizes. Nvenc's encoder is also miserable in terms of quality

            Does this "Vulkan based encoding" mean we'll be able to get the best of both worlds? A 'pure' software encoder, but with the massive parallelism of a GPU?

            If so I'd be extremely excited. Getting to shrink my DVD and Blu Ray rip collection down by moving it all to AV1 at rest would massively reduce my storage cost

            • jbk 3 hours ago

              > Does this "Vulkan based encoding" mean we'll be able to get the best of both worlds?

              Unlikely. This is just a generic API to the same GPU backends; so you will not see more quality than nvenc.

              • IntelMiner 3 hours ago

                What's the point of using Vulkan as an encoding API if the work is still being done on the CPU then? I'm not sure I understand

                • jbk 3 hours ago

                  No, no, it's done on GPU.

                  • IntelMiner 3 hours ago

                    Isn't Nvenc (and its equivalents) based on using a specific ASIC on the GPU, rather than Vulkan which (as I understand it?) is just "regular" GPU compute?

                    • kuschku 3 hours ago

                      Most GPU encoders are part ASIC, part regular GPGPU compute. That's what allowed AMD to increase the quality of their encoders via a driver update, but also why you can't add easily add entirely new codecs.

                      That said, outside of GPUs there are both FPGA-based and pure-ASIC hardware encoders that beat not just NVENC but even software encoding in terms of quality AND performance, such as AMD's Alveo lineup. https://www.amd.com/en/products/accelerators/alveo/ma35d.htm...

                      • magicalhippo 3 hours ago

                        No, Vulkan has released a standard API for video encoding/decoding[1]. So you can use that to access the hardware rather than the proprietary APIs like nvenc.

                        [1]: https://www.khronos.org/assets/uploads/apis/Vulkan-Video-Dee...

                • EraYaN 3 hours ago

                  For your Bluray collection HEVC is still advisable at reasonable bit rates. AV1 really only beats it in fairly low bitrate scenarios. Plus the HDR story is much better with HEVC.

                  • thrdbndndn 2 hours ago

                    Ditto. Hell, the improvement of HEVC over H264 isn't even too significant at high bitrate (say, >10Mbps).

                  • querez 3 hours ago

                    > Getting to shrink my DVD and Blu Ray rip collection down by moving it all to AV1 at rest would massively reduce my storage cost

                    SVT-AV1 is pretty fast these days, Almost every minor release added last year added an additional 10-50% speedup. So if you haven't checked it out for a year or so, you'll be amazed by how much quicker it has gotten. Just saying.

                    • dist-epoch 2 hours ago

                      For best quality you absolutely need a two-pass encoding, where in the first pass you collect "statistics" which are used to allocate bitrate in the second pass where you do the actual encoding.

                      I don't think NVENC supports this workflow, which is a big reason it's not suitable for quality encoding.

                      • WithinReason 14 minutes ago

                        That's only if you're targeting a given filesize, with a target quality you only need 1 pass

                    • xenodium 2 hours ago

                      While ffmpeg is a powerhouse, I don't use it frequently enough to remember all the options I'd need for my typical usage. Having said that, I have saved some magical incantations over time and built a handy context menu over time https://lmno.lol/alvaro/how-i-batch-apply-and-save-one-liner...

                      Now I can just highlight a file and:

                      - covert audio to mp3

                      - convert gif to video

                      - convert to mp4

                      - convert video to gif

                      - convert video to webp

                      - convert video to hevc mkv

                      - convert video to mp3

                      - convert video to mp3 with artwork

                      - convert video to thumbnail

                      - trim video beginning

                      - trim video end

                      - drop video audio

                      - speed up video

                      - speed up video fragment

                      - resize video

                      • gcr an hour ago

                        Does anyone have details on VVC’s auxiliary stream support (transparency / depth)? I work on large-scale outdoor scene understanding datasets and being able to encode stereo RGB video with 16-bit depth would be extremely helpful!

                        • kuschku 3 hours ago

                          Is anyone working on adding/improving support for RAW formats? As in, cinema DNG (in .MXF or as image sequence), blackmagic RAW, Apple ProRes Raw?

                          I only found an open ffmpeg patchset for cinema DNG, blackmagic raw has no support anywhere outside of the manufacturer's SDK and Apple ProRes RAW has only Apple's SDK and a proprietary reimplementation by a czech developer. The current ffmpeg release supports afaict neither of these formats.

                          I thought about writing my own decoder for ProRes RAW but as I've never written a codec before, I haven't had much success ^^

                          • captn3m0 3 hours ago

                            It would be nice if FFmpeg could also specify a clear support policy for the LTS release. As of now, LTS releases are marked, but what does Long Term Support really mean is (afaik) left unspecified. Having a clear policy like (2 LTS are supported at a given time, and every ODD.1 release is LTS) would be helpful.

                            • jbk 3 hours ago

                              I documented that a bit that, in the past: every ODD.1 release is LTS.

                              And the LTS is maintained at least as long as the next LTS is, and should be at least 3 years.

                              So, for example, we support 5.1 and 7.1 as LTS. And we support 6.1 and 4.4 as best effort.

                              • captn3m0 5 minutes ago

                                I could find some discussion references on the mailing list, but nothing on the main website/wiki. Would be great if this could get documented on the website. (I'm filing a PR for endoflife.date/ffmpeg)

                            • lyu07282 3 hours ago

                              > This release is more than 2700 commits, and the diff is around 211kLoC!

                              That's impressive, glad to see such an incredibly important project healthy!

                              • boristsr 3 hours ago

                                Impressive release!

                                • jbk 3 hours ago

                                  Yes, it's quite a big release, with a ton of things that were underway, and they got merged!

                                • undefined 2 hours ago
                                  [deleted]