spawlows / SVT-AV1

Welcome to the GitHub repo for the SVT-AV1 encoder! To see a list of feature request and view what is planned for the SVT-AV1 encoder, visit our Trello page: http://bit.ly/SVT-AV1 Help us grow the community by subscribing to our SVT-AV1 mailing list! http://bit.ly/svt-av1-mailing
BSD 2-Clause "Simplified" License
1 stars 0 forks source link

Scalable Video Technology for AV1 (SVT-AV1 Encoder and Decoder)

CI MSVC builds macOS Travis Build Status

The Scalable Video Technology for AV1 (SVT-AV1 Encoder and Decoder) is an AV1-compliant encoder/decoder library core. The SVT-AV1 encoder development is a work-in-progress targeting performance levels applicable to both VOD and Live encoding / transcoding video applications. The SVT-AV1 decoder implementation is targeting future codec research activities.

License

SVT-AV1 is licensed under the Alliance for Open Media license and Patent License. See LICENSE and PATENTS for details. Please refer to the license Q&A if you have any questions about the licensing history of SVT-AV1.

Documentation

More details about the SVT-AV1 usage and implementation can be found under:

System Requirements

Operating System

SVT-AV1 Encoder may run on any Windows or Linux 64 bit operating systems. The list below represents the operating systems that the encoder application and library were tested and validated on:

Hardware

The SVT-AV1 Encoder library supports the x86 architecture

Resolution 8-vCPU Commit Size (GB) 40-vCPU Commit Size (GB)
4k 14 24
1080p 6 10
720p 4 7
480p 3 5

Build and Install

Windows* Operating Systems (64-bit)

Linux* Operating Systems (64-bit)

SVT-AV1 ffmpeg plugin installation

1. Build and install SVT-AV1

   git clone --depth=1 https://github.com/AOMediaCodec/SVT-AV1
   cd SVT-AV1
   cd Build
   cmake .. -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Release
   make -j $(nproc)
   sudo make install

2. Enable libsvtav1 in FFmpeg

NOTE: If you wish to use an FFmpeg tag or release before 4.4, please go here and consult that page to properly patch ffmpeg for use with SVT-AV1.

   git clone --depth=1 https://github.com/FFmpeg/FFmpeg ffmpeg
   cd ffmpeg
   export LD_LIBRARY_PATH+=":/usr/local/lib"
   export PKG_CONFIG_PATH+=":/usr/local/lib/pkgconfig"
   ./configure --enable-libsvtav1
   make -j $(nproc)

3. Verify that ffmpeg is working

./ffmpeg -i input.mp4 -c:v libsvtav1 -y test.mp4

How to evaluate by ready-to-run executables with docker

Refer to the guide here.

Demo features and limitations

How to Contribute

We welcome community contributions to the SVT-AV1 Encoder and Decoder. Thank you for your time! By contributing to the project, you agree to the license, patent and copyright terms in the AOM License and Patent License and to the release of your contribution under these terms. See LICENSE and PATENTS for details.

Contributor agreement

You will be required to execute the appropriate contributor agreement to ensure that the AOMedia Project has the right to distribute your changes.

Contribution process

How to Report Bugs and Provide Feedback

Use the Issues tab on Github. To avoid duplicate issues, please make sure you go through the existing issues before logging a new one.

IRC

#svt on Freenode. Join via Freenode Webchat or use your favorite IRC client. A public log is available.

Performance tracker

Performance and raw data files available at http://videocodectracker.dev