The Transcoder in Wowza Streaming Engine™ media server software performs real-time video transcoding and transrating.
For transcoding, it can ingest a non-H.264/H.265/VP8/VP9 video and non-AAC/MP3/Vorbis/Opus audio source stream and convert it to outbound H.263/H.264/H.265/VP8/VP9 video and AAC/MP3/Vorbis/Opus audio. For audio-only streams, it can ingest a non-AAC/MP3/Vorbis/Opus audio source stream and convert it to outbound AAC/MP3/Vorbis/Opus audio. Multiple outbound renditions with aligned keyframes can be created from the single input stream.
For transrating, it can ingest an H.264 video and AAC/MP3 audio source stream and create a full set of output renditions that are keyframe-aligned to the original source. The aligned keyframes in the encoded output renditions enable adaptive bitrate delivery from Wowza Streaming Engine over HLS, MPEG-DASH, and RTMP streaming protocols to multiple devices. Single bitrate streaming is supported for all transport protocols, including RTSP/RTP and MPEG-TS.
Transcoder uses a template system to match the incoming stream to an encoding template that you can customize to control the encoding parameters for the transcoded or transrated streams.
Supported video and audio formats
Transcoder can decode and encode the video and audio codecs specified in the following table:
Video decoding (source streams)
|
Audio decoding (source streams)
|
Video encoding (outbound renditions)
|
Audio encoding (outbound renditions)
|
H.264* HEVC/H.265† MPEG-2 MPEG-4 Part 2 VP8‡ VP9‡ |
AAC G.711 (µ-law and A-law) MPEG-1 Layer 1/2 MPEG-1 Layer 3 MP3§ Speex Vorbis‡ Opus‡ |
H.264* HEVC/H.265† H.263v2 VP8‡ VP9‡ |
AAC Vorbis‡ Opus‡ |
* H.264 streams can be delivered over any protocol supported by Wowza Streaming Engine. † Transcoder support for the HEVC/H.265 codec is publicly available in Wowza Streaming Engine version 4.8.0 and later. Earlier versions (4.1.0 - 4.7.8) provide preview support. Note that HEVC/H.265 video compression hasn’t been widely adopted by player vendors, which means your options are limited for delivering these streams to viewers. To get the best results when using this codec, follow the instructions in Stream using HEVC/H.265 with the Transcoder in Wowza Streaming Engine. ‡ Wowza Streaming Engine 4.5.0 or later is required to use the VP8/VP9 video codecs and Vorbis/Opus audio codec encoding. To use the VP8 and VP9 video and Vorbis and Opus audio codecs, follow the instructions in Transcode live streams to WebM for MPEG-DASH playback with Wowza Streaming Engine. § The following MP3 audio sample rates are supported: 48000, 44100, and 32000. |
Software requirements
- Transcoder is supported only on 64-bit versions of Windows and Linux. A 64-bit Java runtime is also required. 32-bit versions of Windows and Linux aren't supported.
- To run Transcoder on 64-bit versions of Windows Server, Windows Server 2008 R2 or later is required. .NET Framework 3.5.1 or later and Desktop Experience are also required.
Hardware acceleration
The Transcoder can be configured to take advantage of hardware acceleration using Intel, NVIDIA, or AMD Xilinx graphics cards. Using hardware acceleration is recommended but not required. If your configuration doesn't include hardware acceleration, a built-in software encoder or decoder is used. The following articles provide more information about the supported hardware acceleration technologies:
- Server specifications for Intel Quick Sync acceleration with Wowza Streaming Engine transcoding
- Server specifications for NVIDIA acceleration with Wowza Streaming Engine transcoding
- Server specifications for AMD Xilinx acceleration with Wowza Streaming Engine transcoding
Note: Get transcoding working using the built-in default software encoder or decoder (not hardware-accelerated) before trying to get hardware accelerated transcoding to work. For information about how to determine if hardware acceleration is available on your Wowza Streaming Engine server, see Verify how Transcoder is running in Wowza Streaming Engine.
Licensing Transcoder
Perpetual and subscription licenses for Wowza Streaming Engine enable the use of Transcoder with each licensed server instance.
A single subscription provides 10 concurrent transcoded channels to your pool. Each annual pre-paid instance will increase the pool size by an additional 10 transcoded channels. If you exceed the number of concurrent transcoded channels available in your pool, you will be charged a monthly overage for each additional concurrent transcoded channel. For questions, please contact our sales team.
The integrated Transcoder can decode an unlimited number of inbound live streams and encode an unlimited number of outbound live renditions, subject to CPU/hardware limitations.
Extending Transcoder
Wowza Streaming Engine can be extended by writing custom Java classes that load dynamically at runtime. The server includes a rich Java API to interact with and control the streaming and transcoding process. For information, see our Wowza Streaming Engine Java API technical articles. Transcoder functionality is included in the com.wowza.wms.transcoder.* packages.