this post was submitted on 30 May 2025
132 points (98.5% liked)

Selfhosted

46672 readers
548 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

I listen to a lot of podcasts. I spend a pile of time where I need something to distract me and keep me awake, and I also just like podcasts. But there's a lot of podcasts, especially from sources like IHeartRadio, that have scads of annoying ads (mainly for other podcasts, which seems weird, but OK).

I had gotten to the point where subscriptions like Behind the Bastards just weren't worth listening to because the ads went on for like 5 minutes. I had to come up with something or drop them.

Enter Pinchflat. You can create a "Podcast" media source profile that's audio-only, and respects Sponsorblock. If you have a podcast that has a Youtube channel, you can pretty much eliminate ads this way. And Pinchflat makes an RSS feed that you can subscribe to in your favorite app like Antennapod to consume that feed. One thing I like to add to the Media Profile is to redownload after a day or two so it updates the Sponsorblock info that might not have existed if Pinchflat grabs the episode when it's very fresh.

Links:

Pinchflat Docker compose setup

Podcast RSS feeds (Ignore the reverse proxy if you already use an always-on VPN like Wireguard/tailscale or download your episodes while on your LAN)

The heroes at Sponsorblock and the other heroes that contribute timeblock entries

Donate on behalf of Pinchflat to Zakkarry, a collaborator that the developer of Pinchflat has identified as a good donation target, as well as the EFF.

all 28 comments
sorted by: hot top controversial new old
[–] [email protected] 12 points 3 weeks ago (2 children)

But there’s a lot of podcasts, especially from sources like IHeartRadio, that have scads of annoying ads

And they're so repetitive. And each block is the same length if I'm not mistaken. This could even be automated - not relying on human input - or at least half-automated.

[–] [email protected] 4 points 3 weeks ago (2 children)

It should be doable to so some audio analysis of the episodes. They "always" (I am sure some forget every now and then), have an outro and intro around the ad block. With a clearly defined jingle per podcast. You should be able to make a program that analyses the audio and listens for that block and cuts it out for you.

[–] [email protected] 1 points 3 weeks ago (1 children)

I had found one that used Whisper to convert the podcast to text and then ran it through an AI to find the ad text, but I couldn't get it to work. I had considered building something myself and was about halfway through that when I found this method. It does the job better than I think an AI would considering it's crowdsourced for the ad identification.

[–] [email protected] 2 points 3 weeks ago

This is exactly the route I've been begging for for years now. It seriously should be doable.

[–] [email protected] 1 points 3 weeks ago

Yep. Certain patterns are easily recognizable even by machines. One could have a relatively simple "IHeartRadio algorithm" that should work 99% of the time (esp. with Ed Zitron who brackets the blocks with that insane guitar riff).

Hell, I could even write that with ffmpeg and a shell script.

OK I'm being arrogant now, but not wrong.

[–] [email protected] 1 points 3 weeks ago

I've had a pipeline in mind for exactly this purpose that I want to build when I get around to it:

  • Download the audio file from RSS feed
  • Self hosted AI transcription model (with output that includes timestamps)
  • Self hosted LLM to recognise ad sections and return the start and end timestamps as json
  • ffmpeg to slice those timestamps out and stitch the rest back together

In theory, this should be able to remove ad and sponsor sections of any length completely automatically and there's nothing to stop it working on videos too

[–] [email protected] 9 points 3 weeks ago (1 children)

Seeing your VPN to Albania also works. Online advertising is banned there.

[–] [email protected] 1 points 3 weeks ago

🤔 The vpn I currently use doesn't have an Albania mirror, but it may be time to switch!

[–] Vendetta9076 5 points 3 weeks ago (1 children)

This is what ive been doing for about a year and I love it.

[–] [email protected] 6 points 3 weeks ago (1 children)

Well, why the hell didn't you tell me? You owe me 10 minutes per episode back for the last year.

[–] Vendetta9076 2 points 3 weeks ago (1 children)

Honestly I'm surprised more people don't do it. Its so easy.

[–] [email protected] 1 points 1 week ago* (last edited 1 week ago) (1 children)

Honestly I’m surprised more people don’t do it. Its so easy.

I can't seem to get any podcast app to recognize the RSS feed. I've got audio only media downloaded and my Pinchflat server is publicly available but all the podcast apps I've tried say there is no media when I copy the RSS link from Pinchflat. Any suggestions?

[–] Vendetta9076 1 points 1 week ago* (last edited 1 week ago) (1 children)
[–] [email protected] 1 points 1 week ago (1 children)

Yes, I have that variable defined in my compose file.

[–] Vendetta9076 1 points 1 week ago (1 children)

Hmm. What podcast apps have you tried? I use antennapod and it just works

[–] [email protected] 1 points 1 week ago (1 children)

I’m on iOS and I’ve tried all the big ones: pocketcasts, overcast, Castro, Apple Podcasts. The only one I can get to work at all is Apple Podcasts if I give my local address and not my public address.

[–] Vendetta9076 1 points 1 week ago

Are you sure that the domain name is set up correctly?

If local works but domain doesn't that seems like a place to look

[–] [email protected] 3 points 3 weeks ago (1 children)

I'll often get ads for the podcast I'm currently listening to. Like, I'm already here, what more do you want?

The thing that really annoys me is when they auto insert variable length ads cause it frequently messes up and if you stop and resume a lot it can end up messing up the playback.

[–] [email protected] 2 points 3 weeks ago

As far as I've seen, if someone has submitted the sponsor block report, this works perfectly. Of course it depends on someone getting to it, so a very lightly listened to YT channel might not have anything submitted for Pinchflat to use.

[–] [email protected] 2 points 3 weeks ago (1 children)

I'm pretty adept with my ff/rw buttons, but I already have the docker machine to run this...

The thing that gets me about the ads on BTB is that (based on the ads I get) IHeart apparently thinks of it as a "true crime" podcast and... I guess I can see that, but I've got zero interest in listening to podcasts about some weird small town murder or whatever.

[–] [email protected] 1 points 3 weeks ago (1 children)

However, the Small Town Murder podcast is excellent.

[–] [email protected] 1 points 3 weeks ago

It might be, just not my thing.

[–] [email protected] 2 points 3 weeks ago

Thisis a great tip! Wanted to check out pincheflat anyway, great weekend project 😁

[–] [email protected] 2 points 3 weeks ago

this sounds great. thanks for the tip!

I think I already have pinchflat. Didn't know sponsorblock worked for podcasts. Thanks!