Giter Club home page Giter Club logo

ffevc's Introduction

Functionality from this repository is merged to official FFmpeg repository at https://git.ffmpeg.org/ffmpeg.git

Use main FFmpeg for latest fixes and features.

This repository is Archived and for reference only, it won't be maintained anymore!

ffevc

ffmpeg supporting EVC codec and file formats.

MPEG-5 Essential Video Coding (EVC) integration with FFmpeg project.

It is supported under Linux and Windows.

Prequisities

  1. Install build dependencies

    sudo apt-get update -qq && sudo apt-get -y install \
    autoconf \
    automake \
    build-essential \
    cmake \
    pkg-config \
    libsdl2-dev \ 
    nasm
  2. Install in system xeve encoder (dev package, main profile)

    Detailed and latest info is in xeve.

  3. Install in system xevd decoder (dev package)

    Detailed and latest info is in xevd.

Build

To enable EVC in FFmpeg it need to be configured with flags --enable-libxeve and --enable-libxevd

Sample static configuration

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-libxevd

Shared configuration

For shred build, FFmpeg need to be configured with flag --enable-shared and removed --pkg-config-flags="--static".

Compilation & installation

PATH="$HOME/bin:$PATH" make -j $(nproc)

make install

Examples

Encode

ffmpeg -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>

Decode

ffmpeg -i input_file.evc -pix_fmt yuv420p output_file.yuv

MP4 container

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

References

xeve
xevd
FFmpeg

ffevc's People

Contributors

dkozinski avatar dariusz-f avatar mpeg5 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.