Live data from Hacker News

FFmpeg 6.0

ffmpeg.org

201–210 of 210 posts

Re: FFmpeg 6.0

#201
post #106

Earlier quoted context omitted.

> Never used the `crf` or `pix_fmt` flags personally, but seems correct ( Let me translate: the AI might or might not be bullshitting, I have no way to know but I decide to believe in it. Why ?

Why do you trust the descriptions of `ffmpeg -help`? What if some evil daemon [1] went into the binary and changed completely the behaviour of the flags? Do you read the source code and verify the checksums for every program you run? In the real world, good or bad, very few people care beyond a first level of trust: does it work for my current issue? great, no?, try something else. Also, you disingenuously left out t…

ChatGPT is a stochastic parrot it doesn't even pass the sniff test, or first level of trust. Does it work? That's meaningless pretty much as everything else that ChatGPT spits out. The information contained in them is zero. If you read something ChatGPT wrote, you know exactly as much as you did before you read it. It sounds plausible and it's basically a zero day on human cognition. Be vigilant.

You linked Wikipedia: I don't trust that either. If I want to actually know something I will follow the sources and then evaluate the trustworthiness of the sources. Indeed, most of the Scottish Wikipedia being written by an American teenager who didn't speak Scottish at all very strongly parallels ChatGPT.

Re: FFmpeg 6.0

#202
post #22

If you want to know a bit more about what is important in this major release, you can watch my presentation about FFmpeg 6.0 at Fosdem: https://fosdem.org/2023/schedule/event/om_vlc/ (Video + Slides) It’s a bit less dry than the changelog, notably for the evolutions of the APIs. What’s also important is the changes about the release schedule that we’ve been pushing with the community. Major version every year at the…

A bit off topic, but in your talk you said that intel, nvidia and amd encoder are worse than svt-av1. How much worse and which card is the best? Always encoding with ab-av1/av1an using svt-av1, but with the "right" preset it's still really slow. Which hardware encoder (in your opinion/experience) is the best to use (size/quality speed doesn't matter as much). If I want to convert my media server to av1 only should I…

I dont have a card to test, but the last VMAF bench I saw shows hardware AV1 is slightly better than veryslow x264.

Which is way better than hardware h.264... but also terrible compared to svt-av1, lol.

Try using av1an to parallelize (and improve the quality of) your encode. And TBH you should not re encode your library unless it has raw rips or something like that, and you are short on space.

Re: FFmpeg 6.0

#203
post #185
post #31

ffmpeg is my go-to re-encoder. I didn't know ffprobe existed until I read some "howto" and its also increadibly useful as a way to get fundamental video and audio stream data out as e.g. csv or json. So I can run an ffprobe script to get x,y info out, decide if the video needs re-encoding, pass to an ffmpeg call which does fast or veryfast settings to reset the x/y scale (for instance) It's also unquestionably 'self…

I've been so frustrated that FFprobe functionality is not part of FFmpeg. My app extracts screenshots from videos to create a beautiful gallery of videos. But even though I include FFmpeg already, I need a 50mb FFprobe executable to be bundled with my app just so that I can determine the width, height, duration, and fps of a video file! What is it that FFprobe does that FFmpeg couldn't do with a few extra pieces of e…

ffmpeg and ffprobe are built against the exact same set of libraries, so they could certainly be combined into a single program if the ffmpeg maintainers chose to do so.

Two possible options to reduce the size of your application:

(1) Instead of using ffprobe, just call "ffmpeg -i " without specifying an output file, then parse stderr:

    $ ffmpeg -i https://download.dolby.com/us/en/test-tones/dolby-atmos-trailer_amaze_1080.mp4 >/dev/null
    ffmpeg version 4.4.2 Copyright (c) 2000-2021 the FFmpeg developers
    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'https://download.dolby.com/us/en/test-tones/dolby-atmos-trailer_amaze_1080.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf58.76.100
      Duration: 00:01:03.55, start: 0.000000, bitrate: 4537 kb/s
      Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 128 kb/s (default)
        Metadata:
          handler_name    : sound handler
          vendor_id       : [0][0][0][0]
      Stream #0:1(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 4404 kb/s, 24 fps, 24 tbr, 12288 tbn, 48 tbc (default)
        Metadata:
          handler_name    : video handler
          vendor_id       : [0][0][0][0]
    At least one output file must be specified
This is admittedly messy compared to parsing structured ffprobe output, but it does contain all the information you mentioned (assuming duration in centiseconds is sufficiently precise for your application).

(2) Link both ffmpeg and ffprobe dynamically, in which case they'll share all but a few hundred kilobytes of on-disk code.

For example, consider ffmpeg and ffprobe as installed from package repositories on a variety of systems:

ffmpeg 4.4.2 installed by MacPorts on macOS Monterey (x86_64):

    $ du -hA /opt/local/bin/ff{mpeg,probe}
    339K  /opt/local/bin/ffmpeg
    260K  /opt/local/bin/ffprobe

    $ diff -s  /opt/local/bin/ffprobe:
    72d71
    
ffmpeg 5.1.2 installed from RPM Fusion on Fedora 37 (x86_64):

    $ du -h /usr/bin/ff{mpeg,probe}
    284K  /usr/bin/ffmpeg
    176K  /usr/bin/ffprobe

    $ diff -s 
ffmpeg 4.3.5 installed from raspberrypi.org on Debian 11.6 (aarch64):

    $ du -h /usr/bin/ff{mpeg,probe}
    276K  /usr/bin/ffmpeg
    176K  /usr/bin/ffprobe

    $ diff -s 
MinGW-w64 ffmpeg 4.4.3 installed by MSYS2 on Windows 10 (x86_64):

    $ du -h /mingw64/bin/ff{mpeg,probe}.exe
    320K  /mingw64/bin/ffmpeg.exe
    184K  /mingw64/bin/ffprobe.exe

    $ diff -s 
("Dependencies" is Dependencies.exe from https://github.com/lucasg/Dependencies)

Re: FFmpeg 6.0

#204
post #41

Earlier quoted context omitted.

Yes, chat GPT excels at comprehending and explaining things that have a consistent structure, restructuring, and and synthesising variations. If you keep it in its lane, it’s an excellent tool. It’s really really bad at counting though. For example, try asking it to produce a line of 40 asterisks.

It’s bad at counting because counting relies on a stateful O(N) algorithm you run in your brain. GPT is trained to reproduce human text, which tends to simply have the output of this O(N) counting process, but not the process itself. So GPT “thinks” it should be able to just spit out the number just like human text implies we do. It doesn’t know we are relying on an offline O(N) algorithm. If you have it emit a numbe…

Note that language models get much better at pretty much any reasoning task when they are prompted to use chain-of-thaught (Cot) reasoning. The difference between "Solve x" and "Solve x, let's think step by step" comes from the language model using the context window as short term memory in some sense. Perhaps your explanation in terms of complexity is better, but I'm not sure whether it explains the effectiveness of CoT in general.

Re: FFmpeg 6.0

#205
post #185

Earlier quoted context omitted.

I've been so frustrated that FFprobe functionality is not part of FFmpeg. My app extracts screenshots from videos to create a beautiful gallery of videos. But even though I include FFmpeg already, I need a 50mb FFprobe executable to be bundled with my app just so that I can determine the width, height, duration, and fps of a video file! What is it that FFprobe does that FFmpeg couldn't do with a few extra pieces of e…

ffmpeg and ffprobe are built against the exact same set of libraries, so they could certainly be combined into a single program if the ffmpeg maintainers chose to do so. Two possible options to reduce the size of your application: (1) Instead of using ffprobe, just call "ffmpeg -i " without specifying an output file, then parse stderr: $ ffmpeg -i https://download.dolby.com/us/en/test-tones/dolby-atmos-trailer_amaze_…

You are a superhero!

I'll explore these options https://github.com/whyboris/Video-Hub-App

Re: FFmpeg 6.0

#206
post #74

Earlier quoted context omitted.

This is very nice. I've been surprised how many people don't know HN, it can definitely use some promotion.

Be careful what you wish for!

You're sweet, and we appreciate being a known secret, but I hardly worry about swathes of ffmpeg 6.0 nerds joining the community. Indeed they might be a welcome addition.

Re: FFmpeg 6.0

#207
post #163
post #6

Fun fact of the day: ffmpeg is written by Fabrice Bellard, who among other impressive things, wrote the JS PC emulator capable of running windows 2000 in a browser over 10 years ago that got me fascinated with emulators in general. https://bellard.org/jslinux/tech.html

This is ridiculous. Not only is Bellard no longer involved, but to say 'written' implies he did this by himself. You wouldn't say Linux Torvalds wrote Linux. It's literally written by thousands of people. I work with people like this, and I hate it when people say "I wrote X feature." No, no you didn't. It was written by a whole team.

I don't see anything wrong with this. It's like saying "Apple is built by Steve Jobs" even though obviously a lot more people are involved, and even if Jobs is no longer even around.

Re: FFmpeg 6.0

#210
post #207
post #163

Earlier quoted context omitted.

This is ridiculous. Not only is Bellard no longer involved, but to say 'written' implies he did this by himself. You wouldn't say Linux Torvalds wrote Linux. It's literally written by thousands of people. I work with people like this, and I hate it when people say "I wrote X feature." No, no you didn't. It was written by a whole team.

I don't see anything wrong with this. It's like saying "Apple is built by Steve Jobs" even though obviously a lot more people are involved, and even if Jobs is no longer even around.

No. That's not a good comparison. No one would say that about a company. A product, yes, but not a company. Steve Jobs founded, and led Apple.
Post reply on HN