Live streaming

SAP? UPnP? When would I use each and why?

May 6, 2016 epiphan

SAP? UPnP? When would I use each and why? image

Video streaming is an alphabet soup of acronyms. What makes these two special?

SAP (Session Announcement Protocol) and UPnP (Universal Plug and Play) are two networking protocols used for video streaming. In the professional space, these protocols are most commonly used to drive the audio/visual content shown on smart TVs and digital billboards throughout a building or campus.

For example, with a video streaming system that supports SAP or UPnP, you could run all the ad messaging boards in a mall, all the arrival and departure screens in an airport, or all the corporate information screens throughout an office campus. Whether you’re running 1-5 screens or 50 might affect which of these two services you’ll use, but either way you’ll be able to do all your programming from a central location and have all your digital signage stay in sync.

Let’s dig a bit further into SAP

SAP is used by streaming systems to announce that it has something for video and media player clients to view. By “announce”, I mean it sends a specially formatted message to a well-known IP address (usually 224.2.127.254). This message includes information such as the video stream title and the IP address where clients can request to view the content. Media player clients (both hardware and software) check this well-known address for a list of available network-content and offer it to the user for selection.

SAP uses a distribution model called multicast, and the announcement system described above is part of setting up a multicast group for a video stream. If the media player user selects an SAP-announced stream, the media player client joins that multicast group (generally using the Internet Group Management Protocol (IGMP)) and thereby requests to have access to the stream.

Unlike traditional one-to-one streaming, multicast uses one-to-many (or many-to-many) streaming, where the stream is sent out just once from the streaming server to the viewing IP address (regardless of whether there are 0 or 100 viewers watching).  There is no need to know in advance which nodes (or computers) on the network want to receive this message. This one stream serves all the viewers.

The magic is in the networking gear: the routers and the Ethernet cards embedded in each node. When a node joins a multicast group, it is stating that it wants access to the stream, and the network starts providing that node with the relevant packets. The network also passes those same packets downstream to any other nodes that have joined the multicast group. Routers are used to move the packets between different sections of a network, and even out to the Internet, if enabled. This multicast model of distribution has been described by Internet architect Dave Clark as a system where “you put packets in at one end, and the network conspires to deliver them to anyone who asks.” (Wikipedia).

SAP Considerations

Because of its one-to-many nature, SAP is a great choice for broadcasting the same message to a large group of digital media players. Whether they are digital signs, smart TVs or software media players, using SAP can mean a lighter load on your network compared to sending each viewer their own stream.

Unfortunately, multicast isn’t available on all networks. Although it’s commonly seen in enterprise-class routers, most home-use routers don’t have this capability at all. At the enterprise level, many network administrators are concerned about the possibility of misuse and denial of service attacks using the multicasting addresses, so they choose to not enable multicasting on their routers.

UPnP? Isn’t that that Microsoft thing for connecting my mouse or keyboard?

PnP (Plug and Play) is a (legacy) feature of Microsoft operating systems that made it easier to use your own keyboard, mouse or other peripherals without needing to load separate drivers for them. UPnP (Universal Plug and Play) is a much newer set of networking protocols designed to let devices find each other on the network, advertise services and establish connections to provide those services.

In the context of video streaming, UPnP has a sub-genre called UPnP AV that lets a streaming server advertise across the network that it has live streams or pre-recorded videos to stream to viewers. The streaming server publishes an XML file that lists the available “services” of the server (i.e. video streams).

Media players (clients) search the network for servers that are advertising UPnP streams and they use the data from this XML file to display a list of channels or media streams (usually sorted in Live TV and Recordings lists) for users to choose from. When the user selects one to watch, a connection is made to the streaming server and the server streams directly to that media player in a unicast stream.

The unicast stream mechanism is one-to-one, meaning that for each media player that joins, another full copy of the stream is sent across the network. It’s possible to even have one node on a network request more than one unicast version of the stream, for example if it has more than one media player viewing the stream.

UPnP Considerations

UPnP is a great choice for delivering video to a small number of smart TVs or digital displays on a network. It doesn’t require any special network settings and in contrast with the “live only” SAP protocol, it permits the client media player to pick not only from live streams but also from pre-recorded archives. Many home-use audio and video media servers use this mechanism for sharing throughout the local network.

A downside to understand when considering UPnP streaming is that the overhead is proportional to the number of viewing clients. When there are no clients, there is no bandwidth needed (which is great!) but for each client thereafter, each uses the full amount of bandwidth needed for the stream. By contrast, SAP sends the stream only once and the network routes that steam around to all the right nodes on the network. So while SAP works best for a large number of viewers, UPnP is probably best suited to smaller number of viewers or dedicated networks with plenty of available bandwidth.

To learn more about setting up and using digital signs with UPnP with our live video production streamer, Pearl, read this short blog article written by my colleague, Brigitte.

Either way, digital signage is a snap!

Regardless of which mechanism you use, SAP and UPnP make it easy to share your streams to media players, smart TVs, digital signs, screen cast devices and more. With this article, you’re now armed with the knowledge to engage in a meaningful conversation with your network team about how to best stream over your network.

And in this land of video streaming Alpha-ghetti, you have a couple more acronyms under your belt.

Leave a Reply