Zixi Broadcaster/ZEC v18 Docum...
...
Zixi Broadcaster User Guide
Adaptive Groups

Creating New Adaptive Groups

3min

To Create a New Adaptive Group:

1

In the Zixi Broadcaster administrative screen, click the Adaptive tab.

2

Click Add Group. The Adaptive live streams group window is displayed.

Create Adaptive Group

3

In the Group Name field, enter the unique string as the adaptive group's name.

4

Under StreamID, select a stream from the drop-down list to create an adaptive bitrate.

5

Enter the desired Bitrate[kbps] for that stream in the adjacent field to Stream ID.

6

Click + Add Stream to add as many streams as you want to include in the group and repeat steps 4 and 5 for every stream that is added to the group.

7

Select one or more Protocols with that will be supported for this adaptive group. The Zixi protocol option enables devices using the Zixi SDK to view the stream using the Zixi protocol.

8

Select Send distinct audio/video elementary streams if the input streams include multiple audio/video channels to enable multiple separate audio/channels channels in the adaptive group.

9

Specify the HLS/Dash segment/chunk duration and count (See details in the table below).

10

Specify the duration to Keep recorded files for [minutes]. If the file is left as blank, the system will use the global settings specified in the Settings > Live Protocols screen in the HLS DVR Maximum Recording Duration field.

11

In the File name template field, specify the file name pattern that Zixi will use to generate when saving the recorded content.

12

Click OK. The new Adaptive Group is created and appears on the Adaptive screen.

Parameter

Description

Group Name

Specifies the unique identifier for this group.

Stream ID

Select an input stream from the drop-down list.

Bitrate [kbps]

Specify the bitrate for the selected stream.

Protocols

Select one or more Protocols that will be supported for this adaptive group - Zixi HLS (enables devices using the Zixi SDK to view the stream using the Zixi protocol), HLS, CMAF (DASH + fMP4)

Send distinct audio/video elementary streams

Select this checkbox if the input streams include multiple audio/video channels to enable multiple separate audio/video channels channels in the adaptive group. Note: be sure to check this box if you are enabling DRM for these streams.

HLS Over Multicast

Select this checkbox to enable multicasting of the adaptive stream (requires multicast to be enabled in the Settings)

Fast playback

Select this setting to enable low latency HLS delivery. The Enable HLS Fast playback on the Settings > Live Protocols screen must be enabled. Only the TS segments version of the HLS stream will be available for adaptive streaming, not the fragmented MP4 (fMP4) version. When enabled, the following playback URLs will be available:

  • http://<server url>:7777/playback.m3u8?stream=<adaptive group name>
  • http://<server url>:7777/<adaptive group name>.m3u8

Convert CEA-708 to WebVTT

Extracts closed caption from video elementary stream and converts it to WebVTT format. This feature is currently available for HLS only and there is no support to styling/placement, just text.

HLS Segment Duration [sec]

Specify the duration in seconds of each segment/chunk in the HLS playlist. You can specify sub-second durations (e.g. 0.5). (Default: 6 seconds)

HLS Segments Count

Specify the number of segments in the HLS playlist.

DASH Segment Duration [sec]

Specify the duration in seconds of each segment/chunk in the DASH adaptive group. You can specify sub-second durations (e.g. 0.5). (Default: 6 seconds)

DASH Segments Count

Specify the number of segments in the DASH adaptive group.

Recording

Keep recorded files for [minutes]

Specifies the maximum time for storing the recording. If the file is left as blank, the system will use the global settings specified in the Settings > Live Protocols screen in the HLS DVR Maximum Recording Duration field.

File name template

Specify the file name pattern that Zixi will use to generate when saving the recorded content. A separate file will be generated for each recording up to the time specified in the Max recorded file duration parameter (see above). After this duration a new file will be generated.

The file name pattern can include any string and up to three variables listed below. Only the %T=HH.MM.SS Timestamp is mandatory. You can change the order of these variables and add text as long as you maintain the legitimate structure of the file in Linux and Windows:

%G = Group Name – optional

%N = Sequence Number – optional

%T=HH.MM.SS Timestamp - mandatory

Advanced Mode

The fields in the table below are optional and available only in Advanced Mode.

To enter Advanced Mode add the URL parameter ?advanced=1 to the Zixi Broadcaster URL in your browser and press Enter/Return to reload the page:

Advanced Mode URL Param


You will then see a number of additional input parameters:

Adaptive Group Fields - Advanced Mode


Advanced Mode Parameters

Parameter

Description

Don't synchronize



Drop first segment



MMT

Select this checkbox to enable MPEG Media Transport (MMT) protocol instead of the Zixi protocol.

Compress Zixi

Requires selecting Zixi as the protocol.

Select this checkbox to compress the stream before transmitting it. The compression reduces bitrate if there are redundancies in the stream, like NULL packets and also optimizes the elementary stream if possible. Nothing is taken out of the stream - it is 100% identical to the source on the receive side. Having compression on not only reduces bitrate, but also improves resiliency. Packets are less likely to get dropped, and it leaves more headroom for error correction (FEC/ARQ).

Max segments in folder

Specify the maximum segments before Zixi starts to delete old segment when new ones are ready. This setting is relevant for DVR. 0 – unlimited

Adjust VA timestamps

In many cases in Transport Streams the video timestamp arrives ahead of the audio timestamps, since video decoding requires more time. Select this option to adjusts the order of packets, so all timestamps will be monotonically increased. The adjustment of the video and audio timestamps will bring them closer together. Note that this feature will modify the order of packets and will increase memory usage.

Segment on SCTE-35

SCTE-35 markers found in the source input will be used to segment the stream and the #EXT-X-CUE-IN/#EXT-X-CUE-OUT tags will be added to the manifest. Select the tag that will be used to segment the stream from the SCTE-35 tag field below.

DASH Binary format for SCTE-35



Duration attribute in CUE_OUT

The #EXT-X-CUE-OUT tag can be printed out to the playlist in two formats:

  • #EXT-X-CUE-OUT:DURATION=<duration in seconds>
  • #EXT-X-CUE-OUT:<duration in seconds>

When the Duration attribute in CUE_OUT option selected the first format is used, and when it is not selected, the second format is used.

Don't add EXT-X-CUE-IN

Select this option to remove the EXT-X-CUE-IN tag, which indicates where to back to the program, from the playlist.

SCTE-35 tag

Select the ad marker tag that will be used to segment the stream:

  • EXT-X-CUE – cue-in and cue-out ad markers.
  • EXT-X-DATERANGE - With EXT-X-DATERANGE ad marker tags, you use SCTE35-OUT attributes to specify the timing of the ad avail.
  • EXT-X-CUE and EXT-X-DATERANGE – Zixi will use both ad marker tags to segment.

Ascending order

Select this option to order the master playlist in ascending order by bitrate.

Drop unaligned segments

Select this option to have Zixi detect unalignment between segments of different bitrates. In case unalignment is detected, the unaligned segments will be dropped and will not be recorded to DVR.

Additional segment delay

Normally Zixi maintains segment data in memory until it reaches the size of a chunk. When selecting this option, additional data held in memory (size of segment duration) will be used to try to sync between different streams that are not synced (e.g. one of the bitrate versions is delayed by up to the duration of half a segment).

Single stream WebVTT

In case there is several streams in adaptive group, by selecting this option, only the subtitles of the first stream will be used for entire group. IF the checkbox is not selected, Zixi Broadcaster will create separate WebVTT files for each individual stream.

Multiserver sync

Select this option to use the absolute system clock time to segment the stream in order to be able to synchronize the stream segmentation between multiple Zixi Broadcaster servers. The absolute time is determined by the multiple of the value set in the HLS segment duration. i.e. if segment duration is 6 sec. then the segmentation occurs when the seconds in the system time indicate one of the multiples of 6 - 0s, 6s, 12s ....

For example, if the HLS segment duration is set to 6 seconds and the adaptive group was added at 12:01:03:

  • Without multi-server sync - the first segmentation will be at 12:01:09 and then at 12:01:15….etc.
  • With multi-server sync – the first segmentation will be at 12:01:06, 12:01:12 ....etc.

EXT-X-PROGRAM-DATE-TIME source

The EXT-X-PROGRAM-DATE-TIME is an HLS tag that specifies the "real world" clock in stream.

  • None – disabled
  • SEI pic timing - The "real world clock" is extracted from the SEI (supplemental enhancement information) messages in the MPEG-TS stream. One of the messages is "pic timing", which is based on the real-world clock.
  • Packet arrival – the tag includes the UTM clock of the machine time when the first packet in this segment has arrived to Zixi Broadcaster. This tag is printed on every 5th segment only

Segments between EXT-X-PROGRAM-DATE-TIME tags



DRM

Enable DRM on the streams for this group

Note: DRM is supported by Broadcaster v18 or later and requires that you have an external DRM provider. Currently, ir.deto is the only supported provider.

User Name

Username for your DRM service

Password

Password for your DRM service

URL

Place the License URL from the DRM Provider here

  • This is the URL end playback devices submit their requests for access to the decryption license
    • Broadcast writes this in the Adaptive manifest output

KID

is a 128-bit value in UUID format given by your DRM provider that uniquely identifies a specific content encryption key (CEK). The KID is essential for associating encrypted content with its corresponding decryption key.

Content ID

An identifier in the DRM provider that holds the DRM Business rules

FairPlay LAURL