How to play audiobooks in Overcast

Posted on March 20, 2016

Like many people, I want to read more books that I do.

Many times while browsing the internet, I find myself exposed to books highly recommended by people I deeply admire, or people I just know being successful, but I always end up reading the first chapter and then forgetting to check them out, or catching myself daydreaming every two minutes while reading them. At the end of the day, the only kind of books where I can deeply immerse myself in are fiction books, like the new translation of The Lord of the Rings (that I highly recommend to French people, it’s just pure awesomeness), not books like Robert Caro’s biographies or Robert Greene’s Mastery.

But if there is a medium that I love, it’s podcasts. I listen to many podcasts during my longs commutes to college, and I don’t really have trouble to keep myself focused while listening to them. So, that’s why, enjoying a promotion for Audible’s subscription, I bought Ashlee Vance’s latest audiobook, Elon Musk.

What I liked the most in this medium is that you have to follow the pace imposed by the narrator, preventing you to drift into your thoughts and only read 10 pages in an hour. After finishing the audiobook, however, I realised something: the Audible iOS app is not as good as it could be. And this is mainly because I was spoiled with one feature: Overcast’s Smart Speed.

Overcast’s Smart Speed works by speeding up the playback during silent breaks, enabling you to hear more, while not having to distort the audio like by simply speeding up the playback. And while it’s a great feature to have in a podcast, it’s a killer one when it comes to audiobooks.

So, I spent some time looking on the internet how get Overcast to play my Audiobooks (until Audible calls Marco Arment, and just license his damn implementation!), and I found two different solutions, each having their own advantages and drawbacks. Here we go!

The easy one: Overcast “Upload“ feature

Arment’s announcement of this feature was for me both an exciting one, and a watershed. 2 days before, I was finishing to implement my own solution (more below) after spending quite some time to tweak it and making it work. Having him solving my initial problem right after I managed to tackle it was bad luck.

Anyway, the Upload feature has some advantages, but it’s not the perfect solution for audiobooks. It’s very easy to use and directly implemented in Overcast, but you are limited to 2 GB of storage, 250 MB files and you have to be a paid customer ($9,99 for a year, it’s well worth it) to be able to use it.

First, you’ll have to enable the feature in the iOS app:

Overcast for iOS screenshot

Then, go to https://overcast.fm/uploads and log in. There, you’ll find a list of all your previous uploads and an upload button, where you can… upload your audiobook.

Overcast web upload interface

You can then find your file directly on the app, under the Upload section.

The most customisable: The self-hosted solution

If you find the native solution not customisable enough, or too limited, you can use Podcast Generator to host and publish your audiobooks directly to Overcast, or any podcast player that you want.

This solution works great, but suffers from few drawbacks:

  • You’ll need a remote server or a NAS to use Podcast Generator;
  • The feed is publicly available, which can be problematic due to copyright rules;
  • It’s not the simplest solution.

If you don’t already have a server, I recommend using the cheapest service that you’ll find. Podcast Generator is not a resource heavy program, so the hardware won’t matter much. The most important thing here will be the storage space.

I can recommend using Scaleway or Digital Ocean1, but any VPS or EC2-like provider should work.

If you think that the advantages are worth the trouble, here’s how you can implement it.

Prerequisites

Before installing Podcast Generator, you’ll need to install some prerequisites on your server.

Podcast Generator needs :

  • A web server : The developers recommend to use nginx
  • PHP 7+

To install them, you can follow Digital Ocean’s great tutorial for Ubuntu 20.04. On their page, you will also find other versions for different OS.

Install Podcast Generator

  1. Download and extract directly the Podcast Generator archive on your server.

First, you need to find the link to the latest version. Go to the project’s GitHub page and find the link to the .tar.gz archive.

For example, the link to download the v3.1 is :

https://github.com/PodcastGenerator/PodcastGenerator/archive/v3.1.tar.gz

Then, download the archive on your server with wget.

$ wget https://github.com/PodcastGenerator/PodcastGenerator/archive/v3.1.tar.gz

Extract the archive :

$ tar zxvf PodcastGenerator-3.1.tar.gz

The files are now located in the PodcastGenerator-3.1 folder.

Move the PodcastGenerator-3.1 folder to the /var/www directory:

$ sudo mv PodcastGenerator-3.1/PodcastGenerator /var/www/PodcastGenerator

As a mesure a precaution, set the right permissions on the /var/www/ folder:

sudo chmod -R 755 /var/www/PodcastGenerator
  1. Make Podcast Generator recognise .m4B files

To get Podcast Generator to recognise .m4b files, you’ll first have to modify the supported_media.xml, located in the components/supported_media folder. Add this line between the <PodcastGenerator> tag.

<mediaFile>
	<extension>m4b</extension>
	<mimetype>audio/mp4a-latm</mimetype>  
</mediaFile>
  1. Launch the web-based installation wizard

Open your web browser and type this address to launch the web-based install wizard (replace YOUR_IP_ADDRESS with your server’s IP).

http://YOUR_IP_ADDRESS/PodcastGenerator
  1. Merge audio files

If your audiobook comes in multiple pieces, you can merge them using Audiobook Builder, which is also available on the Mac App Store.

It will give you a .m4b file with chapters in it.

  1. Upload your audiobook files

To upload files from your computer to your server, you can use FTP or SFTP. Since you already have your SSH credentials, the easiest way should be SFTP, which use SSH to transfer files.

Upload the files to the /var/www/PodcastGenerator/media directory.

If you use macOS or Windows, I recommend Cyberduck, which is free.

  1. Enable Podcast generator to fetch your files

To see the files in Podcast Generator, you’ll have to enable a feature. Go to the admin panel and choose the “FTP Feature (Auto-Indexing)” option to add the file to the directory.

After the files are properly indexed, you can modify the metadata directly on the panel.

  1. Add the feed to Overcast

When everything is done, you can add your feed (http://YOUR_IP_ADDRESS/podcastgen/feed.xml) to Overcast, who will fetch the files.

Now, you can use Overcast’s great features to listen to your audiobooks!


  1. The link for Digital Ocean uses their referral program, giving you a $100, 60-day credit as soon as you add a valid payment method to your account. Then, if you spend $25, I will receive a $25 credit. the referral free link to Digital Ocean is here↩︎