Sorry, you need to enable JavaScript to visit this website.

Feedback

Your feedback is important to keep improving our website and offer you a more reliable experience.

Getting Started with the SVT-HEVC Encoder Core

Welcome to the Getting Started page for the Scalable Video Technolog for the HEVC Encoder! The SVT-HEVC encoder is Intel's contribution to the SVT-HEVC Open Source project. Please follow the instructions below to build and install the HEVC-SVT Encoder.

This encoder “core” is intended to be used when building cloud targeted HEVC encoders. This is not a full encoder product. 

System Requirements

The SVT-HEVC Encoder library was developed to be supported on x86 for Windows* and Linux* operating systems.

CPU requirements

In order to achieve the performance targeted by the deliverable, the specific CPU model listed in the Readme file would need to be used when running the encoder. Otherwise, the encoder should run on any 5th Generation Intel Core™ Processors (formerly Broadwell) CPUs (for example Xeon E5 v4) or newer, producing the same output.

RAM requirements

In order to run the highest resolution supported by the encoder, at least 64GB of RAM is required to run a single 8kp60 10-bit encode. The encoder application will display an error if the system does not have enough RAM to support this resolution. The table below lists the minimum amount of RAM required for some standard resolutions of 10bit video per channel:
 
Resolution Minimum Footprint in GB
8k 64
4k 16
1080p 6
720p/1080i 4
480p 3

Operating systems

The list below includes the operating systems that the encoder application and library could run on, assuming the above pre-requisites are met.
 
Windows* Operating Systems (64-bit)
 
  • Windows* 10
  • Windows* Server 2016 Standard
 

Linux* Operating Systems (64-bit)

 
  • Ubuntu* 16.04 Desktop LTS
  • Ubuntu* 16.04 Server LTS
  • Ubuntu* 18.04 Desktop LTS
  • Ubuntu* 18.04 Server LTS

Build the code

The list below includes the build tools necessary for the encoder application and library to build properly.
 
Windows* Operating Systems (64-bit)
 
Build requirements
 
  • Visual Studio* 2017
    • YASM Assembler version 1.2.0 or later
    • Download the yasm exe from the following link
    • Rename yasm-1.3.0-win64.exe to yasm.exe
    • Copy yasm.exe into a location that is in your system PATH environment variable
  • CMake 3.5 or later link
 
Build instructions
 
  • Clone or Download the SVT-HEVC GitHub Repo here
  • Generate the Visual Studio* 2017 project files by following the steps below in a windows command line prompt:
  • In the main repository directory go under the <repo dir>\Build\windows location
  • Run generate_vs17.bat [such would generate the visual studio project files]
  • Open the "svt-hevc.sln" using Visual Studio* 2017 and click on Build --> Build Solution
  • 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

 

Linux* Operating Systems (64-bit)

Build requirements
 
  • GCC 5.4.0
  • CMake 3.5.1
  • YASM Assembler version 1.2.0 or later
 
Build instructions
 
  • Clone or Download the SVT-HEVC GitHub Repo here
  • In the main repository, run
    • mkdir build && cd build && cmake .. && make -j `nproc` && sudo make install
 
  • Binaries Location
    • Binaries can be found under Bin/Release

Installation

For the binaries to operate properly on your system, the following conditions have to be met:
 
Windows*:
  • On any of the Windows* operating systems listed in section 2.3, Install Visual Studio 2017
  • Once the installation is complete, copy the binaries to a location making sure that both the sample application "SvtHevcEncApp.exe" and library "SvtHevcEnc.dll" are in the same folder.
  • Open the command line at the chosen location and run the sample application to encode.
 
Linux*:
  • On any of the Linux* operating systems listed in section 2.3, copy the binaries under a location of your choice.
  • Change the permissions on the sample application "SvtHevcEncApp" executable by running the command:

chmod +x SvtHevcEncApp

  • To enable 100% CPU utilization for the real-time SvtHevcEncApp, run the command:

sudo sysctl -w kernel.sched_rt_runtime_us=1000000

  • Open terminal and cd into your directory, then run the sample application to encode