NorskOutput interface

Methods that allow you to egest media from your application

Signature:

export interface NorskOutput

Methods

Method Description

cmafAudio(settings)

Produces audio segments with the supplied settings for use in HLS or DASH manifests.

These can optionally be served via the Norsk web server or be pushed to other locations - see CmafDestinationSettings

cmafMultiVariant(settings)

Produces a multi variant (used to be known as master) hls and/or dash manifest for a collection of media streams

This can optionally be served via the Norsk web server or be pushed to other locations - see CmafDestinationSettings

cmafVideo(settings)

Produces video segments with the supplied settings for use in HLS or DASH manifests.

These can optionally be served the Norsk web server or be pushed to other locations - see CmafDestinationSettings

cmafWebVtt(settings)

Produces WebVTT segments with the supplied settings for use in HLS or DASH manifests. These are served via the Norsk web server

fileMp4(settings)

Output MP4 files to disk, both fragmented and non-fragmented.

The fragmented output is required.

The optional non-fragmented filename will be written when calling and will be fully written by the time NodeSettings.onClose is called. This sets up a temp file to store the frame data by appending the extension .tmp.

A non-fragmented MP4 file can be written on request with FileMp4OutputNode.writeFile(), which uses the frame data store if FileMp4OutputSettings.nonfragmentedFileName was given or reads back the fragmented mp4 if there is no non-fragmented file.

fileTs(settings)

Stream to a Transport Stream file.

fileWav(settings)

Output WAV files to disk. A WAV output cannot handle context changes (for example, a change of sample rate), so it is important that the upstream data is normalised. The file being written to is finalised and closed when the inbound context becomes empty.

fileWebVtt(settings)

Output a WebVTT subtitle file to disk

hlsTsAudio(settings)

Produces Transport Stream audio segments with the supplied settings for use in HLS manifests and builds a playlist served locally from the Norsk Web Server or from other locations - see CmafDestinationSettings

hlsTsCombinedPush(settings)

Produces Transport Stream segments containing both video and audio with the supplied settings for use in HLS manifests and pushes them to the configured location (see CmafDestinationSettings)

hlsTsMultiVariant(settings)

Produces a multi variant HLS TS manifest for a collection of media streams

This can optionally be served via the Norsk web server or be pushed to other locations - see CmafDestinationSettings

hlsTsVideo(settings)

Produces Transport Stream video segments with the supplied settings for use in HLS manifests and builds a playlist served locally from the Norsk Web Server or from other locations - see CmafDestinationSettings

moq(settings)

EXPERIMENTAL Connects and sends output to a remote Media over QUIC endpoint

Here Norsk acts as a Media over QUIC Transport (MoQT) client publisher and connects to a MoQT server subscriber (e.g. a relay) and publishes a catalog and a video track into the configured namespace.

Warning: experimental! Expect bugs and missing features.

The MoQT specification is still a work in progress and this exeperimental implementation serves to inform further specification changes

Current target specification: https://www.ietf.org/archive/id/draft-ietf-moq-transport-04.html

The catalog track is named '.catalog' and describes the available video track(s) within the namespace

Video is currently configured to publish as fragmented MP4 (fMP4)

rtmp(settings)

Connects and sends media to a remote RTMP server

srt(settings)

Produces a Transport Stream, and allows Norsk to either connect to an existing SRT server or act as an SRT server itself

udpTs(settings)

Produces a Transport Stream optionally containing both video and audio and sends it out over UDP

whep(settings)

Hosts media for clients connecting via WebRTC using the WHEP standard.

To send media to a remote Media Server via WebRTC see NorskOutput.whip(). See also NorskInput.whip(), NorskDuplex.webRtcBrowser().

whip(settings)

Connects and sends media to a remote server via WebRTC using the WHIP standard.

Here Norsk acts as the WHIP client sending to a remote Media Server; to have Norsk act as the Media Server ingesting from some other WHIP client, see NorskInput.whip()