Streaming for Video Command Syntax

Streaming for Video is used to transport MPEG transport streams (TS) across 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 specified local multicast or unicast UDP port. Video streaming that uses TCP and file I/O is also supported.

Streaming for Video uses the ascp4 command line tool and many ascp4 options are supported by Streaming for Video. For more information, see Ascp4 Command Reference.

Required Configuration for Multicast-to-Multicast Transfers

The transfer user who authenticates the multicast-to-multicast video stream transfer must have no docroot configured in aspera.conf. A file restriction can be set instead to restrict access.

Run the following command to unset a docroot and set a file restriction:

# asconfigurator -x "set_user_data;user_name,username;absolute,AS_NULL;file_restriction,|restriction"

The restriction can be set to allow all access (*) or limited by protocol, hostname or path:

Restriction Format Example
By protocol udp://*

tcp://*

By protocol and hostname udp://hostname*
By protocol, hostname, and port tcp://hostname:5000*

General Command Line Usage

# ascp4 -m minimum_rate -l target_rate --mode=mode --host=remote_hostname --compression=none --user=username --read-threads=1 --write-threads=1 input_uri output_uri 
  • ascp4 streaming supports two transfer directions: send and recv.
  • The ascp4 command defaults to multiple threads, but for reliable and in-order transport of streams you must use only one read and write thread by specifying --read-threads=1 --write-threads=1.
  • The video stream source and destination can be udp://, tcp://, or file://. For more information, see Built-in I/O Providers
  • For command line examples, see Ascp4 Video Streaming Examples.

Recommended Rate Settings for Video Streams

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.
For example, if the encoding rate is 10 Mbps, use the following settings:
# ascp4 -m 11M -l 13M ...

Multicast URI Syntax

The input multicast URI and the output multicast URI uses the same syntax.
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 video stream is a multicast address, ascp4 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 (&). The following table describes the supported options.

Option Description Default
pktbatch={1|0} How FASPStream handles packet read and write. If 1, batch read and write UDP datagrams. If 0, read and write one packet at a time. 1
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
srcaddr=ip_address Multicast source IP address 0.0.0.0
ttl=hops Multicast time-to-live 1
loopback=boolean Multicast loopback 1