File, FIFO, external application and DVB

The transports in this group do not work with the network: the stream is read from a disk or a device, from a named pipe, from the standard output of a third-party application or from a tuner. The purpose of each is described in Other inputs and outputs, DVB reception in DVB receiver.

File and device (file)

The input plays a transport stream from a file or reads it from a device; the output writes the stream to a file or delivers it to a device — including SDI and ASI boards (Files and devices).

Input

Field

Purpose

Values

File path

The full path to the file or the device. A required field; the path must be absolute. While the path is unavailable, the input does not fail for good but waits for the administrator and retries periodically.

an absolute path

Is device node

Disabled — the path is treated as an ordinary file, and it is played in a loop: on reaching the end the node goes back to the beginning and recalculates the time stamps and the continuity counters so that the receiver sees a continuous stream. Enabled — the path is treated as a device: reading is done once, without going back to the beginning. A path of the form /dev/dvb/adapterN the node recognizes by itself and sets up DVB-ASI reception. A tuner (S/S2/T/T2/C) cannot be attached this way: the node recognizes it from the device itself and refuses regardless of whether the adapter is configured on the node or not — there is a separate input type for a tuner.

disabled by default

Output

Field

Purpose

Values

File path

The full path to the file or the device. A required field; the path must be absolute.

an absolute path

Is device node

Disabled — the file is created if it does not exist and is truncated at every start of the output: what was written before is lost, the size is not limited and there is no file rotation. Enabled — the path is treated as an existing device and is opened without being created or truncated.

disabled by default

Packets per write

How many TS packets the node writes in a single operation. More means fewer system calls and a coarser writing pace. Changing it reopens the output.

1–16, default 16

Named pipe (pipe)

A bridge to an external program through a named pipe (FIFO): unlike the std type, the node does not start that program, it runs on its own (Named pipes (pipe)).

Input and output

Field

Purpose

Values

FIFO path (empty = auto)

The path to the pipe. The pipe is created by the node itself and removed when it stops, so a foreign existing pipe should not be specified: an input creates the pipe when it starts, an output when the first data arrives. The path must be absolute. An empty field means the node will choose the path itself; the resulting path is visible in the row of the list of inputs and outputs right after saving, even before the stream is started.

an absolute path or empty

While nobody reads the pipe, the output stays in the working state, but the data goes nowhere — it is simply discarded, and the sent counters do not grow. There is no error in this: the absence of a reader is told apart from a non-working output by the counters, not by the state. A reader can be attached at any moment while the stream is running: the node retries with every packet that arrives and picks the reader up almost at once. If, however, the stream has stopped by that time, the retries cease — then the output is paused and resumed.

External application (std)

A bridge to the protocols the node does not support itself: the node starts a console application and exchanges an MPEG-TS stream with it through the standard input and output (External applications (std)). The application is restarted by the node, and its messages from the standard error stream get into the error text of the input or the output — that is the first place to look when diagnosing.

Input and output

Field

Purpose

Values

Command (absolute path)

The path to the application to be started. A required field. On an input the application writes MPEG-TS to the standard output, on an output it reads it from the standard input. The file must exist and be executable, otherwise the point will not start.

a path to an executable file

Arguments

The command line as a single line; the node parses it into arguments itself. The parsing rules are given under the field: an argument with spaces is enclosed in single or double quotes, a backslash escapes the next character. This is not a command shell: variable substitution, file name patterns and redirections do not work.

empty by default

Env names (comma-separated), Env values (comma-separated)

The names and the values of the environment variables passed to the application. The lists are filled in parallel: the first name gets the first value, so their lengths must match. The variables are added to the node’s environment, they do not replace it. The separator is a comma, so a value containing a comma cannot be set this way, nor can an empty value.

empty by default

Packets per write

On the output only: how many TS packets the node writes in a single operation. Changing it reopens the output, that is, restarts the application.

1–16, default 16

Changing the command or the arguments restarts the application immediately; changing only the environment variables takes effect at the next start of the point — after a pause and a resume. When stopping the point, the node terminates the application at once, without letting it save its state: if that matters, the application must be able to withstand such a termination. An input additionally checks the stream: data that does not look like MPEG-TS stops it with a synchronization error.

DVB adapter (dvb)

An input of an MPTS stream that receives the whole multiplex from a configured DVB adapter (Connecting to streams). The type is available only to MPTS streams and only on a node whose build can receive DVB.

Input

Field

Purpose

Values

DVB adapter id

The record number of the configured adapter. A required field; it is entered as a number, without choosing from a list, and a non-existent number comes to light when saving. This is not the number of the device in the system: on the “DVB adapters” screen (DVB adapters) the adapters are listed by name, while the record number is visible on the “Pipeline” screen (Pipeline) — in the heading “DVB adapter <number>”.

an adapter number

Several MPTS streams may refer to one adapter; the node does not allow an adapter to be deleted while something refers to it. Individual programs of the received multiplex are extracted by demultiplexer inputs (Demultiplexer (demuxer)).