Advanced Audio Coding (AAC) is a compressed audio format similar to MP3. It's the standard format for audio tracks in live streams and multimedia files that are recorded to MP4 containers. Compared to MP3, AAC generally delivers better audio quality at the same bitrate and is supported by more Wowza Streaming Engine clients.
Dolby Digital (AC-3) and Dolby Digital Plus (E-AC-3) are audio compression technologies that can have up to six channels of sound. Wowza Streaming Engine passes AC-3 audio in MPEG-TS sources through for Apple HLS and Microsoft Smooth Streaming playback, enabling users to experience immersive surround-sound audio on clients such as Apple TV and Xbox 360.
Adaptive bitrate (ABR) streaming refers to a technology that lets playback clients switch between various bitrate versions of a stream on the fly to accommodate changing network conditions, CPU constraints, and display capabilities. This streaming method can provide optimal image and sound quality for the viewer. The client controls switching based on client-side factors, and Wowza Streaming Engine software performs the server-side switching, which is transparent to the user. ABR streaming requires multiple versions of a file or live stream. Each version is encoded with a different bitrate, and each file or live stream encoded for ABR streaming must be keyframe aligned with the corresponding files or streams. The Wowza Transcoder is used to transrate one high-quality stream into several bitrate versions that are always keyframe aligned and suitable for ABR streaming. For on-demand streaming, the encoding process must be able to produce keyframe-aligned sets. Media Server software supports ABR for HTTP clients that use Apple HLS, Adobe HDS, Microsoft Smooth Streaming, and MPEG-DASH streaming--and Flash RTMP clients that use Flash Dynamic Streaming. The media server software doesn't support ABR for RTP/RTSP or multicast play.
Bitrate is a measure of the throughput of bits (or kilobits, megabits, gigabits, terabits) per second, written as bit/s or bps, kbit/s or kbps, Mbit/s or Mbps, Gbit/s or Gbps, and Tbit/s or Tbps. The bitrate of a stream is a primary consideration in streaming. Higher-quality streams (with better resolution and larger frame sizes) have a higher bitrate than lower-quality streams. However, client bandwidth may limit the bitrate at which streams can be played smoothly.
A content delivery network (CDN)is a distribution system designed to scale the delivery of webpages, audio, video, and other Internet-based content. A CDN replicates content in caching servers located in geographically dispersed datacenters. A CDN service should route clients to a server in the nearest datacenter. A CDN can be used to deliver Wowza media server software streams rapidly and cost effectively. There are two common ways to use a CDN with Streaming Engine software, and an additional method that's less frequently used. The first CDN distribution method uses the Stream Targets feature to push a live stream from Streaming Engine software to a CDN. Using this feature and RTMP, a stream is pushed from the Streaming Engine software to the CDN. The CDN then passes the stream through to its network for Flash RTMP client play and/or packetizes the stream for HTTP clients. This method supports only live streams. The second way to employ a CDN is to use an HTTP origin application in the Streaming Engine software. Using this method, the Streaming Engine software packetizes the stream for HTTP clients. The CDN pulls the "chunks" into its cache and replicates in its network for client playback. This method supports both on-demand and live streaming to HTTP playback clients. Flash RTMP and RTSP playback clients aren't supported. Some CDN operators may be willing to set up a Wowza live stream repeater edge cluster in their network and use an external (to the CDN) Wowza Streaming Engine server as an origin server. However, this is an unusual situation. In all cases, playback clients stream from the CDN, not directly from Wowza media server. Therefore, client playback isn't logged in Wowza Streaming Engine Manager and advanced play features that involve the manager directly don't work when using a CDN.
The definition of codec (Compression- Decompression) is hardware or a software algorithm that encodes audio/video data into a file format that can be transmitted and received, stored, encrypted, or played efficiently. There are many codec formats, some for different uses, and new codecs are created as technology improves. For example, raw uncompressed PCM audio (44.1 kHz, 16-bit stereo, as represented on an audio CD or in a .wav or .aiff file) has long been a standard across multiple platforms, but its transmission over networks is slow and expensive compared with more modern compressed formats, such as MP3. There are advantages and disadvantages with transmitting data with a codec. For example: Lossy codecs: Often used to transmit video and audio, the most popular codecs in the software world are lossy, meaning that they reduce quality of the video or audio (or both) but in most cases it's not noticeable to users. Because the data is compressed, file sizes are smaller and less bandwidth is used during transmission. Examples are: Audio: Dolby AC3, AAC, MP3, WMA Video: H.264 / MPEG-4 AVC, H.263, H.261, Open AVS, WMV Lossless codecs: Often used to store video and audio, they are typically used to archive data in a compressed form while retaining all of the information present in the original stream. This allows future editing of the data at a higher resolution. Examples are: Audio: MPEG4-ALS, FFMPEG, QuickTime Video: FFV1, JPEG 2000, H.264 Lossless, PNG
Digital Rights Management (DRM) is a technology that protects content from piracy. Wowza DRM technology provides integration with third-party DRM key management systems, including BuyDRM KeyOS, EZDRM, and Verimatrix VCAS. Wowza Streaming Engine software encrypts content dynamically by using Microsoft PlayReady or Verimatrix VCAS for playback in clients that support Apple HLS and Microsoft Smooth Streaming. Third-party DRM key management systems handle the keys used to decrypt the content. DRM overview
Digital Video Recorder (DVR) capability provides pause and rewind for live digital content. Wowza nDVR technology brings DVR capabilities to live streaming. To do this, Wowza media servers write the live stream to disk in chunks, which are similar to segmented chunks created for HTTP streaming. Clients play from this recorded store, providing pause and rewind capability. How to set up and run Wowza nDVR for live streaming
An embedded player is a browser-based application, such as a Flash or Silverlight application, that uses a browser plug-in as its runtime environment. An HTML page will include Embed and/or Object tags that load a player file (an SWF file for a Flash application or a XAP file for a Silverlight application). The browser loads these files asynchronously. That is, the HTML page loads in the browser first, and then the browser loads the embedded player. It's the embedded player running in the browser plug-in that streams from the Wowza Streaming Engine software.
A codec (coder/decoder) is a program that uses a compression-decompression algorithm to encode and decode video and audio to formats that can be streamed, stored, encrypted, and played. In streaming, video and audio codecs are used by live encoders, file encoders, playback clients, and by Wowza Streaming Engine media server software to send and receive live streams or to write files for on-demand playback. Encoding is the process of converting digital audio and video media files into a different format, generally by using a codec to compress them. Encoding reduces the size of audio and video files. Each audio and video file format has a corresponding codec that's used to code it into the appropriate format and then to decode it for playback. The file or stream encoding details are defined in its video and audio codecs. Wowza Media Systems supports a wide variety of playback client video and audio codecs, and these encoding details determine levels of support and constraints. A matrix of audio and video codec support by client type can be found in this Wowza Specifications chart.
Adobe Flash is a multimedia platform that can play and stream rich media content, including animations. The Flash Player is a browser plug-in, a runtime environment for Flash applications. It's usually downloaded from Adobe and then installed on web browsers. It's often used for games, streaming video, animated presentations, and banner ads. The term "Flash player" also refers to Flash applications that can play video and audio streams. The Flash Player (the plug-in) plays Flash applications; a Flash player (an application or playback client) plays streams. Most Wowza documentation uses the term "Flash client" to mean Flash applications for streaming. In general, content producers supply Flash playback clients. These are usually files stored on the content producer's web server (or hosted by a third party) that are requested by and served to a browser. A Flash application is usually compiled into an SWF file, stored on a web server, and then embedded in an HTML page that's loaded in a user's browser. The Flash client running in the browser is what connects to a Wowza media server. The web server's only role is to serve the player files to the browser. Wowza media servers support publishing and playback of Flash RTMP streams and playback Adobe HDS (Flash Dynamic Streaming) streams. Wowza media server software and Flash RTMP clients can interact and exchange data by using RPC (remote procedure call) commands. The media server uses Flash RTMP applications for most interactive operations that involve streaming (such as video chat). And the media server software installation includes several Flash examples that are designed for testing and as starting or reference points for developers.
An older video compression format standard, or codec, that's still widely employed by Internet applications such as Flash Video content (used on sites such as YouTube and Google Video), desktop video conferencing, video telephony, surveillance and monitoring, and 3GPP files for playback on mobile phones. IP Multimedia Subsystem (IMS) and Multimedia Messaging Service (MMS) also require H.263. Wowza Transcoder technology supports transcoding to H.263.
H.264/AVC (Advanced Video Encoding) or MPEG-4 Part 10 is a video compression format that provides higher-quality video with lower bitrates than earlier formats such as H.263. The terms H.264, AVC, and MPEG-4 Part 10 are equivalent and interchangeable. H.264 is the current standard for video streaming and is the most commonly used format for encoding live streams and multimedia files for on-demand streaming that are served by Wowza media servers. Most of the clients that Wowza media servers support can play H.264 video, with the various limitations imposed by H.264 Levels and Profiles. The Wowza Transcoder default video encoding format is H.264.
H.265, also called High Efficiency Video Coding (HEVC), is a draft video compression standard that delivers much higher-resolution video at the same bitrate as H.264. Its data compression ratio standard is double that of H.264.
Adobe HTTP Dynamic Streaming (HDS) is a streaming media protocol for use with Adobe Flash player applications. OSMF (Open Source Media Framework) is used in Flash players that play HDS streams. Adobe HDS streams are used by Flash clients to play segmented video and audio files that have been downloaded to a player over HTTP. Wowza media servers segment live streams and multimedia files into small files (chunks) for delivery to requesting HTTP playback clients. HTTP clients use a manifest file generated by the media server to order requests for the chunks. Streaming Engine software breaks chunks on keyframes, although not usually on every keyframe; however, each chunk will contain at least one keyframe. The chunks created by the media server for HTTP streaming are kept in memory and not written to disk. HTTP Live Streaming avoids the network problems sometimes associated with RTMP streaming, which can be blocked in some networks and may require port configuration on the delivery side. HTTP streams are also easier to cache and they work with proxy servers. (You can't proxy RTMP). Adaptive bitrate (ABR) streaming is better supported in HTTP clients than in Flash RTMP clients. ABR is built into the HTTP streaming protocols. HTTP clients can constantly measure client-side bandwidth calculated by chunk size and download time, whereas RTMP must employ a separate process to measure bandwidth and requires a custom player to implement ABR streaming.
Apple HTTP Live Streaming (HLS) is a streaming media protocol for use in Apple iOS devices. Despite the name 'HTTP Live Streaming', both live and on-demand streaming is supported with HLS. Many set-top boxes, recent Android devices, VLC, and other players support HLS playback. Apple HLS streams are used by iOS clients to play segmented video and audio files that have been downloaded to a player over HTTP. Wowza media servers segment live streams and multimedia files into small files (chunks) for delivery to requesting HTTP playback clients. HTTP clients use a manifest file generated by the media server to order requests for the chunks. Streaming Engine software breaks chunks on keyframes, although not usually on every keyframe; however, each chunk will contain at least one keyframe. The chunks created by the media server for HTTP streaming are kept in memory and not written to disk. HTTP Live Streaming avoids the network problems sometimes associated with RTMP streaming, which can be blocked in some networks and may require port configuration on the delivery side. HTTP streams are also easier to cache and they work with proxy servers. (You can't proxy RTMP). Adaptive bitrate (ABR) streaming is better supported in HTTP clients than in Flash RTMP clients. ABR is built into the HTTP streaming protocols. HTTP clients can constantly measure client-side bandwidth calculated by chunk size and download time, whereas RTMP must employ a separate process to measure bandwidth and requires a custom player to implement ABR streaming.
Hotlinking refers to web links that are embedded in a webpage for the purpose of displaying the content from another site. Showing "borrowed" images, text, and video in this manner is illegal when the links display intellectual property that belongs to someone else. The process of hotlinking is the same as embedding. Some web services encourage embedding and hotlinking. For example, YouTube provides a code snippet to help embed videos from their site into your own site. More information: How to combat hotlinking your Adobe Flash SWF file (ModuleHotlinkDenial)
Internet Protocol Television (IPTV) comprises television services that are delivered by a video stream (encoded as a series of IP packets) instead of by more traditional television formats such as cable. This technology breaks the video and audio data into packet to enable transmission over the Internet. IPTV devices can be Wowza playback clients.
In video compression, a keyframe is the full frame of an image; it's also known as an intra-frame or I-frame. In compressed video, the first frame is a full image. Subsequent frames (called P-frames) contain information about what changed between each frame. Keyframes are inserted at regular intervals throughout a video by an encoder. In Wowza media server software, keyframe frequency (keyframe interval or frames per second) is an important consideration because the media server breaks chunks on keyframes for HTTP-based streams. The media server can then optimize HTTP streams and corresponding keyframe frequency settings made in the encoder. During playback, the keyframe frequency affects seek precision because most players can only seek to the nearest keyframe.
Live Stream Recording
Live Stream Recordin in Wowza Streaming Engine software provides a number of features for simple and advanced recording of live streams. You can control live stream recording by using a web-based user interface, programmatically through an API, or by using HTTP URL query parameters (which allow for integration with other systems such as schedulers). You can split live streams into multiple on-demand MP4 (QuickTime container) or FLV (Flash Video container) files based on video duration, clock time, or file size. More information: How to record live streams
Live Streaming is an audio or video stream that's played in real time, rather than from the beginning. It's always in progress. A live stream doesn't support pause, seek, or rewind functions. The source of a live stream can originate from a live encoder, but it can also come from a static file. The StreamPublisher module for Wowza Streaming Engine media server software enables you to use files as the source of a live stream.
Load Balancing is the distribution of workloads across computers and networks. In streaming, load balancing is used to distribute playback client connections among edge servers to scale live and on-demand streaming. The Dynamic Load Balancing AddOn for Wowza media server software provides a method for dynamically distributing connection load among multiple Wowza edge servers. Load balancing is used in tandem with Media Cache technology and a live stream repeater (origin/edge) configuration, which are used to scale live and on-demand streaming. See Also: Load balancing overview
In streaming, a manifest is a file that lists the information that HTTP playback clients require to play a stream. When an HTTP playback client requests a stream, Wowza media server software responds with a manifest. HTTP clients use a manifest file generated by the media server to order requests for the chunks of a stream, and to get metadata, bitrate, and codec information.
The metadata of a file or stream describes its contents. In streaming, an encoder adds metadata to the live stream or file during encoding. Playback clients use this metadata to display the stream properly. For example, a file will include duration information in the metadata that's used to configure a Seek bar for on-demand playback. Metadata that contains width and height information is commonly used to determine and display the correct aspect ratio for live streams on playback clients. The Wowza Transcoder, a live encoder, adds metadata to transcoded renditions.
Moving Pictures Expert Group (MPEG) is a body of industry experts that sets standards in the field of audio and video. Working together since 1988, they have defined many of the codec and container formats that are used in video production and the streaming products and processes that Wowza Media Systems supports. Examples include H.264 (MPEG-4 Part 10), MPEG-TS, and more recently the H.265 and the MPEG-DASH standards.
Dynamic Adaptive Streaming over HTTP (DASH), also known as MPEG-DASH, is an international standard for adaptive streaming that's being adopted by the streaming industry. Wowza Streaming Engine software includes MPEG-DASH technology for streaming live and VOD content over HTTP to select DASH clients. MPEG-DASH is similar to proprietary adaptive streaming technologies such as Apple HLS, Adobe HDS, and Microsoft Smooth Streaming in that it's a chunk-based streaming technology that uses HTTP for delivery. All media-chunking and packaging necessary to deliver a stream using this technology is performed by the Wowza Streaming Engine server. Note that in MPEG-DASH terminology, chunks are called segments. MPEG-DASH servers give DASH clients a list of the available media chunk URLs in a Media Presentation Description (MPD) manifest. The MPD describes chunk information such as timing, language, timed text, and media characteristics (video resolution and bitrate). Clients request media chunks sequentially based on network conditions, device capabilities, and other factors to enable uninterrupted playback of the adaptive bitrate media presentation. More Information: How to stream over MPEG-DASH
MPEG Transport Stream (MPEG-TS) is a transport stream container format that's used for streaming and storage of streams. Wowza Streaming Engine software can ingest MPEG-TS live streams, which can be re-streamed from live MPEG-TS encoders over UDP. The Stream Targets feature in the media server software supports publishing of MPEG-TS streams. Wowza media server software writes .ts files to support playback of live Apple HLS streams and CDN caching infrastructures that support Wowza HTTP Origin features. These .ts files are kept in memory, not written to disk and so they're not easily portable for other purposes.
Multicast is a process that lets a server send a stream to multiple recipients simultaneously in a single transmission. In this one-to-many distribution architecture, a single IP router creates optimal one-to-many distribution paths to a multicast destination address. A multicast stream is published to a multicast address in a VLAN. A live encoder publishes one stream to the multicast address; then playback clients stream from the multicast address, not directly from the source. The VLAN replicates multicast streams for each playback client. It's important to note that multicast streaming isn't supported over the public Internet. Wowza Streaming Engine media server software can re-stream from a multicast address, allowing the stream to be played by any supported client. The software also includes the Stream Targets feature that supports multicast publishing. When used as a multicast source, the media server doesn't log playback statistics because the playback clients stream from the multicast destination IP from which the stream is being published, not directly from the Wowza media server.
RTP Control Protocol (RTCP) works with Real-time Transport Protocol (RTP) in RTSP streaming. While RTP carries audio and video streams, RTCP is the data channel in an RTSP stream. It's used primarily to send quality of service (QoS) data to the source.
Real-Time Messaging Protocol (RTMP) is a protocol used by Flash Player to play on-demand and live streams. The Flash player can stream on-demand content from a web server (as a progressive download) or both on-demand and live streams by using a streaming media server, such as Wowza Streaming Engine. RTMP can contain multiple channels of video, audio, and data. RTMP provides low-latency streaming. RTMP is also used for server-to-server streaming between edge servers and an origin server in a Wowza live stream repeater configuration. RTMP is a TCP-based stateful protocol, which means it maintains persistent connections so that audio, video, and data can move in both directions in an RTMP connection. For example, media content can move between a Streaming Engine software client and a Flash client, and either client can play or publish audio and video and send and receive commands and data. Using a Flash RTMP application as a client enables a wide variety of applications, including audio/video/text chat, ad insertion (pre-roll), pay-per-view and pay-per-minute (PPV,PPM), and rich user experience applications synchronized with stream content. By default, RTMP uses TCP port number 1935. RTMP defines several virtual channels (tracks) on which packets are sent and received, and which operate independently of each other. These tracks can contain audio, video, or data. Typically, at least one audio, video, and data track exists in an RTMP stream. The data track can have cue points (timed text) and RTMP clients can be designed with callback functions that listen for cue points. These client-side callback functions might display captions, subscribe to new streams, or change the user interface. During a typical RTMP session, packets are interleaved and multiplexed across different active channels to ensure that each channel meets its bandwidth, latency, and other quality of service (QoS) requirements.
RTMPE is an encryption variant of Real-Time Messaging Protocol (RTMP) that uses Adobe's security mechanism for encryption. Because RTMPE is known to have security issues, we recommend that the RTMPS protocol, an encryption variant that transmits data over a secure SSL connection, be used instead.
RTMPS is an encryption variant of Real-Time Messaging Protocol (RTMP) that transmits data over a secure TLS/SSL connection. This prevents security breaches such as "man in the middle" from succeeding during transmission. RTMPS is recommended rather than RTMPE for stream encryption. RTMPS requires you to install an SSL certificate on the Wowza media sever. Users with Subscription and Perpetual licenses for Wowza Streaming Engine software can use Wowza StreamLock AddOn to get and install free 256-bit SSL certificates for use with RTMP (RTMPS) and HTTP (HTTPS).
RTMPT (HTTP Tunneling) is a tunneling variant of Real-Time Messaging Protocol (RTMP) that's encapsulated within HTTP requests. This allows RTMPT packets to traverse firewalls. RTMPT often uses cleartext requests on TCP ports 80 and 443, which allows it to bypass most corporate traffic filtering. Such an encapsulated session can pass RTMP, RTMPS, or RTMPE packets within the HTTP tunnel.
Real-time Transport Protocol (RTP) is a streaming protocol that defines a standardized packet format for delivering audio and video over IP networks. RTP is used with RTP Control Protocol (RTCP) in RTSP streaming. RTP protocol provides: Jitter compensation and detection of out-of-sequence arrival of data, which is common during transmissions on IP networks. Data transfer to multiple destinations through IP multicast. Audio smoothing: packet loss that results in less than a second of lost audio data can be made unnoticeable with suitable error-concealment algorithms.
Real Time Streaming Protocol (RTSP) is a network protocol created to control streaming media servers. It's used to establish and maintain streaming sessions between a stream source or playback client and a media server. RTSP uses RTP and RTCP for the delivery of the media. RTSP maintains session state by using control sequences. These are commands that are sent over RTCP with session identifiers used to track concurrent sessions. Most RTSP control messages are sent by the client to the server, but some RTSP commands are initiated by the server and sent to the client. The default RTSP transport layer port number is 554.
Microsoft Silverlight is an application framework for writing and running rich Internet applications. The run-time environment for Silverlight is available as a plug-in for web browsers that run under Microsoft Windows and Apple OS X operating systems.
Microsoft Smooth Streaming is a streaming media protocol for use with Microsoft Silverlight player applications. Smooth streams are used by Silverlight clients to play segmented video and audio files that have been downloaded to a player over HTTP. Wowza media servers segment live streams and multimedia files into small files (chunks) for delivery to requesting HTTP playback clients. HTTP clients use a manifest file generated by the media server to order requests for the chunks. Streaming Engine software breaks chunks on keyframes, although not usually on every keyframe; however, each chunk will contain at least one keyframe. The chunks created by the media server for HTTP streaming are kept in memory and not written to disk. HTTP Live Streaming avoids the network problems sometimes associated with RTMP streaming, which can be blocked in some networks and may require port configuration on the delivery side. HTTP streams are also easier to cache and they work with proxy servers. (You can't proxy RTMP). Adaptive bitrate (ABR) streaming is better supported in HTTP clients than in Flash RTMP clients. ABR is built into the HTTP streaming protocols. HTTP clients can constantly measure client-side bandwidth calculated by chunk size and download time, whereas RTMP must employ a separate process to measure bandwidth and requires a custom player to implement ABR streaming.
Streaming is the process of sending compressed media files or live streams from computer to computer across a network without downloading the stream. Playback clients display the stream as it's received or from a small client-side buffer. The stream isn't saved to disk client-side (as is the case with progressive download). Streaming provides several key advantages compared to progressive download: Live streaming enabled – A media server is required to handle live stream ingress, replication, and packetization for different client types. Content security – Many options are available for enhancing security because content isn't downloaded to clients. Random Seek in on-demand – In streaming, a file doesn't have to download to seek forward to a keyframe. Streaming of large on-demand files – In progressive download, very large media files are impractical because they need to download sequentially. A user can only see what has downloaded. Bandwidth savings – In streaming, only the parts of a media file that are played are sent to the client. With the exception of the benefits offered by live streaming, the advantages provided by streaming are all aspects of the fact that content isn't downloaded in the client. Wowza Streaming Engine software supports a variety of encoders and playback clients for live streaming. Live encoders with built-in H.264 video and AAC or MP3 audio are supported directly. Other encoding formats are supported for transcoding by using the Wowza Transcoder. A number of technologies are used to provide a continuous, uninterrupted stream, such as RTMP streaming, HTTP Streaming, H.264 encoding, and Adaptive bitrate (ABR) techniques.
Transcoding is the process of converting one analog-to-analog or digital-to-digital file to another file format. Frequently, video and audio files are transcoded when the original file formats aren't supported in a system, or they may be transcoded because newer formats are available. Transcoding is often a lossy process, introducing a loss in quality each time a file is transcoded. Transcoding can be lossless if the input is losslessly compressed and the output is either losslessly compressed or uncompressed. Wowza Streaming Engine software only reflects streams and doesn't typically transcode video and audio codecs unless the Wowza Transcoder is involved, so the encoding of live streams or files for on-demand playback is determined by and set in an encoder. Transcoding shouldn't be confused with packetizing. Wowza Streaming Engine software packetizes streams for each playback client differently, but in this process the video and audio codecs are unchanged from the source. Using Wowza Transcoder, video and audio tracks can be transcoded to formats supported by Wowza playback clients. The transcoder is also used to transrate, that is, to encode to lower bitrate versions of the source stream. This is a process that's commonly used to encode keyframe-aligned sets of live streams to support ABR streaming. See our Wowza Transcoder documentation for a list of supported video and audio codecs for decode (incoming live streams) and encode (playback).
Transcode-multiplexing (transmuxing) is a process that changes the format of an audio or video file while keeping some or all of the stream information from the original. In other words, transmuxing converts to a different container format without changing the file contents.
Transrating is the process of changing a video file from one bitrate to another. This is often done for adaptive bitrate systems via an encoder to create the different versions of the video. Transrating converts a file to a different bitrate, but doesn't change the video or audio encoding format. Wowza Transcoder is used to transcode audio and video codecs that aren't supported by the clients that the Wowza Streaming Engine software supports, and/or to transrate several renditions at different bitrates for adaptive bitrate (ABR) streaming. The key advantage to using the transcoder to transcode server-side for ABR streaming is to guarantee aligned keyframes of the ABR renditions, which is necessary for switching during playback. Moreover, not having to produce each rendition on the encoder side saves uplink bandwidth. This provides support for higher-quality source streams where bandwidth is limited.
User Datagram Protocol (UDP) is a connectionless protocol that's widely used in streaming. It's very efficient because it doesn't perform error checking (as does TCP), but this means it's also more prone to network issues and, therefore, packets may be lost or may arrive out of order. Wowza Streaming Engine media servers can re-stream MPEG-TS and multicast streams over UDP, and also publish MPEG-TS and multicast streams over UDP.
In Unicast Streaming, each playback client is served its own stream. Unicast streams are the most common live and on-demand streaming types provided by Wowza media servers. The media server creates a stream for each playback client, and then reflects a copy of the file or live stream to each client. For this reason, server and network utilization increases linearly as playback load increases, so it's critical in streaming to be aware of the stream bitrate, the peak concurrent load, and the server-side network capacity. To scale unicast delivery of on-demand streams for large audiences, Wowza media server software includes Media Cache technology. To scale unicast delivery of live streams for large audiences, you can set up Wowza media servers in a live stream repeater (origin/edge) configuration. When using these architectures, playback clients stream from edge servers that either repeat live streams from an origin server or cache on-demand assets that are stored on a web server or network drive (NAS, NFS).
Video on-demand (VOD) streaming uses a multimedia file as the source. It's always accessible, always plays from the beginning (or other specified start point), and it has a duration (which is usually included in the file's metadata). By comparison, a live stream is always played in progress, is only available while it's live, and has an unknown duration. For all playback client types, Wowza media servers support on-demand playback of .mp4 and other QuickTime container files (.mov, f4m, .3gpp, etc.) that contain H.264 video and AAC or MP3 audio. For Flash RTMP and Flash HTTP clients, Wowza media servers support playback of .flv files that contain Sorenson Spark or VP6 video and Nellymoser or Speex audio. It's important to know the bitrate of a file used for on-demand streaming. You can calculate the approximate average bitrate of a file in bits per second (bps) by using this formula: Size in bytes * 8 / duration = bits per second (bps). For adaptive bitrate (ABR) on-demand streaming, multiple renditions of a multimedia file are encoded in different bitrates.