28 Sep 2005

ppstream - p2p tv streaming that rocks!

it's liverpool vs chelsea tonight playing in the uefa champions league. last year, the champions league was on ITV or BBC, i forgot which. but this year its been moved to sky sports, so i can't watch it on free to air, which sucks.

after discussing my dilemma with a friend in hong kong, he pointed me to ppstream, a peer to peer video streaming application for windows. he told me alot of chinese tv channels are streamed on this service and probably some of them might have the champions league playing.

so i broke out patricia's samsung windows laptop and installed it. and my gosh, does it rock! not only does it totally work, but it was extremely simple to use and i managed to watch the whole second half of the game. actually, i'm writing this as i'm watching on a 15" full screen. turns out also that there are streams from china, hongkong, taiwan and singapore. and even homebrew streams run by movie buffs and music buffs showing only mtvs and movies of a particular movie star or singer.

here's a video on just how good it is.

Picture 2

just thought i might write a bit of an adhoc review of this program, for those people who either don't have the platform to try it or don't understand chinese. the application is written by some mainland chinese people, so the interface and menus are all in simplified chinese. the first thing to do is to change your windows interface to simplified chinese for non-unicode encoded applications.

the second thing that you need to do is to tweak the maximum tcp connection rate for windows xp sp2. i didn't know this at all, but the tcpip.sys in windows xp sp2 has been disabled so that you can only make 10 simultaneous tcp connections at once. i suppose this is to stop the spread of viruses and worms, but what a pointless restriction! luckily there's a tool that helps you get rid of this limit. if you leave the limit intact, you'll have trouble getting a good number of streams to these video sources.

once you've got that fixed up, and rebooted, you're ready to go. open up the app and you'll see three panes, the one on the left is the list of channels. this is particular impressive, because you have many sports channels. when i tried it, i could connect to all but the most viewed channel which had apparently 15000 viewers, the next ones down had about 300-5000 viewers each. because it was champions league night and plus it was 3-4am in the morning in east asia, the most loaded channels were the ones showing football. in all there were 3 channels that i could connect to that were playing football. they were various channels of espn star/star sports.

there were other channels such as TVB and ATV from hong kong, those channels were listed by their chinese name, so if you don't know chinese, you'll have a bit of a problem finding them :) hovering over the channel will tell you some statistics about the channel and some metadata about the contents such as what program is on and a URL. the URL always lead so some forum or some portal page, which seems to suggest that the feed has been provided by a single source (reward being advertising or kudos) and then mirrored in a p2p fashion. that sounds very similar to how peercast works.


on the right most pane is a cool recommendation and tv schedule link. tells you whats hot that is on. also for some tv channels you can see the schedule and actually "program" your application to switch to a particular channel at a particular time.

the central pane is where the video is. the video seems to be using windows media player to do the encoding. nothing much special about that. the video size is about 320x240 streaming at around 372kbps. you can switch to fullscreen mode which is the best way to watch it.

so i watched the stream from Star Sports for the liverpool vs chelsea game. initially it took around a minute to fully buffer a stream, but once it buffered the stream, it never got cut, occassionally it stuttered a little once in every 5 minutes or so. the audio quality was excellent. also, like skype or bittorrent, even if you're not watching, your connection still seems to forward packets for the network.

i have to say i'm extremely impressed with how this works. i hope this catches on more and more. i guess the single breaking point in this thing is the source, but as long as there's 100Mbps internet spreading through out east asia, you don't have to worry about it. also the fact that there is only chinese content and not open source might mean it will continue to be only used in asia rather than in US and other parts of the world.

[UPDATE: (15/07/07) this blog post is slightly out of date now. (1) You cannot watch TVB over any P2P TV service I have found, and (2) SOPCast is now my preferred P2P TV streaming service which also works under linux as well.]

You can reply to me about this on Twitter: