All threads / How do I store audio files in production?
Ask A Question

Notifications

You’re not receiving notifications from this thread.

How do I store audio files in production?

Umar Ghouse asked in Rails

Hey guys!

I'm working on building a Rails app for a friend of mine - this app will be for her to host episodes of her podcast. I've already decided to use something like SoundManager or Plyr to actually play the audio clips, but I'm not sure how to store the audio files.

  1. Should it be stored on the file system directly? If so, how do I do that on Heroku?
  2. Or is it better to store it in an S3 bucket and stream it to a player?
  3. Or should she opt for something like anchor.fm and I simply pull the audio data from the RSS feed that anchor.fm provides? Is that even possible?

Thanks in advance!

I would definitely recommend uploading with Shrine directly to S3 and then serving the files up through Cloudfront CDN. That way the downloads will be quick as possible which is what you want when streaming.

If you can, you could certainly just have hosting somewhere else like Anchor if they have a way to embed the episodes. It's nice if you can have someone else manage the RSS feed, file storage and serving. We host RemoteRuby on Transistor and I will probably just embed their player if I build a custom site for it at some point.

Thanks Chris!

Funnily enough, after posting this, I noticed your podcast on Transistor and told my friend about it, since that reduces the overhead for her to start her podcast - she's opted to go for using Transistor for now (and since transistor supports embeds, she felt it'll help her move her stuff to a custom website, if she ever wanted to, without much hassle).

But I'll keep this in mind if I ever make a podcast website in future. Thanks!

Join the discussion

Want to stay up-to-date with Ruby on Rails?

Join 70,078+ developers who get early access to new tutorials, screencasts, articles, and more.

    We care about the protection of your data. Read our Privacy Policy.

    logo Created with Sketch.

    Screencast tutorials to help you learn Ruby on Rails, Javascript, Hotwire, Turbo, Stimulus.js, PostgreSQL, MySQL, Ubuntu, and more. Icons by Icons8

    © 2023 GoRails, LLC. All rights reserved.