When you’re first getting started with podcasting, one of the first challenges you might run into has to do with hosting your large files. Whether you’re producing an audio podcast or a video podcast, the media files can get large fairly quickly.
Of course, you can always use your FTP client and upload the files to a folder on your webserver, and that may actually work for a while.
But in the long run, there are several reasons why hosting your podcast media files on your web server may not be the best solution:
- Your web hosting account may have storage limits, which can result in high fees for overage when you store too many large files
- Similarly, your web hosting account may have bandwidth limits that you may have never come close to exceeding in the past. Even one popular episode of your podcast could cause you to hit and exceed these limits when your listeners or viewers download the file.
- Perhaps more importantly, your web hosting account isn’t usually built for serving large files. When you have a number of subscribers that automatically download your new episodes when they’re released, you could quickly overload your web server with a number of users downloading large files all at once via iTunes or other “podcatcher” apps. This results in poor download performance for your subscribers, and could even temporarily bring down your website.
There are quite a few ways to solve the problem of where to host podcast files. One simple way is to host your media files at Amazon S3.
Why Use Amazon S3 for Your Podcast Files?
You’re probably familiar with the idea that Amazon has built a massive cloud infrastructure, known as Amazon Web Services (“AWS”), that it makes available to anyone who might need to use it. Services like Netflix, Dropbox, Pinterest and many others use AWS to host reliable, scalable web services, mobile apps, and media storage solutions.
At the heart of AWS is a service called “Simple Storage Service” (S3). S3 was one of the early “cloud” technologies when it was launched in 2006, and it has remained a leading solution for situations that call for hosting numerous and/or large media files.
Not only is it reliable (with a 99.9% guaranteed uptime), but it’s ridiculously fast. When a user requests a file stored at Amazon S3, chances are they’ll be able to download it quite a bit faster than if the file had been stored on your web server.
Even better: it’s very affordable. There are no monthly fees. You simply pay for what you use.
They don’t charge you for “inbound” transfer (meaning the bandwidth that you use when you upload files to S3). There’s a monthly charge for storage of your files that comes to about 3¢ per gigabyte in the US. For “outbound” transfer (when people download your files from S3), you’ll be charged about 9¢ per gigabyte.
But when you first set up a new account at AWS, you’ll qualify for the “free usage tier” for the first year, which gives you up to 5 GB of storage and up to 15GB of transfer (each month) absolutely free. This makes a great deal even that much more affordable—especially when you’re just getting started and you may not be earning as much from your podcast. Check out all the details on the free usage tier here.
How to Quickly & Easily Upload Large Files to Amazon S3
While I’ve provided some written instructions for the entire process (below), you may also prefer to watch this video, where I walk you through the process step by step.
- The first step is to sign up for your AWS account. (Note: if you already have an Amazon account, you can use the same email address and password. Just keep in mind that it may make sense to separate your business account from your personal one.)
- Once you’re logged in, click the link for S3. It’ll be amid the myriad of available cloud services in the AWS package.
- Next, you’ll need to create a “bucket.” This is Amazon lingo for “a place to store stuff.”
- Amazon provides a web-based interface for uploading and managing your files. I’ve found that it’s a little easier to use a Firefox extension called S3Fox, which works on Windows, Mac or Linux.
- Once you’ve got S3Fox installed, you’ll need some API credentials for your AWS account to allow it to have access. Think of these like a username & password, and keep them secure. You can get them from the Security Credentials section of your AWS account. Once you’re in there, you’ll need to create an Access Key ID & Secret Access Key pair.
- Copy & paste your Access Key ID & Secret Access Key pair into S3Fox by clicking “Manage Accounts” and then giving your account a name (only you will see this). You’ll see boxes for the 2 values, which you can paste right in.
- Once S3Fox has successfully accessed your S3 account, you’ll see the bucket show up on the right-hand side of your screen. Click on the name of the bucket to get “inside” it. On the left-hand side, you can browse your computer for files, which can then be easily uploaded to the S3 bucket with just a couple of clicks.
One More Thing: Make Your Files Publicly Available
By default, Amazon assumes that your S3 bucket’s contents should be private. While it’s possible to change the permissions on your files one at a time after you’ve uploaded them, I recommend that you just set a policy on the entire bucket instead.
This way, you’ll know that anything you put in that bucket will automatically be available for download by anyone. (If you need to keep other files protected, just set up another bucket.)
Here’s how to add the policy to your S3 bucket:
- Visit your S3 Dashboard by clicking on S3 from the AWS Management Console.
- You should see the names of all of your buckets listed. (If you only have one, then it’ll be a short list!) Click on the white space to the right of your bucket name. This will “select” it, which causes the line it is on to be “highlighted” in a light blue color.
- Click the “Properties” button on the upper right-hand side of your screen.
- The “Properties” panel will open on the right-hand side of your screen. Expand the “Permissions” section and click “Add Bucket Policy”
- Copy the policy below and paste it into the box that opens. NOTE: You’ll need to edit the policy so that the portion that reads
<bucket name>is replaced with the name of your bucket.
- Click “Save” on the box, then “Save” in the “Properties” panel.
- Voila! All your files will now be available publicly!
If you run across a problem or a question, don’t hesitate to hit me up by leaving a comment below! I’ll do my best to answer you!
Thanks for this article. It was very helpful and I have now started the process of transferring all my podcast episodes to be stored on S3.
My question is about tracking and analytics.
My current setup, which uses https://www.blubrry.com and the Powerpress WP plugin gives me basic stats for free each month. This is helpful.
How do I setup something like this for the files stored on S3?
Hey Phil — thanks for the comment! I’m glad you found the article useful.
In fact, the setup your describing is precisely the one we use and recommend (except that we pay $5 for stats that are a bit more useful).
It’s actually really simple to transition your setup from self-hosted files to S3. For each episode of your podcast, you’ll want to replace the existing URL that points to the file wherever you’ve been hosting it to the new URL at Amazon S3.
You do this by locating the “Podcast Episode” panel below the WordPress editor and clicking the “Modify existing podcast episode” box shown here:
You’ll then want to copy the new Amazon S3 URL for your file (if you’re not sure where to find this, see below for a tip) and paste it into the “Media URL” box and then click the “Verify URL” button. The PowerPress plugin will then check to make sure the file is there and will update the parameters related to the file (size, length, etc.).
Once that’s finished, you can just click “Update” on your post and then move on to the next one.
From there on out, your RSS feed, the PowerPress player on your website (if you’re using it), and anything connected to your RSS feed will look for the new file location instead of the old one.
Since you have the PowerPress stats hooked up via the plugin, the stats will continue to work as they have been working. (The plugin actually redirects the clicks & downloads off of the Blubrry stats server on the way to your file, regardless of where your media file is actually hosted.)
Incidentally, if you’re using the S3 Fox plugin for Firefox (as described in the post and video above), there’s a nifty little tool to easily get the Amazon S3 URL for any file:
(Note that this will be the full URL to the file on Amazon’s system, and will ignore any CNAME you may have configured. You’ll want to edit the domain name in the URL if you have set up a custom CNAME for your S3 bucket.)
Hope this answers your question! Best wishes for you & your podcast!
Thank you for the very lucid and accessible article, especially for someone who is a tech newbie like me. Once we put the files up, what is the RSS feed link that we have to submit to the ‘podcatchers’ like iTunes or Stitcher?
I’m using Amazon S3 to store episodes for Beyond the Rut podcast, and Feedburner to set up a RSS feed that will search the website beyondtherut.com for MP3 files as they show up. When I put the URL for an episode into the Show Notes of an episode (the blog post), Feedburner picks up on this and communicates that with iTunes and Stitcher. Hope that helps.
This works well only if you don’t have many listeners.
But whenever you have more than a few thousand downloads per show (even on a weekly show), Amazon S3 is substantially more expensive than libsyn or blubrry.
I look at those podcast hosting services as insurance. I know I’m paying $X per month no matter what.
Fair enough, B Wayne. This is a great way for newer shows to get started without having to make the commitment at first.
Once your bandwidth costs at S3 exceed what you’d pay for another hosting service, it isn’t difficult to switch. And if you’re using Blubrry stats (as we recommend for new shows), the stats come along with you.
Thanks for taking the time to comment!
Thank you for the article…and your podcasts… checking them out now!!!
Regarding S3 costs being much more even after only a few thousand weekly/monthly downloads…. who would you recommend (now, April 2019) as being a great audio hosting company, for audio downloads, not streaming… ? If money for hosting isn’t really an issue? I’m looking for the most rock solid, maximum up time availability audio host, great global network with back end metrics/stats…etc… thank you!
At what point does it become more cost effective to go with Libsyn? 1,000 weekly downloads? 10,000?
I know it depends on the download size, so if it’s easier to estimate by TB.
I can have up to 10 TB per month by my host, so why not just host it myself since I’m already paying for shared hosting?
So if i have an S3 bucket, how do i get an rss feed for it to get it a podcast on itunes? i was using soundcloud but found it to be unreliable and s3 to be more cost effective.
First: apologies for the slow response here! I’m not sure how we managed to miss this comment.
The RSS feed requires a web script of some sort. We use and recommend WordPress, which is free and open source software that you can install on a web server. RSS feeds are built in to the WordPress software, but you can optionally use a free WordPress plugin like Blubrry PowerPress to provide you with additional control over various aspects of your podcast that will create a better user experience for your subscribers.
The complete setup is beyond the scope of a comment here, but we’re considering building some additional content to cover all of this. If that’s of interest to you, please let me know!
Hi David, this is a great article and very helpful. I’m setting up my podcast now and I’m using auphonic to level my podcast and add an intro and outro – once it does that, it uploads it to amazon s3, and it sounds amazing!
however, like Mike Bateman, I’m having issues setting up an RSS feed. I’ve downloaded the PowerPress plugin to use in conjunction with my website, but the “import your podcast” options are from a hosted service or via RSS feed – which I’m having some issues with. If you’ve any advice or further articles I’d greatly appreciate it.
Thanks for your comment! It’s great to hear you’ve found this content useful.
I’m sorry to hear you’re having some trouble at the “import your podcast” step. I’ll do my best to help you. Do you have an existing podcast that you can import? Or are you creating a new podcast from scratch?
Does Amazon S3 have a way to charge for podcasts on line. Maybe through paypal?
Thanks for stopping by and leaving a comment!
Amazon S3 is really just the storage and delivery mechanism for the media files themselves, whether audio or video. To charge for a podcast requires some additional tools. We use WordPress to power the podcasts we develop, but not to charge money for them. Charging would require the addition of some software to manage user access, authentication, payment, and so forth. The creators of Blubrry PowerPress have written some material on the various tools that would need to be connected to make this work. Check out Premium Podcasting Content on their website for more.
I hope this helps!
I have a Facebook page where I post short pieces documenting baseball history in my hometown, now moving to add oral and video recordings. I use a MacBook Pro. Is Firefox/Amazon S3 what you recommend for file storage and retrieval? Keep in mind the material is being managed by complete novices. Thanks.
FYI the S3Fox plugin for Firefox does not seem compatible with Quantum. I am trying now this S3 Chrome extension and its uploading
Thanks for mentioning this, CogDog! I haven’t used S3Fox with the latest version of Firefox yet. I’ll dig around and see what we can find out. In the meantime, I’m sure the Chrome extension you linked to will be helpful to people.
My only caution is to use these tools at your own risk. Some Chrome extensions have been found to be exfiltrating data. I’m sure the same has been said about Firefox extensions. Some careful vetting is a good idea!
Thanks a lot for you tutorial! Can I ask for help? When I paste the code and add the bucket’s name I get an error message:
Do you know why and how can I fix it?
I would also appreciate support for this!
I’m also getting the access denied error when entering the bucket policy.
Would appreciate any input for this.
We too have a lot of old mp3 podcast files to upload and integrate into our podcast. I understand creating a new bucket for the Archive episodes, but if you have two buckets and want all episodes (current and archive) available in the iTunes podcast, how do you tell iTunes to pull the files from two different buckets into your iTunes podcast feed?
Does iTunes allow you to enter more than one podcast RSS Feed into the same iTunes feed and then iTunes sorts all of the episodes by date (regardless of which bucket they come from)?
If not, how do you get all of your podcast files (old and new) into the same iTunes podcast feed?
I found this as a link from Adam Croon’s post. Thanks for the great help in setting this up. I especially appreciate the code to paste into the Policy field.
Fantastic, David! Glad to hear you found this so useful. Cheers!
It worked! Thanks so much.
This article was a great help. Thank you!
Would you like to get more information about Domain name ?