Jonathan Oxer
[Blog]
Blog > Saving podcast bandwidth
>> Saving podcast bandwidth
Thu, Jul 21st 4:46pm 2005: Linux
Podcasting is cool, but it can chew up lots of bandwidth. Not enough to break the bank if you only listen to a couple of casts each week and have a reasonable quota available from your ISP, but it can start to become a pain when you've got a bunch of people all tracking the same podcasts through the one connection. Sure, you can proxy it, but Squid just doesn't cut it when you're dealing with 20 to 50MB files. It's just not designed or tuned for that sort of thing.
So with a few people at IVT now following the same podcasts I thought I'd try making it easy on everyone and save ourselves some bandwidth at the same time by pre-downloading the casts and sticking them in a read-only 'podcasts' share on an internal fileserver. Turns out it actually works very well.
What I've done is installed BashPodder in a special user account on the fileserver, and set it up to track all the podcasts that people here care about. I also modified it so that instead of creating a new date-based directory each time you run it, it uses the same download directory each time, then added a wrapper script that:
- runs BashPodder
- looks in the download dir for filenames matching certain patterns
- moves those files into directories on the fileserver for each podcast
- generates an updated m3u file for each podcast directory
The wrapper script is launched in the early hours of each morning so by the time staff arrive their favourite podcasts have been freshly primed and are waiting on the server. Then they can just copy the mp3s off the server to their player at local ethernet speeds.
Best of all, we don't have each 50MB podcast downloaded a dozen individual times off the net.
Podcasting is cool, but it can chew up lots of bandwidth. Not enough to break the bank if you only listen to a couple of casts each week and have a reasonable quota available from your ISP, but it can start to become a pain when you've got a bunch of people all tracking the same podcasts through the one connection. Sure, you can proxy it, but Squid just doesn't cut it when you're dealing with 20 to 50MB files. It's just not designed or tuned for that sort of thing.
So with a few people at IVT now following the same podcasts I thought I'd try making it easy on everyone and save ourselves some bandwidth at the same time by pre-downloading the casts and sticking them in a read-only 'podcasts' share on an internal fileserver. Turns out it actually works very well.
What I've done is installed BashPodder in a special user account on the fileserver, and set it up to track all the podcasts that people here care about. I also modified it so that instead of creating a new date-based directory each time you run it, it uses the same download directory each time, then added a wrapper script that:
- runs BashPodder
- looks in the download dir for filenames matching certain patterns
- moves those files into directories on the fileserver for each podcast
- generates an updated m3u file for each podcast directory
The wrapper script is launched in the early hours of each morning so by the time staff arrive their favourite podcasts have been freshly primed and are waiting on the server. Then they can just copy the mp3s off the server to their player at local ethernet speeds.
Best of all, we don't have each 50MB podcast downloaded a dozen individual times off the net.
[ Back to top ]