I have a friend ..

Christian Hewitt get_iplayer at chrishewitt.net
Fri Jan 21 01:39:49 EST 2011


On 21 Jan 2011, at 06:36, Richard Mace wrote:

> For 6 months of the year I live in Thailand but I have a home in England
> were I my own personal server. Amongst other things I use the server to
> run get_iplayer on. I log on to the server via ssh and manually run
> get_iplayer. I also run get_iplayer via a crontab schedule. I can then
> download manually from my server to my netbook in Thailand. This all
> works great apart from the downloads from my server are limited by the
> slow broadband upload speed. This brings me to my main purpose for this
> posting. I also use server to stream BBC TV and the higher quality radio
> streams. I do this by opening a ssh tunnel and redirecting a port thus:-
> ssh - -D 1080 richard at mydomain.name.com
> 
> I then run get_iplayer locally (in Thailand) via tsocks. What this does
> is forwards all get_iplayer's network requests to my server in England.
> This works but again, the streams are limited in speed by the upload
> speed of my server's broadband, I can only stream the very low quality
> TV. My question is is if I set up my England server as a proxy server
> will I suffer the same speed limitation? Does the network traffic still
> pass through my home server? 

For normal offline viewing you can configure get_iplayer to selectively proxy only the http requests that are used to discover the CDN stream URL to bypass the geolocation check. Once this has been discovered get_iplayer connects directly to the CDN on port 1935 to start the download. Speeds are good as you're connecting directly to the CDN and Akamai/Limelight have serious bandwidth.

For live viewing you need to configure get_iplayer to "proxy everything" so that port 80 *and* port 1935 are sent through the proxy as the BBC has a second geolocation check on the "live" flash streams in addition to the http based CDN URL discovery process. In this situation the network path for the SSH port forward method is effectively the same as running a proxy so there should be no real-world difference in the speeds you see. The limiting factor is the uplink speed on the UK broadband connection.

> I Have also experimented with other method's UKiVPN, a UK based VPN
> company. They charge £5 a month for a UK based VPN service. This workks
> great but it seems stupid for me to pay £5 a month when I have my own UK
> server!

The VPN provider has substantially more bandwidth than the connection your UK server is on so it works. I'm guessing your box is connected to the older BT based ADSL network that will top-out somewhere around 40-50Kb/s uplink speeds unless you are very close to the exchange. If the exchange has been enabled for ADSL2+ (BT's 21st Century Network) or there is an unbundled provider like Be* or a cable provider who offers higher bandwidth, an ISP swap may allow you to self-stream successfully (check samknows.com to see what's available). There is probably a scientific way to calculate the bandwidth requirements but in my experience you need to be able to sustain 60-65Kb/s on the upstream link for normal definition video content and double that for higher quality streams.

If your UK box is Linux or OSX based a squid proxy would be a useful tool for downloading content directly to your netbook instead of downloading first and then transferring. That said, with the network quality in Thailand being generally sub-par you might find the volume of failed direct downloads frustrating compared to your current arrangement where an IP (not UDP) transfer is more tolerant of local network conditions.

Christian


More information about the get_iplayer mailing list