Live transcoding is a CPU consuming process and if you are transcoding/transrating multiple live streams, you need GPU support to manage the load of the server. Recently I got a live transcoding task to do using AWS Ec2 instances. AWS provides two types of GPU based instances (at the time of writing)
|Model||GPUs||vCPU||Mem (GiB)||SSD Storage (GB)|
|g2.2xlarge||1||8||15||1 x 60|
|g2.8xlarge||4||32||60||2 x 120|
with these features
- High-Frequency Intel Xeon E5-2670 (Sandy Bridge) Processors
- High-performance NVIDIA GPUs, each with 1,536 CUDA cores and 4GB of video memory
- Each GPU features an on-board hardware video encoder designed to support up to eight real-time HD video streams (720p@30fps) or up to four real-time full HD video streams (1080p@30fps)
- Support for low-latency frame capture and encoding for either the full operating system or select render targets, enabling high-quality interactive streaming experience
Wowza Streaming Engine can support live transcoding using NVIDIA NVENC hardware acceleration. I have created a g2.2xlarge instance with amazon os and installed Wowza Streaming Engine software.
Use Wowza Streaming Engine Manager created live applications, created some transcoding profiles assigned the encoding implementation to NVENC.
Use Adobe FMLE, Wowza Gocoder or Wirecast publish a live stream to wowza . You can check the logs to confirm that the wowza streaming engine invoking NVIDIA NVENC hardware acceleration for encoding purpose.
Contact me if you would like to use NVIDIA or Intel QuickSync for wowza live transcoding on your server.