NorskOutput.cmafAudio() method

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

Signature:

cmafAudio(settings: CmafAudioOutputSettings): Promise<CmafAudioOutputNode>;

Parameters

Parameter Type Description

settings

CmafAudioOutputSettings

Configuration for the CMAF Audio Stream

Returns:

Example [07_audio_signal.ts]

Generate an audio tone and publish it in an audio-only HLS playlist

export async function main() {
  const norsk = await Norsk.connect();

  let input = await norsk.input.audioSignal(audioSignalSettings);
  let audioOutput = await norsk.output.cmafAudio(hlsAudioSettings);

  audioOutput.subscribe([{ source: input, sourceSelector: selectAudio }]);

  audioOutput.url().then(playlistUrl => {
    console.log(`playlistUrl: ${playlistUrl}`);
  });
}

const audioSignalSettings: AudioSignalGeneratorSettings = {
  id: "audio-signal",
  sourceName: "signal",
  channelLayout: "stereo",
  sampleRate: 48000,
  wave: mkSine(440),
};

const hlsAudioSettings: CmafAudioOutputSettings = {
  id: "hls-audio",
  partDurationSeconds: 1.0,
  segmentDurationSeconds: 4.0,
  destinations: [{ type: "local", retentionPeriodSeconds: 60 }],
};

Find Examples