Manual
Welcome to Live Stream Fleet Solution Manual
Example: Remote Web Server with TCP Transport
This configuration builds upon the Example: Video Transport example described in this documentation. In here, we are adding an additional data-channel between node-a and node-b to be able to fetch data from a web server that is located on site b.
Prerequisites:
First, please make sure you have installed three lsfgateway nodes and that you have access to the LSF Manager web app, following the instructions in the Config Prerequisites page.
Also, the instructions in here are building upon the Video example, so it makes sense to do that step first.
Edit the config for “node-a”
In this example, node-a has an additional socket that is configured to behave as a server.
Configure additional WebRTC Data Channels for TCP transport
Leave the Peer configuration as it is. We will not modify the Peer info in here. But we will add a new data channel for the Peer ID peer_node_a_b.
Configure node-a, video input socket:
Click Add New Socket, and add the values below:
Configure input and output flows between socket and data-channel
Now we need to make sure that the data flows correctly between the new tcp socket and the new datachannel. To do that, edit the new socket_http and set its blue input to be dc_tcp_http_a_b channel.
And now edit the datachannel to change its input to the socket_http.
The end-result should look like the screenshot below. Note the arrows connecting the new http socket to the new datachannel.
Make sure to save the file on the server by clicking on Save.
Edit the config for “node-b”
node-b config is very similar to node-a with some very small differences on how to configure the TCP socket.
Navigate to Administration → Node Configuration.
Find node-b in the list and click the Edit button. It will open the node configurator page
Configure additional WebRTC Data Channels for TCP transport
Leave the Peer configuration as it is. We will not modify the Peer info in here. But we will add a new data channel for the Peer ID peer_node_a_b.
Configure node-a, video input socket:
Click Add New Socket, and add the values below:
Socket ID: we need a unique label. We call it “socket_http”
Type: our video feed is a TCP stream
Bind IP: leave empty
Destination IP: give it the IP address and port number of the HTTP Web Server that you want to access remotely. In this example, it is 127.0.0.1:80
Blue input From: used for output, leave empty.
Red input From: used for output, leave empty.
Threshold: used for output, leave empty.
Hitless buffer: “0”. When we don’t have any hitless protection configured, its best to keep the buffer as small as possible to avoid latency.
Max In: this is a bandwidth limiter. Set it to the bandwidth size that you think is required. In this example we use 20Mbps
Configure input and output flows between socket and data-channel
Now we need to make sure that the data flows correctly between the new tcp socket and the new datachannel. To do that, edit the new socket_http and set its blue input to be dc_tcp_http_a_b channel. And now edit the datachannel to change its input to the socket_http.
Below is the full configuration of both the socket and the datachannel:
The end-result should look like the screenshot below. Note the arrows connecting the new http socket to the new datachannel.
Make sure to save the file on the server by clicking on Save.
Start the lsfgateway nodes
At this stage, we are ready with creating the configuration for the nodes. Now it’s time to test the video flow.
Make sure you have your Account ID and Secret Key that is required to start the lsfgateway nodes. If you don’t have them, you can create new ones.
Start node-a
Start node-b
Start node-c
Check monitoring status of the nodes
To check status, do the following.
If all nodes are active, you will see them in the LSFManager as shown in the screenshot below:
Select Monitor, to see node status. The WebRTC channels (in green), show the status of the peer connections. If the connections are up, you can see a small tick in front of each data-channel id as shown below.
Test the remote http server
Make sure the HTTP server is running on the remote (where you have node-b).
On the node-a side, open a web browser and brows to the local IP and port that you provided for the http socket such as below:
./lsfgateway --node_id node-a \
--account_id 8ab79469-5ddb-486b-9f7f-146864306b02 \
--secret_key e657f0e70d78c3bcecdb9670d434982c
./lsfgateway --node_id node-b \
--account_id 8ab79469-5ddb-486b-9f7f-146864306b02 \
--secret_key e657f0e70d78c3bcecdb9670d434982c
./lsfgateway --node_id node-c \
--account_id 8ab79469-5ddb-486b-9f7f-146864306b02 \
--secret_key e657f0e70d78c3bcecdb9670d434982c
© 2025 SOFTSIDE TECH PTY. LTD.