
Simple, powerful, forever. Elecard CodecWorks 990 - live transcoder software for AVC and HEVC

In the last article, we examined how the hardware acceleration of Quick Sync Video (QSV) video encoding and decoding works in the 6th generation Skylake processors. A small section of SoC was specially allocated to accommodate specialized integrated circuits that deal only with video processing. Playing video with hardware support has become much less take resources from other tasks in the OS, less heat up the CPU and consume less power. Thanks to QSV, for example, a MacBook Air laptop plays more than 10 hours of video on a single battery charge.
At the same time, hardware encoding acceleration has become available for any third-party applications. With the latest generations of Intel Core processors, hardware transcoding support has appeared in AVC / H.264 and HEVC / H.265 (as well as VP8 and VP9) - this can lead to a real revolution in the market of digital TV and video broadcasts on the Internet. Ordinary users have the right to count on improving the quality of video broadcasts, reducing prices and increasing the number of available digital TV channels.
How to use hardware acceleration in your program depends on the task. Intel publishes an open access API for developing applications for the Windows Media SDK 2.0 . There is also a cross-platform API for developing enterprise applications Intel Media Server Studio. For more information about working with these API, see. In materials Intel corporate blog Habré.
What programs use QSV hardware acceleration
Access to the hardware QSV transcoder via the Intel SDK is implemented in many applications :
- software encoders;
- media converters;
- video and photo editors;
- software for webcams;
- instant messengers;
- media players.
Furthermore, QSV kept free library for encoding and decoding libavcodec , which is part of the package FFmpeg . This is a very popular open source library. Thus, Intel's hardware acceleration is found in all programs with FFmpeg.
As you can see, the class of applications today is very wide and includes many popular applications among professionals and ordinary users.
Intel SDK ( Media Server Studio 2017 or Media SDK) is intended, inter alia, to develop applications that solve the problems of video encoding in various types of projects, including video conferencing, work with high-resolution video up to 4K, high-performance encoding, Internet TV and the like.
Before the advent of hardware support for working with video from Intel, encoding used (and is still used) solutions of one of three types:
- software that uses dedicated graphics cards (for example, NVidia or AMD) to speed up work with video;
- software that uses only the resources of the central processor;
- hardware encoders on chips, the so-called System-On-Chip.
Thanks to Intel’s decision, video can now be encoded on ordinary budget home computers or servers with Intel processors, using a ready-made one or developing your application using the SDK.
It should be noted right away that ready-made applications do not require the participation of programmers and are ready for use in real tasks; for example, they contain the most popular transcoding profiles for Internet TV and it’s much easier for a non-programmer engineer to work with them than with an SDK.
Thus, in order to run our own transcoding system, we need two things:
- software transcoder;
- A computer with an Intel processor with QSV support - 5th generation Intel Core for AVC / H.264 or 6th generation Intel Core for HEVC / H.265. Or similar 4th or 5th generation Xeon E3 server processors .
Intel hardware-assisted software transcoder
Performance in software transcoders with QSV hardware support allows you to build a commercial solution on an inexpensive server with one processor. For example, the transcoder Elecard CodecWorks 990 states the following characteristics of performance for each the CPU :
- Real-time HEVC transcoding at the output of 1 stream 4K 60p, 6 streams FullHD (1080p) or 10 streams HD720
- Real-time AVC transcoding at the output of 10 streams FullHD (1080p) or 16 streams HD720
The number of video streams is limited only by the performance of the equipment (that is, software is not limited). Depending on your needs, you can assemble a hardware solution for the required number of processors, from several separate servers or several cartridges in one server chassis. CodecWorks 990 allows you to configure and control the operation of all encoders on the same network through a single graphical application. You can use “manual” transcoding settings or choose from a set of predefined schemes. It also supports multi-bitrate and multi-screen coding with further broadcasting using the HLS or MPEG-DASH protocol (soon), which is relevant for Internet TV tasks.
Specifications
entrance | Exit | |
---|---|---|
Interface | Ethernet IP | Ethernet IP |
Video stream format | MPEG-2 TS UDP / RTP | MPEG-2 TS UDP / RTP, HLS |
Video codecs | AVC / H.264, MPEG-2, up to 4K | HEVC / H.265, AVC / H.264, up to 4K |
Audio codecs | AAC / HE-AAC v1, MPEG-1 Layer I / II | AAC / HE-AAC v1, MPEG-1 Layer I / II, AC3 Pass-through |
Preprocessing | Deinterlacing, scaling, changing the aspect ratio | |
Control | Via GUI application, monitoring CPU / GPU usage and failures | |
OS support | 64-bit Windows 7, 8, 8.1, 10, Intel Broadwell / Skylake CPU with Quick Sync Video support |
Work CodecWorks 990. Tincture, a detailed overview of the features
All encoding nodes of CodecWorks 990 are configured through a separate Windows application manager. You can configure all the servers on the local network by adding them to the list of manager by IP addresses:

Each coding node can simultaneously transcode several streams, each of which has its own coding console. The console has an activity status, a transcoding profile assigned to it, uptime, and resources used.
Creating a new transcoding profile for the console is carried out in a step-by-step dialog box consisting of 4 stages:

At the first stage, the main parameters are selected: video codec, audio codec, broadcast output protocol and the number of bitrates in the case of multi-bitrate encoding. The next step is to specify the address of the input broadcast, then select the audio / video tracks to be transcoded in the stream and configure the codec settings. Example of setting video codec parameters for adaptive HLS broadcasting to two streams:

In addition to setting profiles through dialog boxes and in the case when you need to go beyond simple transcoding options, it is possible to manually create a complete chain of working with media and set detailed parameters for each block. There is an analogy with how the graph is assembled in Microsoft's GraphEditor application, which is part of the DirectShow library on which the CodecWorks 990 application is built.

In the advanced editor, you can add any blocks (from the list of filters registered in the DirectShow system), connect them, and configure a complete list of parameters for each block. Example video encoder settings:

In addition to the main functionality of the application listed above, there is the possibility of rebooting the coding console if the console's use of system resources falls below a certain value. There is a periodically configurable reboot - a crutch from the problematic components in the coding graph that do not differ in stability.
As mentioned above, the advanced editor of coding schemes allows you to use any DirectShow filters in the system, for example, ASI / SDI / HDMI capture cards, use third-party decoders for formats unsupported by the application, and so on.
A demo version of CodecWorks 990 can be downloaded from the product website .
Hardware - From Mini PC to Cloud
Thanks to support in Intel processors, hardware video transcoding acceleration works on a variety of equipment: from personal computers and mini-PCs to large servers.
For example, Intel Core processors with QSV support are installed in Intel NUC miniature computers . Today it is one of the smallest hardware transcoding platforms in the world, a true mobile encoder. For example, the latest Intel NUC model is the Intel NUC Kit NUC6i7KYK model with the 6th generation Intel Core i7-6770HQ processor and Iris Pro Graphics 580 graphics. Box sizes: 211 × 116 × 28 mm. And this computer can encode a single stream of 60 frames per second with the HEVC codec with a resolution of 4K!

Intel NUC Kit NUC6i7KYK with a 6th-generation quad-core Intel Core i7-6770HQ processor
For transcoding, regular desktop PCs with Intel Core processors are also suitable. If you need hardware acceleration encoding HEVC / H.265 or VP9, then you have to install the CPU of the last 6th generation (Skylake). For hardware encoding AVC / H.264, older Broadwell processors are also suitable. For example, you can use the previous Intel NUC Mini PC 5i7RYH model starting at $ 449.

Intel NUC Mini PC 5i7RYH with the 5th generation processor Intel Core i7-5557U
The price difference between the different generations of processors and the platforms on which they are installed (PC, mini-PC, server, modular server) is quite high, so in our crisis time, the budget of the coders should be carefully calculated, depending on the technical requirements for the project.
For transcoding video in small projects, CodecWorks 990 authors recommend using one or more servers of the traditional Supermicro SuperServer 5019S-M2 form factor (1 unit, 1 CPU). This is a budget solution to handle several dozen threads. Kontron Symkloud Modular Serveroptimal for large OTT / IPTV projects - 18 processors in a server with a height of 2 standard units (2U). Finally, for the simultaneous transcoding of hundreds of video streams, the specialized HPE Moonshot server (4.3U, up to 45 CPUs) is suitable .

HPE Moonshot Server
The table shows how many video streams each of these servers can process in different scenarios, with the CodecWorks 990 software transcoder.
What gives fast coding AVC and HEVC?
With the development of the Internet and video compression algorithms such as HEVC / H.265, video transcoding is becoming an ever-increasing task. Digital video is now everywhere: TV and live broadcasts on the Internet, including over mobile networks, video conferencing, video surveillance systems, television broadcasting in HD and 4K. Perhaps the greatest growth is expected in the field of digital television over the Internet. It is here that the most noticeable changes are expected due to the transition to the HEVC / H.265 codec, which today, in real tasks, shows a 20-35% better degree of video compression compared to AVC / H.264 with the same quality. It is also worth adding that due to the algorithmic complexity of the codec, the software and hardware implementations of HEVC / H.265 continue to be actively improved.
Fast transcoding in HEVC / H.265 with hardware support in Intel processors appeared in 2015 (Skylake). In fact, the video compressed by this codec is just beginning its mass distribution.
Theoretically, with the same video quality, the HEVC Main Profile produces a 35.4% lower bitrate than the H.264 / MPEG-4 AVC High Profile. The gain in comparison with MPEG-4 Advanced Simple Profile is 63.7% ( IEEE data ). This means reducing traffic by more than half. In turn, AVC HP outperforms MPEG-4 ASP at about 44.5% with the same quality.
More efficient compression means that digital TV providers can serve more subscribers on the same channel, broadcast more channels to each subscriber, broadcast channels in higher picture resolution and quality. High-definition television with a resolution of 1920 × 1280 will become commonplace, and soon 4K UHDTV will cease to be exotic.

Comparison of the resolution of 4K, 2K and HDTV
For the delivery of a 4K UHDTV signal over the Internet, the HEVC / H.265 video codec is defined as the standard, since it allows you to achieve the largest compression gain at a higher picture resolution. Only in 2014 did the first television channels appear in Russiathat broadcast in 4K UHDTV, compressing video with the HEVC codec. However, televisions of this resolution are still available to a small number of subscribers, and standard Russian apartments are not very suitable for comfortable viewing of television on a large UHDTV screen from a distance of several meters.
The implementation of such projects and services by operators requires appropriate equipment. The working principle here is that the greater the choice, the better for the operators and, ultimately, for subscribers, users of services. Through the SDK, Intel opens up opportunities for developers to write their own software encoders and transcoders, compete in usability and advanced features. More choices - higher quality. The customer has a choice: write an application "for himself" using the SDK; take a ready-made application, like CodecWorks 990, pick up hardware and carry out engineering work on installation and configuration; or buy a hardware-ready encoder ready to use. The choice is based on the cost of various options, the technical preparedness of the customer and the developer, the business task.
Subscribers can be sure of one thing - in the near future they will expect even more videos with better quality for less money, and Intel has a serious impact on this trend.