Supported protocols:

UDP - send over a UDP port. 
    example:
        srt-transmit
            udp://:1234 \
                # ^- bind to interface 0.0.0.0:1234 and listen for data  \
            udp://127.0.0.1:2345 \
                # ^- bind to interface 0.0.0.0:0 (any port) and send to 127.0.0.1:2345 Connection modes:
                
    * listen: bind to a local port. Can only be used for receiving data (first parameter).  Is specified by leaving out host in the URL:
        udp://:1234 
            ^- bind to port 1234,  waiting for data

        udp://:1234?interface=127.0.0.1  
            ^- bind to port 1234 on loopback interface, waiting for data

    * send: send to a remote host. Can only be used for sending data (second parameter). Is specified by including a host in the URL:
        udp://127.0.0.1:2000 
            ^- bind to port 0 (an ephemeral port), and send data to 127.0.0.1:2000

        udp://127.0.0.1:2000?local_port=3000 
            ^- bind to port 3000 and send data to 127.0.0.1:2000 

    Settings: 
    * interface=<IP address> the interface to bind to, defaults to 0.0.0.0
    * local_port=<number>    the local port to bind to. Only applicable for send connection mode


 SRT - send over a SRT connection
    example: 
        srt-transmit \
            srt://:1234 \
                # ^- bind to 0.0.0.0:1234 and listen for a connection \
                #    with 2 seconds of TSBPD latency \
            srt://127.0.0.1:1235 \
                # ^- bind to 0.0.0.0:0 (any port, unless local_port is 
                #    specified) and try to connect to 127.0.0.1:1235

    Connection modes: 
    * listen: listen for a connecter. Can be used for either sending or
      receiving data. Is specified by leaving out host in the URL: 
        srt://:1234
            ^- bind to port 1234, waiting for a connector. Uses the connecter's latency
          
        srt://:1234?latency_ms=2000 
            ^-bind to port 1234 and advertise a latency of 2000.

    * connect: connect to a listener. Can be used for either sending or receiving data. Is specified by including a host in the URL:
          srt://127.0.0.1:1234?latency_ms=1000     
            ^- bind to port 0 (an ephemeral port), and connect to 127.0.0.1:1234, advertising a 1s latency 
          srt://127.0.0.1:1234?local_port=3000  
            ^- bind to port 3000 and connect to 127.0.0.1:123 
    
    * rendezvous: connect to another rendezvous connecter. This is useful if 
      both sides are behind a NAT, in which case the host needs to be the public IP and port. Is specified by including the rendezvous flag:
          srt://example.com:1234?rendezvous 
            ^- bind to port 1234 and connect to example.com:1234

          srt://example.com:1234?rendezvous&local_port=2000 
            ^- bind to port 2000 and connect to example.com:1234

    Settings: 
    * interface=<ip address>  the interface to bind to, defaults to all (0.0.0.0)
    * latency_ms=<number>     the milliseconds of TSBPD latency to use. If both sides set this, the higher setting is used
    * rendezvous              use the rendezvous connection method 
    * local_port=<number>     the local port to bind to. Only applicable for 
                              rendezvous and connect connection modes 
    * multiplex               allow multiple connections on the single port, only
                              applicable for listen connection mode, in the sender position
    * passphrase              the passphrase to use for encryption/decryption. Must match the other side.
    * pbkeylen                the key length to use for encryption. Defaults to 0, unless passphrse is passed,
                               in which case 16 is the default. Must be 16, 24, or 32
    * autoreconnect              should the socket reconnect after connection is broken. Default is false, specify for true
    
 FILE - save or send a file
    example:
        srt-transmit \
            ./a.txt \
            # ^- send a.txt \
            udp://127.0.0.1:2000
            # ^- to a UDP port

    You can use the special - file to redirect from/to stdin/stdout:

    example:
        srt-transmit \
            - \
            # ^- get data from stdin \
            srt://:2000
            # ^- send data over SRT on port 2000
