Watermark Filters

Nielsen Encoder

The Nielsen Watermark Converter nlwc filter inserts several different types of audio watermarks:

  • Linear pre-rendering inserts watermarks into content that will be broadcast at a future date and time.
  • VOD watermarks identify specific VOD programs.
  • Recent Telecast (RT) watermarks identify the C3 and C7 rating windows for VOD content.
  • Commercial ID watermarks identify specific commercials.

Each watermark consists of a source identifier, a distribution code and a unique content identifier. Nielsen assigns three types of source identifiers:

  • A source identifier (SID) uniquely identifies the content provider or distribution source. Two fixed SID values are reserved to represent the C3 and C7 rating windows.
  • A CSID uniquely identifies the content source for CBET (Critical Band Encoding) watermarks.
  • A ClientID uniquely identifies a content source for commercial (CommID) watermarks.

Nielsens defines three types of distribution codes:

  • A Program Content (PC) code typically identifies the original distribution source
  • A Final Distributor (FD) code typically identifies the last distribution source.
  • A Commercial Content (CC) code identifies commercial content.

Engine Properties

The following properties configure the Nielsen watermarking engine. Most properties are set automatically based on the WatermarkApplicationType value.

Property

Type

Description

WatermarkApplicationType

integer

Determines the type of watermark applied to the media:
0 Linear
1 VOD
2 Commercial (CC)
3 Final Distributor (FD)
4 Recent Telecast (RT) VOD
5 Commercial ID (CommID)

LicenseFilePath

string

Path to the license file.

Note: this property is set by the pre-processor.

For linear pre-rendering:
/license/NielsenTsLicence.lic

For non-linear and RT-VOD:
/license/NielsenTicLicence.lic

OutputFolderPath

string

Path to the folder that contains the log and metadata files produced by the watermark engine.

Note: this property is set by the preprocessor.

WatermarkParamType

integer

Specifies the watermarking engine:
0 NAES2 (N2)
1 NAES2 HF (commercials)
2 NAES6 (NW)
3 CBET
4 Nielsen Integrated N2/NW/CBET

ProcessType

integer

Specifies the watermarking process:
0 Disabled
1 N2
2 NW
3 N2 + NW
4 CBET
5 NW + CBET
6 N2 + NW + CBET

TimecodeType

integer

Specifies the timestamp source:
0 TIC Server
1 System clock
2 Service breakout
3 Clock starting time
4 User clock time

SourceType

integer

Specifies the type of content being watermarked:
0 Program content
1 Commercials
2 Service breakout

This property determines the location (program or commercial band) and insertion frequency of the watermarks.

BreakoutType

integer

Identifies the service breakout:
0 Reserved
1 VOD
2 Internet
3 Mobile
4 Undefined

DistributionType

integer

Identifies the distribution type.

For program content:
0 Content Provider (PC)
1 Final Distributor (FD)

For commercial content:
0 CC1
1 CC2
2 CC3

InsertionType

integer

Determines the method of handling a second FD code if FD codes are already present in the stream (N2 only):
0 Refrain
1 Overwrite

IsImmersive

boolean

Indicates immersive audio (must be set for channels > 8).

EnableN2HF

boolean

Signals N2 as N2 HF encoding.

EnableCbetEasCheck

boolean

Enables or disables this CBET feature.

EnableCbetStepAside

boolean

Enables or disables this CBET feature.

CbetVodMode

integer

Specifies a method for the CBET VOD mode.

Metadata Properties

The following properties are added to the XML metadata file produced by the watermark engine.

Property

Type

Watermark

ApplicationName

string

Any

ApplicationVersion

string

Any

AdvertiserId

string

Commercial

AdvertiserName

string

Commercial

AgencyId

string

Commercial

AgencyName

string

Commercial

AssetId

string (max 20 characters)

Commercial
VOD
RT-VOD (mandatory)

AssetName

string (max 50 characters)

Linear
VOD
RT-VOD (mandatory)

BrandId

string

Commercial

BrandName

string

Commercial

ClientMediaId

string

Commercial

ClientMediaName

string

Commercial

ClientName

string

Linear
VOD
RT-VOD

CommercialDistributor

string

Commercial

CommercialType

string

Commercial

EpisodeId

string (max 20 characters)

VOD
RT-VOD (mandatory)

IntendedUse

string

Commercial

LanguageTypePrimary

string

Commercial

LanguageTypeSecondary

string

Commercial

Encoder Properties

The following properties add encoder information to the watermark. Encoder information is conveyed on a reserved set of SID values (32762 - 32767).

Property

Type

Description

EnableSidInfo

boolean

Enables or disables insertion of the encoder SID information.

EncoderType

integer

Identifies the encoder type (1 - 127).

TimeSource

integer

Identifies the encoding time source.
0 Manual
1 LTC
2 NTP

SerialNumber

integer

Encoder serial number (1 - 134217727).

OemHardwareVersion

integer

Encoder hardware version (1 - 31).

OemSoftwareVersion

integer

Encoder software version (1 - 127).

SID/TIC Server Properties

A Nielsen SID/TIC server is required for VOD and Commercial watermark encoding. Note that your SID/TIC server must be accessible from the instance executing the watermark job.

The following properties control communication with the server.

Property

Type

Description

DiscoveryFlag

boolean

Enables or disables discovery of the SID/TIC server.

DiscoveryPort

integer

Specifies the IP port used to listen for discovery responses. Default is 6543.

IpAddress

string

IP address of the SID/TIC server (required if discovery is disabled).

By default TCP port 6543 is used for server discovery. If discovery is enabled the SID/TIC server must be on the same subnet as the encoding instance. TCP port 7999 is used for communication between the encoding instance and the server.

The Telestream Cloud SID/TIC test server is available at 54.158.65.100. See the test identifiers available on this server.

Channel Configurations

The Nielsen Watermark Converter supports an audio stream with any of the following channel configurations. Specify the speaker label for each channel in the stream. Watermarks are only applied to the L, R and C channels (watermarks are not applied to low-frequency, surround or height channels). Speaker labels may appear in any order.

Channels

Configuration

Speaker Labels

1

1.0 Mono

M or C

2

2.0 Stereo

L R

6

5.1 Surround

L R C LFE Ls Rs

8

5.1 + 2.0

L R C LFE Ls Rs
Lt Rt

8

7.1 Surround

L R C LFE Ls Rs
Lrs Rrs or Lc Rc or Lw Rw or Lsd `Rsd

8

5.1.2 Immersive

L R C LFE Ls Rs
Lts Rts or Ltf Rtf or Ltr Rtr

10

5.1.4 Immersive

L R C LFE Ls Rs
Ltf Rtf Ltr Rtr

10

7.1.2 Immersive

L R C LFE Ls Rs``Lrs Rrs
Lts Rts or Ltf Rtf or Ltr Rtr

12

7.1.4 Immersive

L R C LFE Ls Rs Lrs Rrs
Ltf Rtf Ltr Rtr

Multiple Programs

The Nielsen Watermark Converter supports an audio stream containing multiple programs. Specify the program number for each audio channel. Identical watermarks are applied to each program in the stream.

For example the following composition watermarks a 12 channel stream containing three separate audio programs:

  1. complete english mix in 5.1 surround and 2.0 matrix encoded configurations
  2. secondary language mix in a 2.0 configuration
  3. visually impaired mix in a 2.0 configuration
---
input:
  container:
  - name: input1
    audio:
    - name: a1
      channels: 12
      label:
      - L
      - R
      - C
      - LFE
      - Ls
      - Rs
      - Lt
      - Rt
      - L
      - R
      - L
      - R
      program:
      - 1
      - 1
      - 1
      - 1
      - 1
      - 1
      - 1
      - 1
      - 2
      - 2
      - 3
      - 3
      content:
      - complete_mix
      - complete_mix
      - complete_mix
      - complete_mix
      - complete_mix
      - complete_mix
      - complete_mix
      - complete_mix
      - secondary_audio
      - secondary_audio
      - visually_impaired
      - visually_impaired
output:
  container:
  - name: output1
    type: 'wav '
    audio:
    - route:
        name: a1
      sample_rate:
        numerator: 48000
        denominator: 1
      filter:
      - type: nlwc
        properties:
          WatermarkApplicationType: 5

Test Identifiers

The following test identifiers can be used for Nielsen linear watermarks:

SID

Check Digits

CSID

CSID Check Digits

7001

YG

0x21233 (135731)

IK

9000

DK

0x51233 (332339)

GL

9001

OA

0x21234 (135732)

QO

9003

ZC

9005

BS

0x51235 (332341)

DV

9007

HW

0x21236 (135734)

BQ

The following watermarks are available on the Telestream Cloud SID/TIC test server (54.158.65.100):

SID

CSID

DSID

ClientID

9000

9001

77778

9002

0x1234

77779

9010

Nielsen Linear

Linear pre-rendering inserts watermarks into content that will be broadcast at a future date and time.

Each watermark contains a source identifier (SID and CSID) assigned by Nielsen and a timestamp representing the broadcast date and time. The timestamp is expressed as the number of seconds that have elapsed since the Unix epoch of January 1, 1970 UTC.

The source identifiers are validated using check digits.

The following code snippet converts an ISO8601 date and time to the equivalent Unix timestamp and time zone offset:

DateTimeOffset broadcast = DateTimeOffset.Parse ("2021-01-01T20:00:00-08:00");

int offset = broadcast.Offset.Hours;

broadcast = broadcast.ToUniversalTime();
  
long timestamp = broadcast.ToUnixTimeSeconds();

For example the following composition watermarks the content for broadcast on January 1, 2021 at 8PM PST:

---
input:
  container:
  - name: input1
    audio:
    - name: a1
output:
  container:
  - name: output1
    type: 'wav '
    audio:
    - route:
        name: a1
      sample_rate:
        numerator: 48000
        denominator: 1
      filter:
      - type: nlwc
        properties:
          LicenseFilePath: /license/NielsenTsLicense.lic
          OutputFolderPath: /output
          WatermarkApplicationType: 0
          SourceId: 7001
          CheckDigits: YG
          CbetSourceId: 135731
          CbetCheckDigits: IK
          StartingTimestamp: 1609560000
          TimeOffsetHours: -8
          ApplicationName: Transform
          ApplicationVersion: 2021-11-001
          ClientName: Blender
          AssetName: Big Buck Bunny
{
  "input": {
    "container": [
      {
        "name": "input1",
        "audio": [
          {
            "name": "a1"
          }
        ]
      }
    ]
  },
  "output": {
    "container": [
      {
        "name": "output1",
        "type": "wav ",
        "audio": [
          {
            "route": {
              "name": "a1"
            },
            "sample_rate": {
              "numerator": 48000,
              "denominator": 1
            },
            "filter": [
              {
                "type": "nlwc",
                "properties": {
                  "LicenseFilePath": "/license/NielsenTsLicense.lic",
                  "OutputFolderPath": "/output",
                  "WatermarkApplicationType": 0,
                  "SourceId": 7001,
                  "CheckDigits": "YG",
                  "CbetSourceId": 135731,
                  "CbetCheckDigits": "IK",
                  "StartingTimestamp": 1609560000,
                  "TimeOffsetHours": -8,
                  "ApplicationName": "Transform",
                  "ApplicationVersion": "2021-11-001",
                  "ClientName": "Blender",
                  "AssetName": "Big Buck Bunny"
                }
              }
            ]
          }
        ]
      }
    ]
  }
}

Watermark Properties

The following properties specify the linear watermark inserted into the content.

Property

Type

Description

SourceId

integer

The Nielsen source identifier (SID) assigned to the content owner or distributor.

CheckDigits

string

Password used to validate the source identifier (SID).

CbetSourceId

integer

The Nielsen assigned CBET source identifier.

CbetCheckDigits

string

Password used to validate the CBET source identifier (SID).

StartingTimestamp

integer

Starting timestamp of the broadcast. The value is the number of seconds that have elapsed since the Unix epoch (00:00:00 on 1 January 1970 UTC).

TimeOffsetHours

integer

The time zone offset of the local broadcast.

DestinationDstState

boolean

Indicates whether daylight savings time is in effect in the local broadcast time zone.

Nielsen VOD

The Nielsen filter can insert watermarks into non-linear (VOD) program and commercial content.

Each watermark contains a source identifier (SID and CSID) assigned by Nielsen and a unique timestamp (TIC) value assigned to the content.

A TIC server is used to validate the SID and CSID identifiers and to allocate a range of TIC values to the content. The TIC server is also used to validate the client identifier (ClientID) and to assign content identifiers for commercial (CommID) watermarks. The TIC server must be accessible from the Virtual Private Cloud (VPC) executing the Transform job.

---
input:
  container:
  - name: input1
    audio:
    - name: a1
output:
  container:
  - name: output1
    type: 'wav '
    audio:
    - route:
        name: a1
      sample_rate:
        numerator: 48000
        denominator: 1
      filter:
      - type: nlwc
        properties:
          LicenseFilePath: /license/Nielsen/TicLicense.lic
          OutputFolderPath: /output
          WatermarkApplicationType: 1
          SourceId: 9002
          CbetSourceId: 4660
          IpAddress: 10.0.4.246
          ClientName: Blender
          ApplicationName: Transform
          ApplicationVersion: 2021-11-001
          AssetId: A1234
          AssetName: Big Buck Bunny
          EpisodeId: S2E12
{
  "input": {
    "container": [
      {
        "name": "input1",
        "audio": [
          {
            "name": "a1"
          }
        ]
      }
    ]
  },
  "output": {
    "container": [
      {
        "name": "output1",
        "type": "wav ",
        "audio": [
          {
            "route": {
              "name": "a1"
            },
            "sample_rate": {
              "numerator": 48000,
              "denominator": 1
            },
            "filter": [
              {
                "type": "nlwc",
                "properties": {
                  "LicenseFilePath": "/license/Nielsen/TicLicense.lic",
                  "OutputFolderPath": "/output",
                  "WatermarkApplicationType": 1,
                  "SourceId": 9002,
                  "CbetSourceId": 4660,
                  "IpAddress": "10.0.4.246",
                  "ClientName": "Blender",
                  "ApplicationName": "Transform",
                  "ApplicationVersion": "2021-11-001",
                  "AssetId": "A1234",
                  "AssetName": "Big Buck Bunny",
                  "EpisodeId": "S2E12"
                }
              }
            ]
          }
        ]
      }
    ]
  }
}

Watermark Properties

The following properties specify the VOD watermark inserted into the content.

Property

Type

Description

SourceId

integer

The Nielsen assigned source identifier (SID).

CbetSourceId

integer

The Nielsen assigned CBET source identifier.

LibVodFlag

boolean

Enables or disables this feature.

Nielsen RT-VOD

The Nielsen filter can insert Recent Telecast (RT) flags into VOD content that identify a C3 or C7 rating window.

An RT-VOD flag is a final distributor (FD) watermark with a fixed SID that indicates live telecast plus 3 days (32755) or live telecast plus 7 days (32756).

RT-VOD flags can only be applied to linear or non-linear content with existing program content (PC) or final distributor (FD) watermarks.

---
input:
  container:
  - name: input1
    audio:
    - name: a1
output:
  container:
  - name: output1
    type: 'wav '
    audio:
    - route:
        name: a1
      sample_rate:
        numerator: 48000
        denominator: 1
      filter:
      - type: nlwc
        properties:
          LicenseFilePath: /license/NielsenTicLicense.lic
          OutputFolderPath: /output
          WatermarkApplicationType: 4
          RtVodWatermarkType: 1
          ClientName: Blender
          ApplicationName: Transform
          ApplicationVersion: 2021-11-001
          AssetName: Big Buck Bunny
          AssetId: 123456
          EpisodeId: 256
{
  "input": {
    "container": [
      {
        "name": "input1",
        "audio": [
          {
            "name": "a1"
          }
        ]
      }
    ]
  },
  "output": {
    "container": [
      {
        "name": "output1",
        "type": "wav ",
        "audio": [
          {
            "route": {
              "name": "a1"
            },
            "sample_rate": {
              "numerator": 48000,
              "denominator": 1
            },
            "filter": [
              {
                "type": "nlwc",
                "properties": {
                  "LicenseFilePath": "/license/NielsenTicLicense.lic",
                  "OutputFolderPath": "/output",
                  "WatermarkApplicationType": 4,
                  "RtVodWatermarkType": 1,
                  "ClientName": "Blender",
                  "ApplicationName": "Transform",
                  "ApplicationVersion": "2021-11-001",
                  "AssetName": "Big Buck Bunny",
                  "AssetId": 123456,
                  "EpisodeId": 256
                }
              }
            ]
          }
        ]
      }
    ]
  }
}

Watermark Properties

The following properties specify the RT-VOD watermark inserted into the content.

Property

Type

Description

RtVodWatermarkType

integer

Determines whether the content is watermarked for the C3 (3 day) or C7 (7 day) windows:
0 C3 (default)
1 C7

Nielsen Commercial ID

The Nielsen encoder can insert unique watermarks into commercial content.

Each watermark contains a client identifier (ClientID) assigned by Nielsen and a unique commercial identifier (CommID) value assigned to the commercial.

A TIC server is used to validate the ClientID and to allocate a CommID value to the commercial. The TIC server must be accessible from the Virtual Private Cloud (VPC) executing the Transform job.

---
input:
  container:
  - name: input1
    audio:
    - name: a1
output:
  container:
  - name: output1
    type: 'wav '
    audio:
    - route:
        name: a1
      sample_rate:
        numerator: 48000
        denominator: 1
      filter:
      - type: nlwc
        properties:
          LicenseFilePath: /license/NielsenTicLicense.lic
          OutputFolderPath: /shawnc/Nielsen/log
          WatermarkApplicationType: 5
          ClientId: 9010
          IpAddress: 10.0.4.246
          ApplicationName: Transform
          ApplicationVersion: 2021-11-001
          AdvertiserName: American Express
          AdvertiserId: 1000
          AgencyName: McGarry Bowen
          AgencyId: 1000
          AssetId: APGB0704000H
          BrandName: American Express
          BrandId: 1000
          ClientMediaName: 'AMEX BIZ CARD CHRONICLES: THE MODEL/CC'
          ClientMediaId: AX00
          CommercialDistributor: SyncroServices
          CommercialType: Commercial
          IntendedUse: Both
          LanguageTypePrimary: English
          LanguageTypeSecondary: English
{
  "input": {
    "container": [
      {
        "name": "input1",
        "audio": [
          {
            "name": "a1"
          }
        ]
      }
    ]
  },
  "output": {
    "container": [
      {
        "name": "output1",
        "type": "wav ",
        "audio": [
          {
            "route": {
              "name": "a1"
            },
            "sample_rate": {
              "numerator": 48000,
              "denominator": 1
            },
            "filter": [
              {
                "type": "nlwc",
                "properties": {
                  "LicenseFilePath": "/license/NielsenTicLicense.lic",
                  "OutputFolderPath": "/shawnc/Nielsen/log",
                  "WatermarkApplicationType": 5,
                  "ClientId": 9010,
                  "IpAddress": "10.0.4.246",
                  "ApplicationName": "Transform",
                  "ApplicationVersion": "2021-11-001",
                  "AdvertiserName": "American Express",
                  "AdvertiserId": 1000,
                  "AgencyName": "McGarry Bowen",
                  "AgencyId": 1000,
                  "AssetId": "APGB0704000H",
                  "BrandName": "American Express",
                  "BrandId": 1000,
                  "ClientMediaName": "AMEX BIZ CARD CHRONICLES: THE MODEL/CC",
                  "ClientMediaId": "AX00",
                  "CommercialDistributor": "SyncroServices",
                  "CommercialType": "Commercial",
                  "IntendedUse": "Both",
                  "LanguageTypePrimary": "English",
                  "LanguageTypeSecondary": "English"
                }
              }
            ]
          }
        ]
      }
    ]
  }
}

Watermark Properties

The following properties specify the CommID watermark inserted into the content.

Property

Type

Description

ClientId

integer

The Nielsen assigned client identifier for commercial ID encoding.

Nielsen Decoder

The Nielsen watermark nwmd decoder is used to extract watermarks from an input container or to verify the watermarks added to an output container.

For example the following composition watermarks and verifies output1:

---
input:
  container:
  - name: input1
    video:
    - name: v1
    audio:
    - name: a1
output:
  container:
  - name: output1
    type: 'mp4 '
    path: out.mp4
    video:
    - route:
        name: v1
    audio:
    - route:
        name: a1
      sample_rate:
        numerator: 48000
        denominator: 1
      filter:
      - type: nlwc
        properties:
          LicenseFilePath: /license/NielsenTsLicense.lic
          OutputFolderPath: /output
          WatermarkApplicationType: 0
          SourceId: 7001
          CheckDigits: YG
          CbetSourceId: 135731
          CbetCheckDigits: IK
          StartingTimestamp: 1609560000
          TimeOffsetHours: -8
          ApplicationName: Transform
          ApplicationVersion: 2021-11-001
          ClientName: Blender
          AssetName: Big Buck Bunny
      - type: nwmd
        properties:
          InputFileName: out.mp4
          OutputFolderPath: /output
          ProcessEngines: 7423
          DnaSignatureMode: 0
          NdashSignatureMode: 0
      encode:
        type: mcac
        properties:
          BitRate: 128000
          MpegVersion: 1
          Profile: 2
{
  "input": {
    "container": [
      {
        "name": "input1",
        "video": [
          {
            "name": "v1"
          }
        ],
        "audio": [
          {
            "name": "a1"
          }
        ]
      }
    ]
  },
  "output": {
    "container": [
      {
        "name": "output1",
        "type": "mp4 ",
        "path": "out.mp4",
        "video": [
          {
            "route": {
              "name": "v1"
            }
          }
        ],
        "audio": [
          {
            "route": {
              "name": "a1"
            },
            "sample_rate": {
              "numerator": 48000,
              "denominator": 1
            },
            "filter": [
              {
                "type": "nlwc",
                "properties": {
                  "LicenseFilePath": "/license/NielsenTsLicense.lic",
                  "OutputFolderPath": "/output",
                  "WatermarkApplicationType": 0,
                  "SourceId": 7001,
                  "CheckDigits": "YG",
                  "CbetSourceId": 135731,
                  "CbetCheckDigits": "IK",
                  "StartingTimestamp": 1609560000,
                  "TimeOffsetHours": -8,
                  "ApplicationName": "Transform",
                  "ApplicationVersion": "2021-11-001",
                  "ClientName": "Blender",
                  "AssetName": "Big Buck Bunny"
                }
              },
              {
                "type": "nwmd",
                "properties": {
                  "InputFileName": "out.mp4",
                  "OutputFolderPath": "/output",
                  "ProcessEngines": 7423,
                  "DnaSignatureMode": 0,
                  "NdashSignatureMode": 0
                }
              }
            ],
            "encode": {
              "type": "mcac",
              "properties": {
                "BitRate": 128000,
                "MpegVersion": 1,
                "Profile": 2
              }
            }
          }
        ]
      }
    ]
  }
}

The Nielsen decoder supports the following properties:

Property

Type

Description

InputFileName

string

Name of the input file. Used to generate decoder output and log file names.

OutputFolderPath

string

Path to the folder where decoder and signature generator output and log files are stored.

ProcessEngines

integer

Bit mask that enables one or more decoding and signature engines:
1 Decode N2 watermarks
4 Decode NW watermarks
8 Generate UNITAM signature
16 Generate PAS signature
32 Generate DNA signature
64 Generate NDASH signature
128 Decode CBET watermarks
8192 Generate STREAMFP signature

By default all processing engines are enabled (0x20FD = 8445).

NexGuard Video

The Nexguard nvwc filter add a forensic watermark to a video stream. The filter requires a JSON Web Token (JWT) license issued by NexGuard.

---
input:
  container:
  - name: input1
    video:
    - name: v1
    audio:
    - name: a1
output:
  container:
  - name: output1
    type: 'op1a'
    video:
    - name: v1
      filter:
      - type: 'nvmc'
        properties:
          License: eyJ0eXAiOiJKV1QiLCJqdGkiOiI1NzAxNjI5ZC00OD...
          Preset: Demo Key A_G2 
          Strength: 2
          Payload: 12345
          FixedIdrFrameInterval: 1
    audio:
    - name: a1

The NexGuard video watermarking filter supports the following properties:

Property

Type

Description

License

string

Contents of the NexGuard JWT (JSON Web Token) license file.

LicensePath

string

Path to the NexGuard license file if the License property is not specified.

Preset

string

Name of the watermark preset.

Strength

integer

Strength of the watermark.
0 Lightest
1 Lighter
2 Default
3 Stronger
4 Strongest

Payload

integer

A 22 bit number (0 - 4194303) representing the watermark payload. In forensic applications this value uniquely identifies the recipient of the content.

FixedIdrFrameInterval

integer

Specifies the I frame interval.


Did this page help you?