Pipa reads data from stdin and does various things with it: rotates by time interval / output file size; compresses it (gz, bz2, lzo, xz); names the output file with strftime(); splits it intelligently when given info about the file structure (newlines / PCAP); calls a user command on the finished output file; passes it to stdout (like tee); and more.
ptee is a Unix shell tool similar to tee, but it allows you to invoke multiple sub-shells in parallel. Standard input to ptee is copied to both normal standard output and to each sub-shell running under ptee. Each sub-command is run concurrently and fed the same input. The output of each sub-command is thrown away, but any shell expression can be used, such as redirecting to a file. Note that there are some limits on ptee. The shell pipeline will only execute at the pace of the slowest sub-command; otherwise large amounts of data would have to be buffered. Also, the shell that ptee invokes requires 'sh'-like semantics, such as supporting the -c option.