StreamLink connection types

StreamLink supports six streaming connection types.

Connection types

The table below lists the different ways that StreamLink can establish a streaming connection with Liberator:

StreamLink connection types
# Connection Type Description

1

Direct

Persistent TCP/IP connection. No encapsulating protocol.

2

HTTP

Persistent HTTP/1.1 connection.

3

Polling

Short polling

5

Forever Frame

Persistent HTTP/1.1 connection with chunked transfer encoding in a hidden iframe element.

8

WebSocket

WebSocket connection.

9

Server-Sent Events (SSE)

Server-Sent Events connection.

Support for connection types is platform dependent:

Connection-type support: StreamLink JS
WebSocket Server Sent Events Forever Frame Polling

StreamLink JS (on MS IE)

1

StreamLink JS (on MS Edge < 79)

1

StreamLink JS (on MS Edge >= 79)

1

2

StreamLink JS (on Chrome)

1

2

StreamLink JS (on Firefox)

1

2

Connection type support: Java, Android, C, .NET, and iOS
Direct WebSocket HTTP Socket Polling

StreamLink Java

3

StreamLink Android

3

StreamLink C

3

StreamLink .NET

4

StreamLink iOS

3

  1. For more information on WebSocket support in web browsers, see Can I use …​ WebSockets?

  2. For more information on Server Sent Events (SSE) support in web browsers, see Can I use …​ Server Sent Events?

  3. WebSocket compression not supported (see Liberator’s http-extensions configuration item)

  4. WebSocket support in StreamLink.NET requires StreamLink.NET 7.1 or above.

Each new release of StreamLink JS is tested on the latest versions of Microsoft Internet Explorer, Microsoft Edge, Google Chrome, and Mozilla Firefox available at the time of testing. For the list of web browsers on which a specific release of StreamLink JS was tested, see the release notes for that release.

StreamLink JS has a different browser support policy to Caplin web applications. Browsers supported by StreamLink JS may not be supported by Caplin web applications.

Specifying the connection type in a Liberator URL

StreamLink determines which connection type to use to connect to a Liberator from the Liberator’s URL:

URL Connection type(s)

tcp://…​

Direct connection. Not supported by StreamLink JS.

tcps://…​

Direct connection over SSL. Not supported by StreamLink JS.

http://…​

On StreamLink JS, a meta-URL that expands to the following URLs in descending order of priority (highest priority first):

  1. SSE over HTTP (if supported by the web browser)

  2. Forever Frame over HTTP

On all other StreamLink clients:

  1. HTTP socket

https://…​

On StreamLink JS, a meta-URL that expands to the following URLs in descending order of priority (highest priority first):

  1. SSE over HTTPS (if supported by the web browser)

  2. Forever Frame over HTTPS

All other StreamLink clients:

  1. HTTPS socket

ws://…​

WebSocket connection to Liberator’s HTTP port

wss://…​

Secure WebSocket connection to Liberator’s HTTPS port

poll://…​

Short polling over HTTP

polls://…​

Short polling over HTTPS

rttp://…​

A meta-URL that expands to the following URLs in descending order of priority (highest priority first):

  1. ws://…​1

  2. http://…​

  3. poll://…​

rttps://…​

A meta-URL that expands to the following URLs in descending order of priority (highest priority first):

  1. wss://…​1

  2. https://…​

  3. polls://…​

  1. StreamLink .NET supports the WebSocket connection type from StreamLink .NET 7.1


See also: