@norskvideo/norsk-sdk
Advanced tools
Comparing version 1.0.398-2024-12-23-303a9c38 to 1.0.398-2025-01-07-1759ab9b
{ | ||
"license": "MIT", | ||
"name": "@norskvideo/norsk-sdk", | ||
"version": "1.0.398-2024-12-23-303a9c38+nightly", | ||
"version": "1.0.398-2025-01-07-1759ab9b+nightly", | ||
"dependencies": { | ||
"@bufbuild/protobuf": "^0.3.0", | ||
"@grpc/grpc-js": "^1.2.2", | ||
"@norskvideo/norsk-api": "1.0.398-2024-12-23-303a9c38+nightly", | ||
"@norskvideo/norsk-api": "1.0.398-2025-01-07-1759ab9b+nightly", | ||
"lodash": "^4.17.21", | ||
@@ -10,0 +10,0 @@ "typescript-nullable": "^0.6.0" |
/// <reference types="node" /> | ||
import { PlainMessage } from "@bufbuild/protobuf"; | ||
import { StreamStatisticsSampling, Subscription, SipEvent_Status, AudioWatermarkLicenseInformation, AudioWatermarkSnapEvent } from "@norskvideo/norsk-api/lib/media_pb"; | ||
import { StreamStatisticsSampling, Subscription, SipEvent_Status } from "@norskvideo/norsk-api/lib/media_pb"; | ||
import { FrameRate, VancPayloadFormat, VancType2AncillaryId } from "../types"; | ||
@@ -485,18 +485,97 @@ import { AutoSinkMediaNode, MediaClient, MediaNodeState, SinkNodeSettings, SourceMediaNode, SourceMediaNodeEvents, SourceNodeSettings, StreamStatisticsMixin } from "./common"; | ||
} | ||
/** | ||
* OnlineLicense information for the {@link NorskTransform.audioWatermark} | ||
*/ | ||
export interface AudioWatermarkOnlineLicense { | ||
/** | ||
* | ||
*/ | ||
type: "online"; | ||
/** | ||
* | ||
*/ | ||
login: string; | ||
/** | ||
* | ||
*/ | ||
password: string; | ||
/** | ||
* | ||
*/ | ||
server?: string; | ||
/** | ||
* | ||
*/ | ||
port?: number; | ||
/** | ||
* | ||
*/ | ||
licenseName: string; | ||
/** | ||
* | ||
*/ | ||
jsonMetadata: string; | ||
} | ||
/** | ||
* OfflineLicense information for the {@link NorskTransform.audioWatermark} | ||
*/ | ||
export interface AudioWatermarkOfflineLicense { | ||
/** | ||
* | ||
*/ | ||
type: "offline"; | ||
/** | ||
* | ||
*/ | ||
kantarLicensePath: string; | ||
/** | ||
* | ||
*/ | ||
audienceLicensePath: string; | ||
/** | ||
* | ||
*/ | ||
channelName: string; | ||
} | ||
/** | ||
* Event raised by the Kantar Snap Embedder; see {@link NorskTransform.audioWatermark} | ||
*/ | ||
export interface AudioWatermarkSnapEvent { | ||
/** | ||
* | ||
*/ | ||
eventType: "info" | "warning" | "error"; | ||
/** | ||
* | ||
*/ | ||
code: number; | ||
/** | ||
* | ||
*/ | ||
message: string; | ||
} | ||
export interface AudioWatermarkChannelInfo { | ||
/** | ||
* | ||
*/ | ||
channelName: string; | ||
/** | ||
* | ||
*/ | ||
channelId: bigint; | ||
} | ||
/** | ||
* License information, as reported by the Kantar Snap Embedder; see {@link NorskTransform.audioWatermark} | ||
*/ | ||
export interface AudioWatermarkLicenseInformation { | ||
/** | ||
* | ||
*/ | ||
remainingDays: number; | ||
/** | ||
* | ||
*/ | ||
channelInfos: AudioWatermarkChannelInfo[]; | ||
} | ||
/** | ||
* @public | ||
@@ -507,5 +586,16 @@ * Settings for an Audio Watermark node | ||
export interface AudioWatermarkSettings extends ProcessorNodeSettings<AudioWatermarkNode> { | ||
/** | ||
* The license settings | ||
*/ | ||
license: AudioWatermarkOnlineLicense | AudioWatermarkOfflineLicense; | ||
/** | ||
* Event fired at startup, providing information about the current license | ||
*/ | ||
onLicenseInformation?: (info: AudioWatermarkLicenseInformation) => void; | ||
/** | ||
* Event fired whenever the Kantar Snap Embedder raises an event | ||
*/ | ||
onSnapEvent?: (event: AudioWatermarkSnapEvent) => void; | ||
/** Event first whenever a timecode resync occurs | ||
*/ | ||
onTimecodeResync?: () => void; | ||
@@ -516,4 +606,8 @@ } | ||
* see: {@link NorskTransform.audioWatermark} | ||
*/ | ||
* */ | ||
export declare class AudioWatermarkNode extends AutoProcessorMediaNode<"audio"> { | ||
/** | ||
* Update license stuff here | ||
*/ | ||
updateLicense(license: AudioWatermarkOnlineLicense | AudioWatermarkOfflineLicense): void; | ||
} | ||
@@ -1392,14 +1486,40 @@ /** | ||
/** | ||
* Embeds audio watermarks into the audio stream, using Kantar Media's SNAP | ||
* technology, see kantarmedia.com for details. Norsk supports both online | ||
* and offline licensing models, and the relevant license information is | ||
* provided to Norsk through the AudioWatermarkConfiguration message. | ||
* At runtime, notifications are returned through the stream of | ||
* AudioWatermarkEvent messages, which includes Kantar event information | ||
* and, for offline licenses, a notification of the number of days remaining. | ||
* Note that audio watermarking introduces around 50-60ms of delay to the | ||
* audio stream; Norsk will ensure that all related media streams (e.g. | ||
* Embeds audio watermarks into the audio stream, using the Kantar Snap Live Embedder. | ||
* | ||
* @remarks | ||
* Norsk supports both online and offline licensing models. In order to get a watermarking | ||
* embedding license, please contact Kantar support at https://www.kantarmedia.com/watermarkinghelpdesk | ||
* with following information: | ||
* | ||
* * Product name and version | ||
* | ||
* * Customer name | ||
* | ||
* * Country | ||
* | ||
* * If different, country of broadcast | ||
* | ||
* * Channel(s) to be watermarked | ||
* | ||
* * Customer internal name for the hardware platform | ||
* | ||
* * AuthorisationCode for each hardware or login contact for online solution. | ||
* | ||
* Once you have obtained the appropriate Kantar license, you can configure this through | ||
* the license field in the settings, providing either an {@link AudioWatermarkOnlineLicense} or | ||
* an {@link AudioWatermarkOfflineLicense}. On startup, the {@link AudioWatermarkSettings.onLicenseInformation} callback | ||
* is called, providing information about your license. | ||
* | ||
* Events from the Kantar embedder are raised through the {@link AudioWatermarkSettings.onLicenseInformation} callback, | ||
* which you can use to log in your own application's event logs. Norsk also logs this information to the default Norsk | ||
* log files. | ||
* | ||
* Norsk automatically handles synchronisation between the Kantar embedding process and the | ||
* local system time. It performs a resync every 12 hours, and any time that a jump in the | ||
* system clock occurs of more than 10 seconds. This is reported via the {@link AudioWatermarkSettings.onTimecodeResync} event. | ||
* | ||
* Note that when active, the watermarking processing will introduce a constant audio delay of 2560 audio | ||
* samples, which is 53ms at 48kHz; Norsk will ensure that all related media streams (e.g. | ||
* video) are kept in sync. | ||
* @param settings - Settings for the watermark process, primarily | ||
* Kantar license information. | ||
* | ||
*/ | ||
@@ -1406,0 +1526,0 @@ audioWatermark(settings: AudioWatermarkSettings): Promise<AudioWatermarkNode>; |
{ | ||
"license": "MIT", | ||
"name": "@norskvideo/norsk-sdk", | ||
"version": "1.0.398-2024-12-23-303a9c38+nightly", | ||
"version": "1.0.398-2025-01-07-1759ab9b+nightly", | ||
"dependencies": { | ||
"@bufbuild/protobuf": "^0.3.0", | ||
"@grpc/grpc-js": "^1.2.2", | ||
"@norskvideo/norsk-api": "1.0.398-2024-12-23-303a9c38+nightly", | ||
"@norskvideo/norsk-api": "1.0.398-2025-01-07-1759ab9b+nightly", | ||
"lodash": "^4.17.21", | ||
@@ -10,0 +10,0 @@ "typescript-nullable": "^0.6.0" |
Sorry, the diff of this file is too big to display
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
788815
18780