NorskInput interface

Signature:

export interface NorskInput

Methods

Method Description

audioSignal(settings)

Generate a test audio signal with a configurable waveform.

browser(settings)

Generates a video source by rendering an HTML page

cmafIngest(settings)

Receive CMAF fMP4 segments via HTTP PUT/POST.

deckLink(settings)

SDI/HDMI Input using a BlackMagic DeckLink card. The available cards on the machine can be enumerated using the NorskSystem.hardwareInfo() API.

Multiple cards and both SDI and HDMI inputs are supported, with all DeckLink-supported input resolutions and framerates are supported. The capture format is currently 8-bit only, but 10-bit captures will be supported soon. All supported audio channels can be captured. At present, additional data such as closed-captions and HDR metadata is not captured.

dektec(settings)

SDI input from a DekTec card (DTA-2172/2174B/2178 and other Matrix API cards). The cards on the machine are listed by NorskSystem.hardwareInfo(). The input’s standard is detected, and followed if it changes, unless set.

deltaCast(settings)

SDI Input using Deltacast SDI capture cards. The available cards on the machine can be enumerated using the HardwareInfo rpc.

Multiple cards are supported, with all Deltacast-supported input resolutions and framerates are supported. The capture format is currently 8-bit only. All supported audio channels can be captured. At present, additional data such as closed-captions and HDR metadata is not captured.

fileImage(settings)

Read an image from a file. Various image formats are supported, see the documentation for FileImageInputSettings for more details.

fileMp3(settings)

Read an MP3 file (a raw MPEG-audio elementary stream) with realtime playback.

fileMp4(settings)

Read a MP4 (fragmented or not) from a file with realtime playback. This will not play frames that are written to the file after the node starts.

fileTs(settings)

Read from a Transport Stream file with realtime playback.

fileWav(settings)

Read a WAV file with PCM audio with realtime playback.

fileWebVtt(settings)

Read subtitles from a WebVTT file on disk

icecast(settings)

Accept Icecast source clients (butt, ffmpeg, libshout, Liquidsoap, …​) on the given mounts, as MP3 or AAC, just as an Icecast server would. Inputs on the same port share one listener.

m3u8Media(settings)

Pull an m3u8 HLS media stream and output it into Norsk in realtime

m3u8MultiVariant(settings)

Pull an HLS master (multivariant) playlist and ingest every TS rendition it enumerates through a single input. All renditions share a TimeDomain so their timestamps are anchored to a common clock.

Subtitle (EXT-X-MEDIA TYPE=SUBTITLES) renditions are not consumed here - use NorskInput.m3u8WebVtt() per subtitle rendition for now.

m3u8WebVtt(settings)

Pull an HLS WebVTT subtitle rendition (the media playlist that an EXT-X-MEDIA TYPE=SUBTITLES entry of a master playlist references). Fetches .vtt segments and emits a single subtitle output pin.

moq(settings)

Receive input from a MoQ (Media over QUIC) source. Connects to a MoQT relay and subscribes to tracks in the specified namespace.

mxl(settings)

Read media from an MXL (Media eXchange Layer) shared memory domain. Produces v210 video and float32 planar audio.

ndi(settings)

NDI Input. Available NDI sources can be enumerated using the ndiDiscovery call

norskLink(settings)

Norsk-to-Norsk link input. Receives raw media from a NorskOutput.norskLink() output on another Norsk instance (same machine, same build) with zero-copy shared-memory payloads.

rist(settings)

Receive MPEG-TS over RIST (VSF TR-06-1 simple profile or TR-06-2 main profile). RIST adds retransmission-based recovery to what is otherwise a UDP transport, so it carries contribution feeds over networks that lose packets; main profile adds AES encryption and SRP authentication. Everything below the transport is the same decode path as NorskInput.udpTs(), so this produces the same streams and events.

rtmpServer(settings)

Create an RTMP Server to receive RTMP streams into your application

rtp(settings)

Stream from a remote RTP source

Note that MPEG-TS sources encapsulated in RTP should use the NorskInput.udpTs() input with appropriate config.

srt(settings)

Stream from a SRT source

srtConnection(settings)

Take over one accepted connection of an SRT listener running connectionOwnership: "perConnection" as a source node of its own.

Create it after accepting the connection in the listener’s onConnection (the two are unordered on the wire; a claim that arrives first waits for its accept). The node then owns that connection — subscribe to it for the media; its TS context, tables, statistics, health and disconnected all arrive on this node’s callbacks; close() closes the connection. The node lives exactly as long as the connection. Rejected with ALREADY_EXISTS when the connection is already owned, NOT_FOUND for an unknown connection, and ABORTED when it went away or was not accepted within the listener’s claimTimeoutMs.

srtPcap(settings)

Experimental: passive SRT probe from a packet capture. Replays the SRT sessions of a classic pcap file on the engine host as if they had been sent to an SRT listener.

srtPcapCapture(settings)

Experimental: passive SRT probe from a live packet capture. Captures off a host interface and replays the SRT sessions it observes as if they had been sent to an SRT listener. As a no-privilege test affordance interface: "file:<path>" reads from a classic pcap file instead of capturing live.

srtRaw(settings)

Stream from a SRT "raw" elementary stream source

streamSubtitles(settings)

Stream subtitles in e.g. WebVTT format via API calls. Chunks of cues can be sent in an ongoing timeline (as if streaming a fragmented WebVTT file), or a stream of timestamped words/fragments.

tamsFlow(settings)

Pull a TAMS flow and output it into Norsk in realtime

tcpTs(settings)

Read from a Transport Stream over TCP. Norsk acts as the TCP client, connecting out to the configured host/port and reconnecting on failure.

udpTs(settings)

Read from a Transport Stream on the network This can be multicast/unicast or broadcast

udpTsPcapCapture(settings)

Experimental: read a Transport Stream from a packet capture. The reconstructed MPEG-TS runs through the same decode path as NorskInput.udpTs(), so the node produces the decoded A/V streams as a source. As a no-privilege test affordance interface: "file:<path>" reads from a classic pcap file (tcpdump -r) instead of capturing live.

videoTestCard(settings)

Generate a test video card with a configurable pattern.

whip(settings)

Receive media via WebRTC via the WHIP standard.

Here Norsk acts as the Media Server receiving from a remote WHIP client, to act as the WHIP client sending to a remote media server see NorskOutput.whip(). For a duplex connection to a browser peer see NorskDuplex.webRtcBrowser().