//----------------------------------------------------------------------------
//
// TSDuck - The MPEG Transport Stream Toolkit
// Copyright (c) 2005-2025, Thierry Lelegard
// BSD-2-Clause license, see LICENSE.txt file or https://tsduck.io/license
//
//----------------------------------------------------------------------------

<<<
=== ip (packet processing)

[.cmd-header]
UDP/IP unicast or multicast output and pass to next plugin

This plugin sends TS packets using UDP/IP, multicast or unicast and passes them to the next plugin in the chain.

This is a convenience to send an intermediate state of the stream over UDP without using the `fork` plugin.
The options are the same as the `ip` output plugin, except `--enforce-burst` which is not present.
In packet processing plugins, TS packets are processed one by one.
To avoid a suboptimal usage of the UDP datagrams, burst is always enforced in this plugin.

Each UDP datagram is filled with one or more TS packets (see option `--packet-burst`).
By default, the datagrams contain TS packets without any extra information or encapsulation.
Use the option `--rtp` to generate RTP datagrams.

Using this plugin forces `tsp` and all plugins to use their real-time defaults (see the reference documentation for tsp).

[.usage]
Usage

[source,shell]
----
$ tsp -O ip [options] address:port
----

include::{docdir}/opt/group-datagram-output.adoc[tags=!*;raw;rtp;rs204;burst]
include::{docdir}/opt/group-common-plugins.adoc[tags=!*]
