Latest FFmpeg Builds

Discussion in 'Application Software' started by jineso, Jan 27, 2023.

  1. jineso

    jineso MDL Member

    Oct 8, 2021
    205
    42
    10
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  2. feraxuz

    feraxuz MDL Novice

    Mar 29, 2015
    6
    8
    0
    I know this is a late reply, but maybe it can be of help for you or others that need further explanation.
    Essentially GPL versions include the most libraries/encoders/decoders, LGPL are stripped down to comply with the license.
    And the ones with the "shared" tag are dynamically linked, so the binaries are smaller.
    The ones without the tag are statically linked, the binaries are huge bc there's code being repeated in the binaries.

    For example, ffmpeg.exe and ffplay.exe in certain cases would both need the same codec, in a shared build the binaries would look for them in a common file (avcodec-x.dll)
    In a non-shared build the codec would be inside the .exe files. so both ffmpeg.exe and ffplay.exe essentially have the same file inside inside, repeated.

    Personally i always run the lastest stable, shared, GPL build I can find. (ffmpeg-n5.1-latest-win64-gpl-shared-5.1.zip)
     
  3. jineso

    jineso MDL Member

    Oct 8, 2021
    205
    42
    10
    Thanks a lot.
    I will follow your advice always go for ffmpeg-n-latest-win64-gpl-shared-.zip
    Just one question, does the n refer to a Number?
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  4. ohenry

    ohenry MDL Senior Member

    Aug 10, 2009
    423
    252
    10
    I agree with everything stated above by feraxuz, his comments are very clear and 100% correct. And yet, I disagree with his conclusion that the shared build is the best one to use. Here is my reasoning, and why I prefer the statically linked binaries.

    If you go with the shared build, you will have not only 3 exe files, but also 8 dll files which you need to put somewhere together. (There are ways around that, but we won't go into that complexity.) I have a directory, C:\bin, which holds a great many exe files (currently 60, to be exact). That includes the 3 ffmpeg executable files. I don't like to put dll files there, as it becomes confusing trying to remember what dll files are associated with what program. Now I could create a directory just to hold the ffmpeg components, that would be relatively easy. But then I would have to add that directory to my path, and my path is already too long. So for me, it is much easier and simpler just to use the statically linked executables. The only downside is that it wastes a certain of disk space, but in 2023 disk space is plentiful and cheap.

    You should consider the alternatives, and then decide what method is best for you. I have absolutely no disagreement with feraxuz, but his recommendation is simply not the best option for me. YMMV
     
  5. jineso

    jineso MDL Member

    Oct 8, 2021
    205
    42
    10
    It is 76 MB.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  6. alexxf

    alexxf MDL Addicted

    Feb 9, 2008
    994
    738
    30
  7. feraxuz

    feraxuz MDL Novice

    Mar 29, 2015
    6
    8
    0
    It really depends on someone's need. If you were to only need ffmpeg.exe then the statically linked (non-shared) build might be better for you, I for example need ffplay.exe too, so dynamically linked (shared) builds are better suited for me.
    It was not my intention to make it seem like one was better than the other, but if I did then my apologies.


    Normally It does, but since the build you are downloading follows the developers git tree it does not really have a versioning number defined yet. Hence the N only. a variable.