ffmpeg-build-script icon indicating copy to clipboard operation
ffmpeg-build-script copied to clipboard

x264 linking error fix, pip3 meson/ninja fix, VapourSynth added, updated libs

Open Stefan-Olt opened this issue 5 months ago • 1 comments
trafficstars

x264 linking error fix

On several different Linux machines I experienced linking errors during building of x264 (symbols defined twice). I traced it down to the nasm version. Downgrading nasm from 2.16.03 to 2.16.01 resolved the issue.

pip3 meson/ninja fix

Many Linux distributions (for example Debian, Ubuntu, Linux Mint) have disabled pip3 for installing packages outside specific python environments, as this could break system packages. The ffmpeg-build-script always tried to run pip3, even though meson/ninja is installed and this will cause the script to terminate (several issues are opened on this). I changed it, so that meson/ninja is now checked first and only if those commands cannot be found pip3 is used. The script will also display information when trying to use pip3 and inform about the possible error and how this can be resolved by installing meson using the package manager

VapourSynth added

VapourSynth is a frame server build around Python and a modern alternative to AviSynth. I enabled the input module in ffmpeg for it. There is no need to build VapourSynth for that, ffmpeg just needs the header files to be able to compile support for it (if a VapourSynth-Script is opened, ffmpeg will load the library (if installed) at runtime)

Updated several libs

  • rav1e from 0.7.1 to 0.8.0
  • amf from 1.4.35 to 1.4.36
  • av1 from 3.11.0 to 3.12.1
  • libsdl from 2.30.1 to 2.32.8
  • libvpx from 1.15.0 to 1.15.2
  • x264
  • OpenSSL from 1.1.1w to 3.5.0: The 1.x series is not maintained anymore and has known vulnerabilities. ffmpeg builds fine with the new OpenSSL. It also doesn't need special build options for Apple Silicon anymore
  • libtheora from 1.1.1 to 1.2.0: This is a cleanup release with some assembly added, will now build on Apple Silicon without the need for patching
  • libsvt1 from 2.3.0 to 3.0.2: This is a major update with speed/quality improvements. It has a minimal API change (an unused parameter was removed). ffmpeg master is already updated for that, 7.1.1 is not, so the one line in ffmpeg is changed by the script, that can be removed with the next majot ffmpeg update

Stefan-Olt avatar Jun 19 '25 12:06 Stefan-Olt