If streaming multimedia services want to reach broad audiences, including those without access to fast Internet and the right technology, they need to employ adaptive streaming.
Delivering video streams to any device through any bandwidth requires adapting the video formats, encoding, and resolution. The foundation for successful adaptive streaming is transcoding, which is the process of adjusting video formats. Transcoding helps to take a high-quality bitrate source and turn it into multiple renditions with different qualities, bitrates, and resolutions— ready to deliver them to a wide audience.
But delivering live streaming media and reaching different end-users with different technology and bandwidth is no easy task. Creating those different stream outputs in real-time requires intensive processing.
In this solution brief, we will review the common challenges faced by streaming services/applications, when attempting to reach and adapt to wider audiences.
Streaming services use the transcoding process to address some of these common challenges. Transcoding provides adaptive video/audio streams in real-time, but it is a compute-intensive process.
Transcoding solution providers can leverage Lanner’s network appliance NCA-5210 and its GPU Accelerated card NCS2-NV02 to deploy a GPU-accelerated network video solution that enables 10-bit HEVC transcoding for multiple channels in IPTV Broadcasting, OTT, and live video streaming services.
Transcoding solution providers can leverage Lanner’s network appliance and its GPU Accelerated card to deploy a rate solution meeting requirements of multichannel IPTV, OTT and live video streaming services.
The HEVC encoder does a wonderful job compressing a raw video feed at the source, much better than today’s H.264 standard codec. In fact, HEVC allows a much lower (50%) bandwidth consumption as compared with H.264. The problem is that today many devices still do not support HEVC and would only accept the H.264 stream.
H.264 compression is the most popular today and is widely supported by many devices. Although H.264 could compress/encode a 4K 10-bit video source file, it will end up being too big. Unfortunately, not all end-users enjoy ultra-fast speeds to direct-play 4K 10-bit video streams from the web.
If these files are not properly transcoded, transized, and transrated, they would ultimately be unable to play.
Video transcoding solves this problem by taking a compressed video (i.e., HEVC) and converting it into other file formats (i.e., H.264), bitrates, and resolutions to be played in different devices. The idea behind transcoding is to adapt streaming content to reach more end users.
But transcoding videos can be challenging:
- Transcoding demands intense-computing.
Transcoding is computationally intensive. When you need to decode-encode simultaneously, and multiple video inputs for applications such as streaming, the throughput and performance of computing need to scale 10x. Converting videos simultaneously and sending them off requires powerful hardware resources, including CPU and GPU acceleration.
- Video latency and network bandwidth.
The source or the destination network can cause video latency. Delivering 4K/8K UHD and HD video sources to multiple destinations (that can play them) simultaneously requires strong networking capabilities at the source. Also, at the destination, not all end-users can enjoy high resolution and bitrate video streams (including 4K or 8K) from their devices due to low network bandwidth.
Lanner’s Network Video Transcoder Solution for Streaming
The following solution addresses the challenges faced with transcoding videos for streaming applications. The solution allows real-time transcoding between HEVC 10-bit (H.265) streaming inputs to other video format streaming outputs (H.264 and MPEG-2), bitrates, and resolutions.
So, what components make up this solution?
- Video Contribution: Capturing and Encoding Devices.
- Real-time Video Transcoding Server
- Streaming Server.
- Transcoding Software.
Video Capturing and Encoding Devices
Video sources such as UHD IP production cameras or video files, usually generate uncompressed and raw content. Video in its raw format is not the best way for distribution, storage, and accessibility. The files are too big and difficult to handle.
For streaming applications, once a raw video file is captured, it should immediately be compressed by an on-premises encoder. HEVC (H.265) is a high-performance encoder that compresses the video right from the source (IP cameras). Only after a raw video is encoded, it can be distributed, stored, and accessed.
Real-time Video Transcoding Server
Transcoding deals with decoding>encoding (and vice versa), so its computational processing is a lot more demanding. Transcoding also deals with adapting to different bitrates (Mbps) and changing video frames (resolution).
Lanner’s Network Appliance with a Power-Efficient Video Transcoding Module.
Lanner’s NCA-5210 is a 1U network security and cloud computing system powered by the 7th generation Intel® Core™ processors (codenamed Kaby Lake) to provide optimal computing performance. The appliance features rich I/O Ethernet connectivity, and NIC module slots for bandwidth expansions.
The NCA-5210 is expanded with the video transport platform NCS2-NV02 to optimize video transcoding for high-volume video delivery, such as 10-bit HEVC video, and to accelerate streaming.
The NCS2-NV02 is a power-efficient video transcoding module powered by dual NVIDIA Jetson® TX2 Processors SoM (System-on-Module).
NCS2-5210 features onboard Intel i350-AM2 Ethernet controllers and enables GPU hardware-level transcoding for NCA-5210. The NCS2-NV02 is a swappable add-on module that accelerates the transcoding for NCA-5210.
The streaming media server, which is, in most cases, the same as the transcoding server, will bundle the different renditions created by the transcoded and provide the adaptive streaming format for delivering to the consumer.
The streaming server will deliver low latency streams across a distributed broad audience. Streaming services use Content Delivery Networks (CDNs) to shorten the distances across dispersed audiences and push content closer to them. The streaming protocols, such as HDS, HLS, and RTMP, are also defined at the streaming server. These protocols can impact streaming latency and supported devices.
Comprehensive media streaming/transcoding software is capable of storing, transcoding, and delivering adaptive media streams.
The streaming/transcoding software stores all media content and organizes libraries using metadata; it also takes media and transcodes it on the fly. For live broadcasts, the software creates (transcodes) simultaneous aligned video streams with different bitrate and frame size.
These streams are then packaged into many adaptive streaming formats such as HLS, HDS, and RTMP to allow playback on almost any device/screen.
With transcoding, live streamers and broadcasters make all their viewers happy. Transcoding makes them agile and scalable to reach wider audiences, creating arrays of streams for different viewers, and always allowing the highest video definition.
Agility to stream to wider audiences
Transcoding is vital to increase streaming content reach. Not all end users have the same bandwidth or the same devices. For example, if an end user’s device does not support H.264 video codec and doesn’t have sufficient bandwidth to stream at 720p, transcoding will adapt the stream to fit the end-user resources. The hardware-accelerated GPU transcoding for H.265 (HEVC) and 10-Bit color formats can accelerate streaming and improve it for any audience.
Play the highest video quality possible
Streaming servers with the help of CDNs will deliver various video renditions in different resolutions and bitrates. Streaming will adapt to each consumers’ resources. Those with fast bandwidth will receive high-quality resolution videos, and those with slow Internet speed will access the low-quality video. The end goal is to reduce video latency (buffering) and to play a continuous video with the highest quality possible.
Create an array of streams
The hardware-accelerated GPU transcoding solution takes a source stream of high-resolution and high-bitrate and transcodes it to an array of multiple streams at different resolutions and bitrates. The server (CDN) uses adaptive streaming to choose from the array and to deliver the suitable version of the stream to the end-user.