xMediaNode is a cross-platform, easy-to-use, modular product that allows you to receive media data from files, capture cards, and other software and hardware products, encode, decode, and transmit them over the internet using known standards (such as UDP, SRT, RTP, RTMP, HLS, etc.), including the ability to bypass NAT without the need to open ports. The product consists of the following components:
Signalling server (required to establish connections between nodes and centralized management)
Signalling server and Auth server located on Medialooks sites during a testing stages, lately we will be able to provide it for your on-premises installations via Docker.
All xMediaNode server instances under one licence are interconnected via the Signalling server and can be managed using the xMediaNode client.
Installation
npm install xmedia-node
Before we begin, you have to run the xMediaNode server with valid licence.
XMediaService is the core object responsible for handling the interaction with the media server. It allows you to manage channels, sources, destinations, and other operations.
Methods:
Authentication: login and logout for user sessions.
Channel Management: Methods to initialize, restore, start, and stop channels.
Configuration Retrieval: getLocations, getSourceOptions, and getDestinationOptions for fetching available resources.
Real-time Monitoring: Methods to subscribe/unsubscribe from preview frames and get channel state updates.
Logging: setLogger to configure logging for operations.
Specify the input-module type for ISource or IDestination instances
enumModuleTypes { srtSource,// SRT Source module type audioEncoder,// Audio encoder module type videoEncoder,// Video encoder module type demux,// Demuxing module type, required for transcoding without re-encoding mux,// Muxing module type srtDst // SRT Destination module type}
EndpointType
Specify the end-module type for ISource or IDestination instances
exportenumEndpointTypes { NDI ="NDI", SRT ="SRT", UDP ="UDP", BMD ="BMD", File ="File", SRT_ICE ="SRT_ICE",// special mode for SRT with ICE protocol on the top of if, no needs to open ports}
ILicense
Represents the licensing credentials used for authentication.