FASPStream is used to transport MPEG transport streams (TS) over long distances. On the source host, the UDP provider captures packets delivered to a local multicast or unicast UDP port. The stream is transported reliably and in order to the remote host, where it is delivered to the desired local multicast or unicast UDP port.
# /opt/aspera/bin/ascp4 -m minimum_rate -l target_rate --mode=mode --host=destination_hostname --compression=none --user=username --read-threads=1 --write-threads=1 input_multicast_uri output_multicast_uri
# man ascp4
ascp4 Option | Description | Recommendation |
---|---|---|
-m | Minimum rate | Take the encoding rate of the transport stream and add 1 Mbps. |
-l | Target rate | Take the minimum rate and add 10% of the minimum rate. |
# /opt/aspera/bin/ascp4 -m 11M -l 13M ...
multicast_protocol_scheme://stream_ip_address:port?option=value&option=value...
The multicast protocol scheme can be either udp or mcast. If the IP address of your stream is a multicast address, FASPStream uses multicast regardless of the protocol scheme (in other words, both udp and mcast use multicast). In order to use unicast addresses, you must use the udp scheme.
You can configure properties of the stream by adding options to the URI after the question mark (?), each separated by an ampersand (&). For supported options see the table below.
Option | Description | Default |
---|---|---|
pktsize=packet_size | Multicast packet size | 1316 |
maxsize=maximum_size | Maximum stream length | No default |
maxtime=maximum_time | Maximum stream duration, in seconds | No default |
maxidle=maximum_time | Maximum idle duration, in seconds | No default |
rcvbufsz=buffer_size | Receive buffer size | 10MB |
sndbufsz=buffer_size | Send buffer size | 10MB |
ifaddr=ip_address | Multicast interface IP address | 0.0.0.0 |
ttl=hops | Multicast time-to-live | 1 |
loopback=boolean | Multicast loopback | 1 |
ascp4 --mode=send --host=desthost --compression=none --read-threads=1 --write-threads=1 udp://233.3.3.3:3000?loopback=1&ttl=2 udp://233.4.4.4:3000?loopback=1&ttl=2Capture Local Multicast, Send to Remote Host, and Deliver as UDP Unicast
ascp4 --mode=send --host=desthost --compression=none --read-threads=1 --write-threads=1 udp://233.3.3.3:3000?loopback=1&ttl=2 udp://localhost:3000/