Flussonic Media Server documentation

Hardware transcoding

Transcoding video using Nvenc Anchor Anchor x2

Flussonic is able to encode video using the GPU on Nvidia graphics cards. The list of supported cards can be found on nvidia site.
Also must be installed nvidia driver version at least 352.

Install driver from the package.

Ubuntu 16.04:

apt-get install nvidia-375

Debian 9:

apt-get install nvidia-driver libnvidia-encode1

non-free component must be enabled in sourses.list.

On ther systems install driver from the Nvidia site. Installation process description for Debian.

Add hw=nvenc flag to turn on Nvenc:

stream ort {
  url udp://239.0.0.1:5000;
  transcoder vb=2048k hw=nvenc ab=128k;
}

If the system has multiple graphics cards, you can choose which one to use with deviceid=N option:

  transcoder vb=2048k hw=nvenc deviceid=2 ab=128k;

The number of the card can be retrieved with the command nvidia-smi. The first card used by default deviceid=0.

For Nvenc available crop=left:right:width:heigt option, allows to crop video:

  transcoder vb=2048k hw=nvenc crop=0:0:100:100 ab=128;

Decoding performed on GPU by default. To use processor for decoding, specify hw=nvenc2 instead:

  transcoder vb=2048k hw=nvenc2 ab=128k;

Deinterlace performed by default when using nvenc. In nvenc2 case deinterlace has to be turned on explicitly with deinterlace=yes parameter.

To disable resource-consuming deinterlacing, specify deinterlace=0 on nvidia transcoding.

Other parameters, such as size, preset, bframes, level used just as in CPU transcoder. preset parameter can have one of these values: hq, hp, bd, ll, llhq, llhp. hp used by default.

Transcoding video using Intel® QuickSync Anchor Anchor x2

You need to have Intel® Media SDK installed on the server.

Add hw=qsv flag to turn on QuickSync:

stream ort {
  url  udp://239.0.0.1:5000;
  transcoder vb=2048k hw=qsv ab=128k;
}