well, all I can really say is that you'll a dedicated thread on both ends in order to feed/serve the tcp connection. if the data backs up a lot, you'll fill your tcp window and stall, and that'll happen really easily if you have some video renderer limiting itself to 60 fps.
You can also increase the size of the tcp receive/transmit buffers. do that before connecting/accepting and you'll hopefully also increase the size of your tcp window too.
Or do both, to ensure there's really no limits there.
I thought you'd probably end up doing it in-process.

wifi should be able to achieve 54 mbps, so 4-5 MB per second isn't unreasonable (assuming its not a terrible connection). 100mbps ethernet should get 10 MB/s, and gigabit lan would be near instant if you're not waiting for disk access on both sides. Window sizes that large would be crazy though, hence the threads.
personally, my adsl internet connection's download speed maxes out at 700KB/s, but upload is much less. You'll find other people's connections can get much faster (grr, fiber). The rest depends on the server.
.