-
Build Requirements
-
Build Instructions
- Build the project by following the steps below
- cd into
Build\windows
- run
build.bat <2019|2017|2015>
[This will generate the .sln files and build the project]
- cd into
- Build the project by following the steps below
-
Binaries Location
- Binaries can be found under
<repo dir>/Bin/Release
or<repo dir>/Bin/Debug
, depending on whether Debug or Release were selected in the build mode.
- Binaries can be found under
-
Installation
For the binaries to operate properly on your system, the following conditions have to be met:
- On any of the Windows* Operating Systems listed in the OS requirements section, install Visual Studio* 2015/2017/2019
- Once the installation is complete, copy the binaries to a location making sure that both the sample application
SvtAv1EncApp.exe
and librarySvtAv1Enc.dll
are in the same folder. - Open the command prompt window at the chosen location and run the sample application to encode:
SvtAV1EncApp.exe -i [in.yuv] -w [width] -h [height] -b [out.ivf]
- Sample application supports reading from pipe. E.g.
ffmpeg -i [input.mp4] -nostdin -f rawvideo -pix_fmt yuv420p - | SvtAv1EncApp.exe -i stdin -n [number_of_frames_to_encode] -w [width] -h [height]
Note - a Dockerfile is provided to build the encoder into a tiny Alpine Linux Docker image.
-
Build Requirements
- GCC 5.4.0 or later
- CMake 3.16 or later
- YASM Assembler version 1.2.0 or later
-
Build Instructions
cd Build/linux
./build.sh <release | debug>
-
Sample Binaries location
- Binaries can be found under
Bin/Release
and/orBin/Debug
- Binaries can be found under
-
Clang usage
- To install Clang-11 on Ubuntu 20.04 execute single command:
sudo apt install clang-11
- To install Clang-11 on Ubuntu 18.04 execute commands:
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo apt-add-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-11 main"
sudo apt install clang-11
- To build SVT-AV1 using Clang-11:
export CC="clang-11"
export CXX="clang++-11"
./build.sh <release | debug>
- To install Clang-11 on Ubuntu 20.04 execute single command:
-
Installation
For the binaries to operate properly on your system, the following conditions have to be met:
- On any of the Linux* Operating Systems listed above, copy the binaries under a location of your choice.
- Change the permissions on the sample application
SvtAV1EncApp
executable by running the command:chmod +x SvtAv1EncApp
- cd into your chosen location
- Run the sample application to encode:
./SvtAv1EncApp -i [in.yuv] -w [width] -h [height] -b [out.ivf]
- Sample application supports reading from pipe. E.g.
ffmpeg -i [input.mp4] -nostdin -f rawvideo -pix_fmt yuv420p - | ./SvtAv1EncApp -i stdin -n [number_of_frames_to_encode] -w [width] -h [height]
git clone --depth=1 https://gitlab.com/AOMediaCodec/SVT-AV1.git
cd SVT-AV1
cd Build
cmake .. -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Release
make -j $(nproc)
sudo make install
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)
./ffmpeg -i input.mp4 -c:v libsvtav1 -y test.mp4
Refer to the guide here.
- Multi-instance support: The multi-instance functionality is a demo
feature implemented in the SVT-AV1 Encoder sample application as an example
of one sample application using multiple encoding libraries. Encoding using
the multi-instance support is limited to only 6 simultaneous streams. For
example two channels encoding on Windows:
SvtAV1EncApp.exe -nch 2 -c firstchannel.cfg secondchannel.cfg
- Features enabled: The library will display an error message any feature combination that is not currently supported.