---
title: Adding File Streams
slug: zixi-broadcaster-v18/adding-file-streams
docTags: 
createdAt: 2024-12-25T19:47:11.493Z
---

This input creates a file input for the Zixi Broadcaster from a local or mounted disk and subsequently streams it to the end-user.

If the stream is an MPTS stream, you can either upload it as an MPTS file or you can demux it into separate SPTS input streams. To Demux the MPTS stream, create the input stream, by following the instructions below, and then follow the instruction in the [Demuxing an MPTS Stream](docId:8ufJcI0MEDMcnTvr704-Q)  section.

### To Add a File Stream:

:::::WorkflowBlock
:::WorkflowBlockItem
In the Zixi Broadcaster Navigation menu, click the **Inputs** tab.
:::

:::WorkflowBlockItem
In the Menu bar, click **New Input**. The **Add a new input stream** window is displayed.
:::

::::WorkflowBlockItem
Enter the unique Stream I.D.

:::hint{type="info"}
Note this *must* be identical (case sensitive) to the stream name configured in ZEC.
:::
::::

:::WorkflowBlockItem
Select the maximum concurrent connections to this stream from the **Max. Outputs &#x20;**&#x64;rop-down list. Default: Unlimited.
:::

:::WorkflowBlockItem
Select the **Show in Matrix** check box to display this stream in the Matrix (see [Using the Matrix](docId\:KyKY08NFFT6yGIZiGnhQ5) ). Default: Selected.
:::

:::WorkflowBlockItem
Select **File** for the input stream.

![](https://api.archbee.com/api/optimize/mzxtTQEvCNIdUNgF2kuwJ/HX4dfxKcTTCgfJn5K_Yry_image.png)
:::

:::WorkflowBlockItem
Specify the **Stream Parameters** (see [Input Stream Parameter Table](docId:5JYwR6Abzyg5VT131sMEW) ).
:::

:::WorkflowBlockItem
If you want to **Enable time shift**, select this checkbox (see Input Stream Parameter Table). The stream will be recorded and broadcasted after the specified delay. The time shift feature is typically used to broadcast a live event across time zones (due to the time differences between locations).
:::

:::WorkflowBlockItem
If you want to **Enable multicast on pull outputs**, select this checkbox (see Input Stream Parameter Table).
:::

:::WorkflowBlockItem
If you want to **Enable encryption**, select this checkbox (see Input Stream Parameter Table). For more information, see [Encrypting an Input Stream in Zixi Broadcaster](docId:5SH-sqkz1lgkMgZJsQRzQ) .
:::

:::WorkflowBlockItem
Click OK. The “Input added” message appears on the top of the screen. The Push Stream from the ZEC is added to the Zixi Broadcaster and now appears in the list of streams available in the  Zixi Broadcaster inputs UI.
:::
:::::



## Input Stream Parameters Table

| **Parameter**                                                | Description                                                                                                                                                                                                                                                                                                                                                                                           |
| ------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ***Enable Encryption***                                      | Select this checkbox to encrypt the Input stream. For more information, see [Encrypting an Input Stream in Zixi Broadcaster](docId:5SH-sqkz1lgkMgZJsQRzQ)**&#x20;.**                                                                                                                                                                                                                                  |
| ***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.                                                                         |
| ***Enable time shift***                                      | Select 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](https://zixidocumentation.atlassian.net/wiki/spaces/117/pages/4887938857/Adding+Delayed+Streams)[Adding Delayed Streams](docId:9yv8fX2X-pDvY2qIbLuz3)  |
| **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.                                                                                                                                                                                                                                                  |
| **Encryption type (for Encryption enabled)**                 | Specify the type of Encryption (AES 128/192/256).                                                                                                                                                                                                                                                                                                                                                     |
| **Maximum delay \[hh\:mm\:ss]** **(for Time Shift enabled)** | Specify the maximum time delay of this input.                                                                                                                                                                                                                                                                                                                                                         |
| **Multicast Only** **(for Multicast enabled)**               | If desired, specify force multicast-only outputs. A Zixi receiver will receive it in multicast (unless it is out of the LAN in which case it will relay in as unicast). You can also force Multicast only outputs.                                                                                                                                                                                    |
| **Path**                                                     | Type the local or mounted (Linux) disk or click the adjacent browse button to select the desired one.<br />The suffix .ts indicates a transmitted stream.<br />**Note: see&#x20;**[Notes on the File Path](docId:5JYwR6Abzyg5VT131sMEW)**&#x20;below for more information.**<br />                                                                                                                    |

## Notes on the File Path

- The paths the Broadcaster understands here are **not** operating system paths - full system paths such as` /home/user/videos/file.ts` or `C:\home\videos\file.ts` **will not work**.
- Instead, the file you wish to use must be in the **root folder** for the Broadcaster. The location of the root folder is shown in the **General** settings of the Settings tab:

  ![](https://api.archbee.com/api/optimize/mzxtTQEvCNIdUNgF2kuwJ/oVNx7XjrlE9QXB4Zx3B-T-20260106-195317.png)
- Note that to change the root folder location, you must edit the **broadcaster-info.xml&#x20;**&#x66;ile, which is located in the Broadcaster installation folder.
- On the **Files** tab, you can **upload** files to the Broadcaster for use as file streams, and also create **subfolders** to organize files.

::Image[]{src="https://api.archbee.com/api/optimize/mzxtTQEvCNIdUNgF2kuwJ/-0DJGuox6dfKUTSS31Dc--20260107-200558.png" size="80" width="1806" height="688" position="center" alt="Files Tab" darkWidth="1806" darkHeight="688" showCaption="false"}

- For files in **subfolders,&#x20;**&#x74;he **Path** is ***relative to the root folder*** - for example, if you create a *videos* subfolder and within the videos folder create another subfolder called *nature,&#x20;*&#x61;nd you want to use a file called *forest.ts* for the file stream, the path would be: `/videos/nature/forest.ts `

## Advanced Mode

The fields discussed 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:

::Image[]{src="https://api.archbee.com/api/optimize/amUtKWPrNQCS-26DKyGuI-5OBE4QsRN0icABdoD4ciK-20250421-173825.png" size="70" width="800" height="55" position="center" alt="Advanced Mode URL Param" darkWidth="800" darkHeight="55" showCaption="false"}

:::hint{type="info"}
Note the Advanced Mode settings are generally intended for advanced users and special cases. If you do not understand the settings, you should probably accept the default values.
:::

![File Input Advanced Mode](https://api.archbee.com/api/optimize/mzxtTQEvCNIdUNgF2kuwJ/O7oqOH8S5s_lcy-RonKUH-20260618-100409.png)

### General

- Latency Offset \[ms]
- Support SCTE-35 injection
- SCTE-35 PID
- Inject Metadata
- Remove old SCTE-35 packets
- Keep Stream CBR&#x20;

### Stream Parameters

- Synchronize playback - checkbox
- Compression - checkbox
- Fast connect - checkbox

### Synchronize Playback

**Synchronize playback&#x20;**&#x74;ies a looping file's position to wall-clock time instead of to when the input was started.

**When it's OFF (default):** the file simply starts from the beginning when the input starts, and loops from there. If you restart the input, or start the same file on a second Broadcaster, each one begins at the start of the file at the moment it was started — so they will not be at the same point in the file as each other.

**When it's ON:** the Broadcaster calculates where in the file it would be if the file had been playing continuously since a fixed reference time  and jumps straight to that position. This means: The playout position is deterministic from the clock — restarting the input resumes at the "correct" point for the current time rather than jumping back to the beginning. Two or more Broadcasters playing the same looping file will stay aligned with each other because they all compute their position from the same clock reference rather than from their individual start moments.

This is what makes it possible to have multiple servers (or a restarted input) present the same looping file content in lock-step, as a continuous "always-on" channel, rather than each copy starting from frame one whenever it happens to be launched. PCR, PTS and DTS are all derived from the NTP time.
