Streaming Media

Streaming Media on Facebook Streaming Media on Twitter Streaming Media on LinkedIn

Tutorial: Capturing and Streaming Live Presentations with the Epiphan Pearl

Epiphan Pearl ($4,875 list) is a small, dual-input, touchscreen-driven video recording and streaming device for lecture or presentation capture. This tutorial details how to stream and capture a presentation with Pearl.

Step 4: Configure the Multiple Inputs

When working with multiple inputs, you configure their size and position via the numerical entries next to the source shown in Figure 2. You can also drag each input around the design screen, but using numbers is more precise. Note that each channel has a maximum output frame size of 3840x2160, so you can place two video inputs side-by-side at full resolution.

Step 5: Create a Background and Logo

Since I’m using a side-by-side video configuration, there’s background showing behind the two video windows. With Pearl, you can choose a background color, or upload a custom background in PNG, TIFF, or JPEG format. I created mine in Photoshop in about 10 minutes, uploaded it to Pearl, and selected it as my background in the Branding tab. Pretty simple stuff. Obviously, you want to use the same resolution as your channel configuration, or at least the same aspect ratio, so the image doesn’t get squeezed, stretched, or otherwise mangled.

Note that you can also upload a logo for overlay using a similar process. However, transparency isn’t supported in this release, which limits the aesthetic potential of this feature.

Step 6: Configure Your Channel’s Encoding Settings

The next step is configuring the encoding settings for each channel. First up is codec selection; for most streaming, you want H.264 (MPEG-4 is also an option), while you might consider Motion JPEG for recording to disk. For configuration, Epiphan provides most of the usual suspects, including H.264 profile, frame size, and keyframe settings (Figure 3, below), though some of the options, terminology, and explanations used are a touch nonstandard.

Figure 3. Choosing encoding options. Click the image to see it at full size.

For example, Epiphan automatically calculates the data rate for you based upon resolution and frame rate, but doesn’t tell you what it is, which for most producers is a critical data point. To remedy this problem, you can simply click auto in the Bitrate box in Figure 3 and enter the desired number.

Epiphan also eschews accepted bitrate control language such as constant bitrate encoding (CBR) or variable bitrate encoding (VBR), which most live producers know, in favor of Relaxed, Balanced, and Strong. OK, you don’t have to be a rocket scientist to figure these out, but why create new terms when standard terminology exists?

Probably most confusing is H.264 codec handling. Pearl offers two codecs: one for hardware (from Intel), one for software (x264). The only guidance offered in the manual as to when to use which is to use “X.264 encoding for compatibility reasons.” This seems to beg more questions than it answers, as in, “Is the default hardware mode not compatible with some targets?”

I asked the question to my support contact at Epiphan and learned that hardware encoding is recommended for all encodings up to 1920x1200, after which you have to use x264. In general, x264 is considered to be the highest-quality H.264 implementation, so my preference would be to use x264 whenever possible, though I used the Intel codec in my tests and the quality looked great.

Guidance as to H.264 profile selection is also a touch confusing. For example, the manual advises you to use the baseline profile “when streaming to an application that requires robustness and cannot tolerate data loss, for example video-conferencing.” Typically, I use baseline for compatibility purposes, not for robustness (whatever that is). None of these are critical flaws, obviously, but the encoding interface definitely could be better thought out and improved.

Beyond these quibbles, Pearl’s most important limitation is the lack of any multiple-bitrate profiles. While it might be technically possible to configure multiple channels to produce streams capable of adaptive-bitrate distribution, if you want to deliver an adaptive experience, you’re best served using a live transcoder like Zencoder or Wowza Transcoder, or live services like YouTube Live and Brightcove that transcode on the fly for you.