Tutorial: Wowza Media Server Pro
Java, however, can be a bit intimidating to ActionScript programmers. To ease the transition, Wowza offers a nice integrated development environment that I will discuss later in this overview.
H.264/HE-AAC Streaming
With the release of Wowza Pro 1.5, the server fully supports streaming of H.264 video and HE-ACC audio content to Flash.
In addition to the traditional RTMP support, Wowza Pro also supports RTP and RTSP publishing from live H.264/AAC encoders and other servers, such as QuickTime Streaming Server (QTSS/Darwin). The company lists numerous compatible RTSP/RTP encoders on its website and helpful set-up instructions on its forums for several encoding products including Vara Software’s Wirecast, QuickTime Broadcaster, Orban, and HaiVision.
Deployment
Wowza can be deployed on a single server or multiple servers to accommodate large numbers of concurrent connections.
For video on demand and live streaming, load-balancing among multiple servers can be controlled by modifying a Flash client to check all available servers over HTTP and route connection requests to the list loaded servers. An on-demand load-balancing example included with the server provides excellent illustration of this functionality.
An origin/edge configuration is used to scale live streams. In this configuration, the live stream is published to the origin Wowza Pro server, then an edge server pulls a single live stream from the origin and delivers it to the Flash player clients. A single origin server can have thousands of corresponding edge servers. Any Wowza Pro server in an origin/edge cluster can be configured as an origin, an edge node, or both.
Configuring Applications
All configurations are done in XML. A developer can create a new application just by creating an empty folder in the [install_dir]/applications folder. To customize an application, another folder of the same name is added to the [install_dir]/conf folder and a file named Application.xml is placed in the new folder. There is a master copy in the conf folder, which is also the default Application.xml for applications that do not define one.
The Application.xml file is where stream type and other application settings can be changed. The ability to define an application-specific type is a feature unique to Wowza Pro. Several stream types are available. The default stream type is "file," which is optimized for video-on-demand applications. The "live" stream type is optimized for streaming live events, and the "live-record" stream type will also write the live stream to disk. The "live-low latency" stream type is optimized for real-time video chat applications. There are also stream types for the origin and edge servers in a live-stream repeater deployment discussed earlier in this article.
The Modules section of the Application.xml file is where a developer can add references to optional modules that ship with Wowza or custom modules developed to extend the server capabilities. Several optional modules come with Wowza, including a bandwidth checker and ready-to-deploy SecureToken anti-ripping protection. But if you want to create other customized applications, such as a database connector or integration with a content management system or some other resource, you have to extend Wowza with custom modules.
Extending With Custom Modules
Developers can build custom streaming solutions by extending the server with custom modules. Custom modules are written in Java. Java experience is going to be helpful with Wowza module development, but it is not necessary—and I say so from experience.
Companies and Suppliers Mentioned