158 STREAMING MEDIA INDUSTRY SOURCEBOOK 2018
you access lots of information. Click the blue “Incoming
streams” box on the upper left
and you’ll see all incoming
streams and their sources.
Click the green, orange, or purple “Outgoing stream” boxes
and you’ll see all outgoing
streams and their bandwidths
and codecs. Again, click the
white “Adaptive stream” box to
see the adaptive groups you’ve
created, which is what you see
on the bottom of Figure 6.
Click “Add ABR setting” to
add an adaptive group, or the
wrench on the right to edit an
existing group, which you can
see in Figure 7. Operation is
simple: to add streams, click the
blue text “Add source,” which
opens another line where you
enter the source application
name and the source stream
name. If you click the blue text “Advanced settings,”
you see the streams sorting drop-down menu, which
lets you choose which stream appears first in the master manifest file (the first file retrieved by the viewer).
I chose “Manual - as defined in list” and specified the
1.5Mbps 720p file first, which is a bit lower than the
2Mbps file that Apple recommends.
The first few seconds of video retrieved by the viewer can have a huge impact on QoE; choose a file that
the client can’t easily retrieve and it can start a torrent
of stream switching until the player reaches stasis.
Choose too low and the viewer gets several seconds
of ugly video, creating a bad first impression. This is
definitely one of those areas where it pays to follow
Apple’s best practice recommendation.
Once you’ve created the adaptive group, you’re
done from a stream-configuration perspective. Now
it’s time to configure the encoder.
Step 5: Configure the Encoder and Point to Server
Figure 8 on the next page shows the configuration
screen for Vitec’s MGW Ace encoder. The unit accepts HDMI and HD-SDI input, and can output HEVC
and H.264. At Vitec’s recommendation, we broadcast a
4Mbps HEVC stream (see the Bit-Rate setting on the
upper right), which provided sufficient 1080p quality
while leaving plenty of overhead for outbound bandwidth. On the right, you can see that we’re transmitting a transport stream via UDP to the target address
and port. Note that we needed to change the TTL from
its default setting of TK to 128 to give the packets time
to reach the encoder. Once accomplished, the encoder
connected to Nimble without any problem.
All live streaming benefits from using a secure and
error-correcting protocol. Unfortunately, our encod-er/transcoder combination couldn’t agree on a protocol, with Vitec supporting Zixi and Nimble supporting
the open source Secure Reliable Transport (SRT) protocol. It wasn’t a problem for us because our internet
Here are the two ABR groups. You access this screen by clicking the white “Adaptive stream” box on the upper right of the schematic.
Creating the adaptive group