Review: Kulabyte XStream Live 2.1
If you’re producing a live streaming event, you have three choices when it comes to encoding: You can hire out the work, buy a streaming appliance, or build your own streaming encoder. If you choose the third approach and want to stream HD H.264 video via Flash, Kulabyte’s XStream Live 2.1 Flash video encoder needs to be on your short list. While the interface is still (to put it kindly) a work in progress, the encoder proved very efficient and reliable and produced excellent video quality.
Let’s start with some speeds and feeds. The software costs $6,495 per server with no CPU core limitation. It can use FireWire input for SD streams and is compatible with input cards from both AJA and Blackmagic Design for HD. I used Blackmagic DeckLink HD Extreme for my tests.
As an overview, Kulabyte’s software includes a feature called the Preset Maker and the XStream Live encoder, which can produce up to four simultaneous streams if your computer is sufficiently powerful. Operationally, you create your preset first, load it into the encoder during event setup, and then press the magic Start button to start producing the stream. When you create the preset, you designate the target server, stream names, and other details; you can choose to save an archive file during the event.
Figure 1. Kulabyte’s Preset Maker lets you designate both primary and secondary streams.Creating Your Presets
Kulabyte’s Preset Maker (Figure 1) is a very spare application that deals more with stream and connection issues than preprocessing and encoding parameters, though this likely will change in future versions. You can create a preset with up to four outputs of varying parameters with the multiple files available as source files for dynamic streaming in a live event scenario. With each output, you can designate both a primary and a backup stream—a nice bit of redundancy that lets you seamlessly switch to the backup stream should you encounter any problems with the primary.
Blackmagic integration within the Preset Maker wasn’t quite complete; for example, the HDMI input that I ultimately used for my testing wasn’t available as an Input Type option. To make it work, I had to modify the XML code in the preset itself. In addition, most preprocessing and encoding options are not presented in the Preset Maker, so you’ll have to modify them (if necessary) via XML as well (Figure 2). Fortunately, the product manual does a nice job defining the text strings for all relevant options, so while you wouldn’t call the interface cushy, it’s certainly workable.
Figure 2. Parlez-vous XML? You’ll need to change any encoding or preprocessing options.
Kulabyte uses the MainConcept H.264 encoder, a consistent leader in all of my H.264 codec comparisons. It exposes a wonderful range of advanced encoding parameters, from entropy encoding techniques to enabling pyramid B-frame encoding and setting quantization values for I-, B-, and P-frames. Still, if you’re the type who likes to tinker with advanced H.264 settings, you’d better bone up on your XML.
Video input controls will depend upon the capture card you use, with none available for FireWire. With the Blackmagic card, I had to set inputs and other preferences in the Blackmagic Control Panel and then set them again in the Kulabyte Preset Maker. It’s been a while since I’ve added an input card to a computer, and it took a while to get all the inputs and outputs configured and working properly. Nothing onerous, but you should budget plenty of time for installation and shakeout before your first live event.
I installed the Blackmagic card and Kulabyte Encoder on a 3.0 GHz Quad-Core HP xw4600 workstation running Windows XP with 3GB of RAM. To test the live output, I installed a trial version of the Adobe Flash Media Server 3.5 on a 3.2 GHz Quad-Core Z400 HP workstation running 64-bit Windows XP with 6GB of RAM. After running my tests, I wished that I had installed the encoder on the Z400, if not the eight-core Nehalem-based Z800. Though I was able to produce two streams simultaneously without problems on the xw4600, you’ll almost certainly need an eight-core system to produce four simultaneous streams.
Figure 3. The Kulabyte XStream Live software, streaming away.
Once you’ve created your preset and created and configured your video input, you’re ready to start streaming. Run the Kulabyte XStream Live application, load the preset, start the video feed, and click the Start button; the encoder will then start pushing the streams. I started by testing a single stream produced at 720p parameters at 2,200Kbps. But after discussions with Kulabyte reps, I switched to encoding two simultaneous streams to match the product’s most common usage in the field. In these tests, I produced one stream of 960x540 H.264 video at 1,300Kbps and the other at 640x360 at 840Kbps.
Once you start encoding, status lights display the status of the primary, secondary, and archive streams, while an audio meter bounces along on the left, confirming that you’re streaming audio with your video. On the bottom right, the program displays current CPU usage, which is critical to monitor—if you get close to 100%, it could interrupt the stream. If this occurs, you can disable a stream and click Update Settings, and the server will discontinue that stream. It’s a pretty drastic measure that you should be able to avoid with pre-event testing, but it’s nice to know that it’s an option should CPU utilization unexpectedly rise.
Live streaming on a notebook can be the best of all possible worlds, but how powerful a machine do you need, and how do the various live streaming software programs stack up? We look at tools from Adobe, Kulabyte, Microsoft, and Telestream.
The encoding giant partners with Kulabyte to create Squeeze Live, a bandwidth-friendly solution for live events.
Companies and Suppliers Mentioned