From 2075fc3bd1a0c9cef2f1df7ddc78f35bf8b517ee Mon Sep 17 00:00:00 2001 From: Martin Eesmaa Date: Fri, 23 Sep 2022 21:06:33 +1000 Subject: [PATCH] improved linux build script in this instruction --- FFMPEGVVC.md | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/FFMPEGVVC.md b/FFMPEGVVC.md index f15e4c6..23cb4b6 100644 --- a/FFMPEGVVC.md +++ b/FFMPEGVVC.md @@ -140,21 +140,23 @@ cd FFmpeg-FixVVC make -j ``` -# Linux downloaders (Important note) +# Linux builders (Important for FFplay) -Unfortunately, this is Ubuntu 22.04 LTS build only. - -If you are using other linux without Ubuntu 22.04 LTS, you have to build using this: +You can build using this: ``` sudo apt update && sudo apt upgrade -y && \ -sudo apt install build-essential cmake nasm autoconf pkg-config python3-setuptools libtool git wget && \ +sudo apt install build-essential cmake nasm autoconf pkg-config \ +python3-setuptools ninja-build python3-pip libtool git wget -y && \ +sudo pip3 install meson && \ git clone --depth=1 https://github.com/fraunhoferhhi/vvenc && \ git clone --depth=1 https://github.com/fraunhoferhhi/vvdec && \ git clone --depth=1 https://github.com/mstorsjo/fdk-aac && \ git clone --depth=1 https://github.com/libsdl-org/SDL && \ git clone --depth=1 https://github.com/gnome/libxml2 && \ git clone --depth=1 https://github.com/xiph/opus && \ +git clone --depth=1 https://code.videolan.org/videolan/dav1d && \ +git clone --depth=1 https://github.com/Netflix/vmaf && \ git clone --depth=1 https://github.com/MartinEesmaa/FFmpeg-FixVVC && \ wget https://gist.githubusercontent.com/MartinEesmaa/6c4c8158139e04d432f49ac005ba7528/raw/04b05601cb51eec7e5041f8a45b71caa552669c2/libvvenc.pc.in && \ cp libvvenc.pc.in vvenc/pkgconfig/ && \ @@ -169,14 +171,20 @@ cd .. && \ cd opus && autoreconf -if && ./configure --prefix=/usr/local --enable-static --disable-shared && sudo make install -j $nproc && \ cd .. && \ cd SDL && ./configure --prefix=/usr/local --enable-static --disable-shared && sudo make install -j $nproc && \ -cd .. && cd FFmpeg-FixVVC && \ +cd .. && \ +mkdir dav1d/build && cd dav1d/build && meson -Denable_docs=false -Ddefault_library=static -Dprefix=/usr/local && sudo ninja install && \ +cd ../../ && \ +mkdir vmaf/libvmaf/build && cd vmaf/libvmaf/build && meson -Denable_docs=false -Ddefault_library=static -Dprefix=/usr/local && sudo ninja install && \ +cd ../../../ && cd FFmpeg-FixVVC && \ ./configure --enable-static --pkg-config-flags="--static" --extra-ldexeflags="-static" \ --enable-libfdk-aac --enable-libvvenc --enable-libvvdec --enable-pic \ ---enable-libxml2 --enable-libopus --enable-sdl2 && \ +--enable-libxml2 --enable-libopus --enable-libdav1d --enable-libvmaf --enable-sdl2 --ld=g++ && \ make -j ``` -If compiling is success and finished, you can install FFmpeg VVC, using the code: +If you want actually play VVC file with FFplay on your local distro, you need to remove command `--extra-ldexeflags="-static"`, otherwise it might give result segmentation fault for FFplay static only. + +If compiling is success and finished, you can install FFmpeg VVC for using the code: ``` mv ffmpeg ffmpeg_vvceasy