Adding HLS Streams

This screen enables the Broadcaster to receive an HLS stream. The HLS stream is not protected by the Zixi protocol. There are two options for pulling the stream:

  • Single source (adaptive bitrate) - the stream can be an adaptive bitrate stream. In this case, Zixi Broadcaster will pull the main playlist to adapt between bit-rates according to network conditions.
  • Multiple sources - it is possible to pull multiple input streams with static individual bit-rates. In this case, Zixi Broadcaster will automatically create a separate input for each bitrate.  

To Add an HLS stream:

  1. In the Zixi Broadcaster Navigation menu, click the Inputs tab.
  2. In the Menu bar, click New Input. The Add a new input stream window is displayed.
  3. Enter the unique Stream I.D.

    Note this must be identical (case sensitive) to the stream name configured in ZEC.

  4. Enter the maximum concurrent connections to this stream from the Max. Outputs drop-down list. Default: Unlimited.
  5. Select the Show in Matrix check box to display this stream in the Matrix (see Using the Matrix). Default: Selected.
  6. Select HLS for the input stream.
  7. Specify the Stream Parameters (see Input Streams Parameters Table below).
  8. If you want to specify Billing Codes to identify and differentiate traffic on a Zixi Broadcaster for billing purposes, select this checkbox (see Input Stream Parameter Table below).
  9. If you want to Enable time shift, select this checkbox (see Input Streams Parameters Table).
  10. If you want to Enable multicast on pull outputs, select this checkbox (see Input Stream Parameters Table).
  11. If you want to Enable encryption select this checkbox (see Input Stream Parameters Table). For more information, see Encrypting an Input Stream in Zixi Broadcaster.
  12. If you want to configure the Recording Parameters, specify them in the respective fields (see Input Stream Parameters Table).
  13. Click OK.

The “Input added” message appears on the top of the screen. The HLS stream from ZEC is added to the Zixi Broadcaster and now appears in the list of streams available in the  Zixi Broadcaster inputs UI. If the "multiple sources" option was select, Zixi Broadcaster will automatically create a separate input for each bitrate.

Input Stream Parameters Table

ParameterDescription
Stream parameters
Master Playlist URLSpecify the URL of the HLS stream's master playlist.
Download TypeSpecify whether the variants will be pulled from a single source (adaptive bitrate) or multiple sources (pull all bitrates).
Buffering Time [ms]Specify a buffer time to time packets according to the stream's clock. This is useful when there are bursts in the rate in which the stream arrives. This feature creates a queue in the buffer, allowing smoother entry into the Broadcaster. The Buffer Time parameter defines the size of the buffer in Milliseconds. A larger buffer enables smoother entry, however, it may influence the latency rate.
Inject SCTE35 on CUE MarksSelect this checkbox to inject SCTE markers into the adaptive stream manifest. 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.
Support EXT-X-DATERANGEEXT-X-DATERANGE is a way of providing timed metadata in an HLS manifest. It is used to define date range metadata in a media playlist. A possible use case is defining timed metadata for interstitial regions such as advertisements, but can be used to define any timed metadata needed by your stream. Select this checkbox to enable this feature
Start from last segmentSelect this checkbox to begin downloading from the last segment in the playlist. By selecting this mode, you may lose the previous data in the playlist (i.e., the chunks before the last chunks will not be downloaded), however you will enjoy lower latency.
Zixi BroadcasterSelect this checkbox is you are pulling the HLS from a Zixi Broadcaster. This will add a parameter in the request to pull the stream so that the origin Zixi Broadcaster can identify the puller and show a single output in the outputs table. if you don't select this option, the origin Zixi Broadcaster will display a different output for each downloaded segment.
Use HTTP parameters for substreams

If you Master URL has HTTP parameters (e.g.,  http://server.com/main.m3u8?user=someuser&password=somepass&etc=...),

the parameters will be propagated as subplaylists and chunks. For example, the master playlist will have a subplaylist: sub_playlist1.m3u8

In this case, the request for this playlist will be:

 http://server.com/sub_playlist1.m3u8?user=someuser&password=somepass&etc=...
Billing CodesBilling codes are used to identify and differentiate traffic on a Zixi Broadcaster for billing purposes. When a billing code is added to a Source or Target, Zixi can track the traffic on that Broadcaster input or output separately from other inputs and outputs on the same Broadcaster. Billing codes are created by Zixi personnel on the Zixi Customer Portal for a particular organization.
Billing CodeEnter the billing code that corresponds to this stream. The relevant billing can be obtained from the organization that received the billing code from Zixi.
Billing passwordEnter the password that corresponds to this billing code.
Enable time shiftSelect this checkbox to record the stream content and broadcast it after a specified delay. To deploy an input stream that uses the current stream's time shift, you need to configure a "Delayed" input stream. (See Adding Delayed Streams).
Maximum delay [hh:mm:ss] (for Time Shift enabled)

Specify the maximum time delay of this input.

Enable multicast on pull outputs

Select this checkbox to enable the transmission of this stream’s outputs as multicast. A Zixi receiver that will pull the stream will receive it in multicast. By default Zixi Broadcaster is configured to allow transparent fallback to unicast if it is out of the LAN. Requires enabling Multicast Pull in the Settings.

Multicast-Only (for Multicast enabled)If desired, specify multicast only outputs.
Enable EncryptionSelect this checkbox to encrypt the Input stream. For more information,  see Encrypting an Input Stream in Zixi Broadcaster.

Encryption type (for Encryption enabled)

Specify the type of Encryption (AES 128/192/256).

Encryption key (for Encryption enabled)

Click Generate to generate an encryption key. The generated encryption key must be sent to the end-user to decipher the received encoded stream.

Recording parameters

Select this checkbox to customize the recording parameters.

Destination Type

Select the radio button for the desired storage type and then fill in the relevant parameters.

·         Record to disk – the recording is saved on the local disk. It is possible to record to an external destination by replacing the default storage location with a symbolic link. To learn more, see Using an External Storage section.

·         Record to S3 – the file is saved to your AWS S3 Bucket. The mechanism uses AWS multipart upload. Amazon advises to define a lifetime rule for objects on destination bucket.

Record to Disk Parameters


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 five variables listed below. Only the %T=HH.MM.SS creation time 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:

  • %S=stream id - optional.
  • %Y=year - optional
  • %M=month - optional
  • %D=day - optional
  • %T=HH.MM.SS creation time - mandatory
  • %U=YYYYmmddTHHMMSSZ UTC timestamp - optional

For example, the following pattern %Y_recording%T.ts will generate the following file name 2017_recording15:32:35.ts.

Max recorded file duration [hours]

Specify the maximum time allotted for recording a video stream. Default: 2 hours

Keep recorded files for [hours]

Specify the maximum time for storing the recording. Default: 0 hours

Custom Path

Optionally specify a storage location for the recorded files that is relative to the root folder. This location bypasses the location specified as the root folder in the Settings > General screen.

Record to S3 Parameters

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 five variables listed below. Only the %T=HH.MM.SS creation time 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:

  • %S=stream id - optional.
  • %Y=year - optional
  • %M=month - optional
  • %D=day - optional
  • %T=HH.MM.SS creation time - mandatory
  • %U=YYYYmmddTHHMMSSZ UTC timestamp - optional

For example, the following pattern %Y_recording%T.ts will generate the following file name 2017_recording15:32:35.ts.

Max recorded file duration [hours]

Specify the maximum time allotted for recording a video stream. Default: 2 hours

URL

Specify the URL of the S3 bucket.

Ignore TLS certificate errors

TLS certificate for S3 bucket might be detected as faulty if bucket name contains dot[s]. When this option is selected, Zixi Broadcaster will ignore the TLS certificate errors and transmit the stream to its destination.

Access Key

The access key that is used for accessing the S3 bucket.

Secret Key

The secret key that is used for accessing the S3 bucket.