Hi list,<div><br></div><div>I&#39;ve been thinking this for a while now. I live in a third world country where Internet connection is slow and crappy. Certain sites are almost unconnectable directly. So personally I have an SSH account on my friend&#39;s VPS and tunnel my browsing through SSH dynamic port forwarding (Socks5). But all the connections were tunneled through just one TCP connection, combined with ssh -C compressing and encryption stuff it&#39;s kinda slow. For example, my Youtube dashboard &lt;<a href="http://www.youtube.com/my_speed">http://www.youtube.com/my_speed</a>&gt; shows that I have a 7Mbps broadband, that&#39;s because my friend&#39;s VPS is in the US is fast, but me to the VPS connection is slow, the video streaming is laggy.</div>
<div><br></div><div>Tthe slowness can be improved, example if I HTTP download a file from my friend&#39;s VPS server directly, I can achieve full speed of my connection (2Mbps), because I am using multithreaded download tools like GetRight or FlashGet. </div>
<div><br></div><div>So here&#39;s an idea, live streaming using zfec. Here&#39;s the scenario:</div><div><br></div><div>The VPS server requests a youtube video, at its best speed, around 7Mbps, zfec quicliy dispersal a data chunk into around 7 pieces, plus 3 redundant piece, then I open 10 connections to grab this chunk, and restore it on my local machine. The local browser requests youtube from a local HTTP server, which the HTTP server restore the chunk and stream the original HTTP data. If either of one or two or three connections fail, the chunk can still be restored. In this way I can achieve almost full speed of my connection (2Mbps) so the youtube is streaming smoothly.</div>
<div><br></div><div>The whole idea in one sentence: one TCP connection streaming is slow, zfec it to multiple connections simultaneously.</div><div><br></div><div>What do you guys think of this idea? Is it feasible?</div>