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

Selfhosted

48307 readers
1252 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.

top 28 comments
sorted by: hot top controversial new old
[–] A_norny_mousse@feddit.org 12 points 2 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.

[–] Tanoh@lemmy.world 4 points 2 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.

[–] A_norny_mousse@feddit.org 1 points 2 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.

[–] ikidd@lemmy.world 1 points 2 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.

[–] Legume5534@lemm.ee 2 points 2 weeks ago

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

[–] SpatchyIsOnline@lemmy.world 1 points 2 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

[–] Akasazh@feddit.nl 9 points 2 weeks ago (1 children)

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

[–] Marvelicious@fedia.io 1 points 2 weeks ago

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

[–] mutual_ayed@sh.itjust.works 6 points 2 weeks ago (3 children)

Does this get rid of ad-reads as well or is it just the ads served by YouTube?

[–] MangoPenguin@lemmy.blahaj.zone 10 points 2 weeks ago

Sponsorblock will strip out ad-reads.

[–] ikidd@lemmy.world 4 points 2 weeks ago

Keep in mind that if it fetches an episode immediately after it's posted, nobody will have had a chance to make Sponsorblock entries, hence my advice to have it re-fetch after a couple days. By then, someone should have made contributions that you can take advantage of.

Also, be sure you have the correct Sponsorblock content types selected in your "Podcast" Media Profile. You might have to play around with the options in there to make it produce exactly what you want from it.

[–] DesolateMood@lemm.ee 2 points 2 weeks ago

I don't know anything about this beyond what's written in the post, but it sounds like if a podcast episode on YouTube has been properly sporsorblocked, then it should skip ad reads as well (keep in mind that sponsorblock is crowd-sourced, it doesn't automatically work it's magic)

[–] Vendetta9076@sh.itjust.works 5 points 2 weeks ago (1 children)

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

[–] ikidd@lemmy.world 6 points 2 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@sh.itjust.works 2 points 2 weeks ago (1 children)

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

[–] scoobydoo27@lemmy.zip 1 points 3 days ago* (last edited 3 days 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@sh.itjust.works 1 points 3 days ago* (last edited 3 days ago) (1 children)
[–] scoobydoo27@lemmy.zip 1 points 3 days ago (1 children)

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

[–] Vendetta9076@sh.itjust.works 1 points 3 days ago (1 children)

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

[–] scoobydoo27@lemmy.zip 1 points 3 days 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@sh.itjust.works 1 points 3 days 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

[–] nixcamic@lemmy.world 3 points 2 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.

[–] ikidd@lemmy.world 2 points 2 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.

[–] null_dot@lemmy.dbzer0.com 2 points 2 weeks ago

this sounds great. thanks for the tip!

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

[–] Sunny@slrpnk.net 2 points 2 weeks ago

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

[–] Marvelicious@fedia.io 2 points 2 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.

[–] BeMoreCareful@lemmy.world 1 points 2 weeks ago (1 children)

However, the Small Town Murder podcast is excellent.

[–] Marvelicious@fedia.io 1 points 2 weeks ago

It might be, just not my thing.