SimulStream, The Theory and Reality
If you’re a current Osprey 210, 220, or 500 user and you’re looking for a solution that will encode a source for several target rates and formats at the same time, then we suggest you take a look at ViewCast’s SimulStream.
SimulStream is a $599 software upgrade for Osprey 210 and 220 users that lets users simultaneously encode multiple streams of audio and video at different bit rates and resolutions from a single Osprey capture board. It is used for live streaming and real-time encoding in particular. As a whole, SimulStream works as advertised, though there are a few things to keep in mind.
Some consumers may find $599 a questionable sum to pay for the software when you can effectively achieve the same results by purchasing and installing several Osprey cards in your PC for roughly the same amount of money. However, that’s a home-user-centric point of view, and this product is generally for those who have a large amount of capturing and encoding to do. Also, for those with large capture operations, reducing clutter may matter a lot, and one capture port with one cable running to it is better than four. For large operations with many capture/encoding systems, the clutter reduction is more significant.
Additionally, the $599 fee is only good for one card in your system. If you intend to use the software with a second Osprey card, you’ll need to fork out another $800 for a second license. It’s not clear why anyone would want two cards, both with SimulStream drivers, though, so this is merely noted and not posited as a product drawback.
In spite of the $599 price, an Osprey card and SimulStream software in your own PC is a cheaper solution than buying a fully configured appliance such as ViewCast’s own NiagaraMax, Pinnacle’s StreamFactory or Winnov’s Xstream MultiCaster. The appliance, however, may have additional capabilities and I/O, so this may not be an even comparison. For instance, audio inputs/outputs (SDI, YUV, Y/C, Composite, AES/EBU, XLR) and all the system requirements expected of an industrial-strength encoder (dual CPUs, LAN connectivity), not to mention a few bells and whistles, such as built-in down stream keyer (DSK) for inserting logos and an HTML interface for access control from any computer.
On the flip side, however, some of these encoder appliances are limited to four unique streams, whereas SimulStream isn’t. The amount of simultaneous streams you’ll be able to encode with SimulStream is limited only by the speed of your machine’s processor(s). We tested SimulStream on a 500MHz PC and were able to encode four video streams simultaneously. If you have a rockin’ dual 1.2GHz processors in your machine, you should have no problem capturing six or more simultaneous streams.
SimulStream requires you to have multiple encoder windows open (each representing a targeted bit-rate and resolution). Instead of clicking one button that would activate all the software encoders, you need to click "start" in each encoder app. ViewCast is aware of this deficiency and is working on a GUI that will fix this shortly for those who are GUI-oriented. For the technically savvy, a simple workaround is to launch sessions from the Windows Media and Real command line utilities, wmutil and rmbatch, in batches to do what’s needed without restriction or simultaneity issues.
Testing 1, 2, 3
SimulStream installed easily on our Pentium III, 500MHz, with 256MB RAM, running Windows 2000. Note: SimulStream supports Windows NT and 2000 (XP drivers are expected in Q1 this year). We first installed RealProducer 8.5 and WM Encoder 7.01, and then installed an Osprey 210 capture card along with the SimulStream software and the Windows 2000 driver from ViewCast’s Web site (www.viewcast.com). From there we attached a Sony CCD-TR700 Hi8 camcorder to the Osprey’s S-Video in/unbalanced audio in, and set out to see how many simultaneous streams of video we could encode in real-time.
In all, we were able to get the Osprey card to output four streams from one source before we reached our PC’s limit. We started out with four targets, two each from WM Encoder and RealProducer. We targeted both formats at 56Kbps (160x120, 15fps) and 256Kbps (320x240, 30fps). When we added a fifth target, a pop-up window from RealProducer let us know that we had tapped out the processor for live streaming. WM Encoder also let us know that the encoder could not process enough data for acceptable quality output.
Microsoft’s Multiple Bit Rate (MBR) and Real’s SureStream options bundled with their encoders can deliver multiple bit rates from a live source, but they limit all files to a common resolution. SimulStream, on the other hand, lets you choose unique resolution settings in the encoder for each target rate. MBR and SureStream require that targets share resolution size, so targeting both a 300Kbps user and a 56Kbps user will result in the same screen resolution for both -- the 160x120 postage stamp size is ideal for 56Kbps but too small for DSL targets who have the bandwidth for 320x240.
During our tests, SimulStream never crashed and we were happy with the quality of video the software produced. And, while we found the 10-page instruction book for SimulStream to be sparse in pages, it was densely packed with useful information.
One problem we found was when we experimented with unusual streaming combinations. Streaming combinations that start from the highest to lowest resolution at ratios of 2:1 and 4:1, such as the first target at 320x240 and the one to follow at 160x120, came out looking good. Odd and unusual ratio combinations (say, a 5:3 ratio) are not recommended because artifacts are introduced. When we tried encoding a 320x240 stream first and then introduced a 176x144(QCIF) stream, WM Encoder failed to encode the second stream, giving us the error message: "cannot open specified audio capture device because it is in use right now." According to ViewCast, this is a common WM Encoder and not a SimulStream limitation glitch and doesn’t have anything to do with the audio but more likely has to do with the streaming combinations we used. The upshot is that, even though this may not be a SimulStream issue, there’s some planning and care needed in selection encode combinations that work.
We should also note that streaming combinations get especially tricky at the full screen resolution of 640x480 at 30fps. The reason is that this profile captures every video field to the host at a single desired color format. Since SimulStream drivers do not provide further color formatting in software, you won’t be able to capture video at other color formats. We could set up any number of streams for 640x480 at 30fps, 320x240 at x-fps, 160x120 at y-fps, and so forth, as long as they shared a common color format, which isn’t a problem for most people encoding Real or Microsoft files. Color was not an issue on smaller resolutions such as 320x240. In these cases, the Osprey hardware could color format the odd and even fields differently so we could have a set of variable size streams -- 320x240 at one color format and another 320x240 at another color format if we desired.
We don’t expect the majority of Osprey card owners to buy SimulStream at $599 per card, just those with multiple encoding stations or very heavy capture and encoding workloads and large CPUs. Also offered by ViewCast, but untested, are SimulStream drivers for their high end digital video cards, supporting AES/EBU, SDI, DV, and more. At $1995 for the Osprey DV500 and DV2000 drivers, the cost and potential benefits, especially in professional environments, are both higher.
* Useful for live streaming.
* Can reduce clutter for those continuiously doing large amounts of capture and encoding.
* Very difficult to work with, though not more so than having multiple boards in a system.