Functionality from this repository is merged to official FFmpeg repository at https://git.ffmpeg.org/ffmpeg.git
ffmpeg supporting EVC codec and file formats.
MPEG-5 Essential Video Coding (EVC) integration with FFmpeg project.
It is supported under Linux and Windows.
-
Install build dependencies
sudo apt-get update -qq && sudo apt-get -y install \ autoconf \ automake \ build-essential \ cmake \ pkg-config \ libsdl2-dev \ nasm
-
Install in system xeve encoder (dev package, main profile)
Detailed and latest info is in xeve.
-
Install in system xevd decoder (dev package)
Detailed and latest info is in xevd.
To enable EVC in FFmpeg it need to be configured with flags --enable-libxeve and --enable-libxevd
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \ --prefix="$HOME/ffmpeg_build" \ --pkg-config-flags="--static" \ --extra-cflags="-I$HOME/ffmpeg_build/include" \ --extra-ldflags="-L$HOME/ffmpeg_build/lib" \ --extra-libs="-lpthread -lm" \ --bindir="$HOME/bin" \ --enable-ffplay \ --enable-libxeve \ --enable-libxevdFor shred build, FFmpeg need to be configured with flag --enable-shared and removed --pkg-config-flags="--static".
PATH="$HOME/bin:$PATH" make -j $(nproc) make installffmpeg -f rawvideo -pix_fmt yuv420p -s:v 1920x1080 -r 30 -i input_file.yuv -c:v libxeve -f rawvideo output_file.evc Pass encoder specify parameters by using -xeve-params "<param=value>:<param=value>"
ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 1920x1080 -r 30 -i input_file.yuv -c:v libxeve -xeve-params "rc-type=0:q=37:profile=baseline:preset=medium" -f rawvideo output.evc Encoder parameters help
ffmpeg -help encoder=libxeve
Optional parameters:
-threads <num>
ffmpeg -i input_file.evc -pix_fmt yuv420p output_file.yuv YUV -> MP4
ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 1920x1080 -r 30 -i input_file.yuv -c:v libxeve -f rawvideo output_file.mp4 MP4 -> YUV
ffmpeg -i input_file.mp4 -f rawvideo -pix_fmt yuv420p output_file.yuv EVC -> MP4
ffmpeg -i input_file.evc -c:v copy output_file.mp4 MP4 -> EVC
ffmpeg -i input_file.mp4 -vcodec copy -an -f rawvideo output_file.evc