Part of a series of videos we go through the necessary building blocks to build an SRT to WebRTC gateway in NodeJS. SRT in terms of the transport protocol called Secure Reliable Transport.
In the first episode we go through how to build an SRT server using the NodeJS native bindings provided by our @eyevinn/srt
library.
Install the library
npm install --save @eyevinn/srt
This will download the SRT SDK and compile it on your computer. Example of a very simple SRT receiver (in listener mode) using the Readable stream API included in the library.
const fs = require('fs');
const dest = fs.createWriteStream('./output.ts');
const { SRTReadStream } = require('@eyevinn/srt');
const srt = new SRTReadStream('0.0.0.0', 1234);
srt.listen(readStream => {
console.log("Client connected");
readStream.pipe(dest);
});
console.log("Waiting for client to connect");
Above example will setup an SRT socket to listen on port 1234 for a connection. Once a connection is established it will read data from the socket and pipe it to a Writable stream that writes to disk.
Top comments (2)
Hey Jonas
Great article.
I've spent the last week building this workflow in another stack but would much prefer to stay all in the JavaScript world. Would you mind sharing the stack you intend to use at a high level here so I can move on?
Cheers
Hi! Sorry for late reply. My plan was to stay in the JavaScript world by building / using an JS-based demuxer and h264 decoder compiled in WebAssembly