What is streaming?
After you connect your camera, audio source, and set up a channel, it’s time to stream your content live and share that with your viewers.
Epiphan products provide many different streaming options and supports a variety of streaming protocols. The easiest way to stream a single channel directly to viewers on the same local network is to share the channel's live broadcast URL. Various stream types are available so users can watch using their favorite devices, including: HTTP/HTTPS, HTTP FLASH (.FLV), MPEG-TS (HTTP), HLS (pull) (enable HTTP streaming on the Streaming page of the Channel), and RTSP.
At the same time, stream to a multicast server or CDN and reach viewers across the globe. You can even stream to smart TVs in overflow rooms using SAP. The streaming method you choose depends on factors like the number of viewers of your stream, are you broadcasting live over a local TCP-based network or streaming to a CDN over the Internet, how much bandwidth do you have available, and is live streaming security a concern?
Pearl-2s can stream to a CDN or media server using any of the following streaming protocols:
SRT (push)
HLS (push)
RTMP/RTMPS (push)
RTSP Announce
A channel can support multiple streams. That means you can stream a channel to multiple destinations using different streaming protocols. Unicast and multicast streams are also supported.
- Pearl-2 - start and stop streaming by using One touch control from the touch screen, or control the channels individually in the top left corner when viewing a single channel on the touch screen. You can also control streaming using Epiphan Edge, using Epiphan Live from a mobile device, tablet, or computer, or via external control via Qsys, Crestron, and more. A full REST API is available for these particular use cases.
In addition to streaming from the Pearl-2, the following streaming formats are supported as input sources that the Pearl-2 can ingest:
SRT
RTSP
NDI
NDI|HX
Web Graphics
Streaming to a CDN, multicasting, and streaming to multiple destinations
A Content Delivery Network (CDN) relies on geo-diverse CDN servers to receive and disperse web content to the CDN server closest to the user. The closer the server is to the user, the faster the content is delivered. Streaming your content through a CDN allows you to stream any time, anywhere, regardless of the viewing device and you don't have to worry about maintaining your own video streaming servers on site.
Streaming content to a multicast IP address is different than streaming to a CDN. Multicasting lets you directly share the stream with multiple viewers on the same LAN. All viewers receive the same stream at the same time. Similar to turning on a radio station where all listeners hear the same music at the same time. Multicasting is useful for training sessions when there is a specific time frame for the audience to view the content live.
Pearl-2 can publish to multiple destinations at the same time. Do not use Motion JPEG (MJPEG) encoding when streaming a channel to CDNs and multicast streaming at the same time.
| Publishing Options | Use this option to... |
|---|---|
| Content Distribution Network (CDN) | Stream web content to many viewers on different Content Delivery Networks simultaneously to any geographical location. Using a CDN to host your broadcast is highly scalable and saves you from having to purchase and maintain your own servers to host and deliver video content. Using one or more CDNs to stream live content allows you to reach a large geographically diverse audience and because CDNs perform format conversion, the stream is platform independent. Streaming protocols supported include: SRT (push), HLS (push), RTMP/RTMPS, NDI (Pearl-2 only). |
| Multicast Streaming | This delivery method relies on network equipment that supports multicasting and is usually used on high bandwidth corporate LANs and not on Internet-based architectures. Multicasting is what's typically used to stream video and audio to an IP TV or set-top box playlist. If you're streaming over a Gigabit Ethernet network to a 10/100 Mbps set-top box that is dropping frames, you can limit the stream's bandwidth using traffic shaping (see Set up traffic shaping). Multicast streaming protocols supported include: MPEG-TS UDP, MPEG-TS RTP/UDP, and RTP/UDP. |
To stream video outside of your LAN, use a CDN or configure port forwarding on your router. Consult your Network Administrator to set up port forwarding.
By default, no streaming is configured for the channels configured on Pearl-2.
Publishing to a CDN
When you publish a stream to a CDN provider, make sure you use a streaming protocol that the CDN supports. Contact your CDN for a list of supported streaming protocols and audio codecs they support.
To publish content to a CDN provider, ensure you have:
the URL (or path) to the mount point or an XML configuration file (provided by the CDN provider)
the supported transport protocols, audio codecs, and any other settings like key frame rates and bit rates recommended by the CDN provider
You can control streaming to a CDN using the Admin panel.
You can also test how your content is streamed by sending your content to Epiphan’s CDN.
Streaming to multiple destinations
There are a few different ways to stream to multiple destinations using Pearl-2. One option is to configure a channel on Pearl-2 as your switched program channel, then use the Admin panel to create multiple streaming destinations for that channel. You can add multiple RTMP streams to different CDNs, configure multicast streaming, and even share the live broadcast link with viewers on your network all at the same time. But remember, the more streams you configure, the more network bandwidth you need. To stream to CDNs and multicast a channel at the same time, the channel must have H.264 configured as the channel encoding
Another option is to set up multiple channels on Pearl-2 and stream those using the Admin panel. That way, you can configure each channel with different encoding settings. For example, you can configure one channel with the streaming specifications for YouTube and configure the second channel for streaming to Facebook. Using one channel as your main switched program, use Pearl-2's channel as a source feature to feed that channel into your second channel. That way, you're streaming the exact same switched program to different destinations at different encoding settings.
As you can see, setting up streaming to multiple destinations is very flexible with Pearl-2.
Directly sharing channel stream URLs with viewers
People on the same local network as Pearl-2 can easily view a channel's live broadcast stream. All you need to do is provide the channel's stream URL and log in credentials for viewers
- You can provide people separate URLs for streams coming from each channel, or one URL that includes all the streams for the channel.
Choose the right type of URL for the type of device the person will use to watch the stream. Viewers can watch the stream using a digital media player or browser.
HTTP is used for MPEG-TS and FLV streaming. HTTPS is not supported for these protocols.
About streaming using SRT
Secure Reliable Transport (SRT) is an open-source streaming protocol that offers quality, low-latency streaming to CDNs and other SRT enabled decoders across unreliable Internet connections using User Datagram Protocol (UDP) transport and additional error checking. Low-latency SRT is particularly good for real-time, two-way communications between a remote guest and a local on-site host.
You can configure Pearl-2 as an SRT source encoder and stream video using SRT. You can also configure Pearl-2 as an SRT decoder and ingest SRT streams as video inputs.
Up to six of the video inputs configured for Pearl-2 can come from SRT sources (or one 4K SRT input) and Pearl-2 can stream up to six SRT streams.
Before content is streamed between the SRT source and destination, a communication link must be established between them for SRT control and recovery packets. Any firewalls blocking the path must be traversed.
SRT streaming modes and firewalls
Streaming through firewalls can be a challenge. With SRT you get easy firewall traversal with little to no IT involvement.
SRT offers three modes to simplify the process: Rendezvous, Caller, and Listener.
Rendezvous mode is the easiest to setup and usually doesn't need any intervention from your IT administrator for the SRT stream from the source to traverse the firewall to the destination. The SRT source and destination devices must use the same SRT port value
Caller and Listener modes work together to establish the SRT connection between your source and destination devices when traversing the firewall is difficult. In this case, your IT network administrator must configure the network to allow traffic that comes in on the port configured for SRT streaming and forward the traffic to the destination device
The device you set as the Caller (or Listener) is arbitrary, as long as one device is a Listener and the other is a Caller. To establish the SRT connection between a source and destination device in rendezvous mode, both devices must be configured and ready to establish the connection between them.
SRT latency controls
SRT includes latency controls to adjust for poor network quality while maintaining an acceptable amount of delay. Pearl-2 provides statistics to determine the amount of packet loss. Using the Admin panel, you can increase or decrease the amount of latency applied to the stream to help mitigate any Quality of Service (QoS) issues. The default latency values are 125 ms for an SRT stream and 80 ms for an SRT input.
Secure streaming
Secure streaming is a great option for confidential content, such as corporate meetings or internal employee training. There are several ways to secure your live stream.
Stream to a CDN or media server over the Internet using Secure Reliable Transport (SRT).
Stream to a CDN or media server over the Internet using Real Time Messaging Protocol Secure (RTMPS).
Stream HLS (push) over local HTTPS networks.
SRT streaming includes additional AES encryption settings for even more security. You can set the SRT stream for 128 bits, 192 bits, or 256 bits AES encryption. Encryption settings must be set to the same values on both the SRT encoder sending the stream and the SRT decoder that's receiving the stream
RTMPS wraps the RTMP stream in TLS/SSL packets before it's transported over a TCP connection between the network server and the Pearl-2(i.e. the client).
Suggested stream settings
When you're setting up your live stream, you would typically consult your CDN or publishing destination for their recommended settings to use.
Stream setup can be a matter of balancing quality and system resources. When choosing your stream settings, it's important to consider the type of content you're streaming and the streaming protocol you've chosen.
For streaming fast moving video, a higher bitrate and frame rate delivers a better image. If you're streaming a slide presentation, you can save bandwidth and system processing by lowering the bitrate and frame rate without any noticeable image degradation.
The following table provides suggested settings to maximize your video quality while minimizing system resource usage when streaming video content from Pearl-2.
Table 49 Suggested stream settings for video
| Option | Setting |
|---|---|
| Codec | H.264 |
| Video encoding preset | Hardware accelerated |
| Video encoding profile | High |
| Key frame interval | 2 sec¹ |
| Limit frame rate | 30¹ |
| Bitrate | 6 Mbps for Full HD, 12 Mbps for 4K UHD |
| Audio format | AAC 44 KHz¹ |
¹For HLS streaming, the key frame interval should be set to 2s and the frame rate should be set to 30 fps for live NTSC content.
The following table provides suggested settings to maximize your stream quality while minimizing system resource usage when streaming a slide presentation from a PC, Mac, or tablet.
Table 50 Suggested stream settings for slides
| Option | Setting |
|---|---|
| Codec | H.264 |
| Video encoding preset | Hardware accelerated |
| Video encoding profile | High |
| Key frame interval | 2 sec |
| Limit frame rate | 30 |
| Bitrate | 6 Mbps for Full HD, 12 Mbps for 4K UHD |
| Audio format | AAC 44 KHz |
We recommend the following frame rates (per stream):
60 fps at 1920×1080 capturing and streaming 3 sources simultaneously
30 fps at 1920×1080 capturing and streaming 6 sources simultaneously
30 fps at 4K UHD2, capturing and streaming one source