madeofpendletonwool / PinePods

Pinepods is a complete podcast management system and allows you to play, download, and keep track of podcasts you enjoy. All self hosted and enjoyed on your own server!
https://pinepods.online
GNU General Public License v3.0
224 stars 14 forks source link

Suggestion: Youtube subscriptions #273

Open TheFiZi opened 2 months ago

TheFiZi commented 2 months ago

Looking over your pre-1.0 road map I saw this item:

Youtube subscriptions. Subscribe to youtube channels to get subscriptions based on the videos. Audio only.

and then long term I saw this:

Podcast ad blocking. Either by parsing audio blocks with ai and filtering ads or by utilizing a centralized server to allow others to send their ad block info to after determining the timestamps for ads.

Not a complete solution, but something I do is use yt-dlp to rip audio only from YouTube and use the built-in support for SponsorBlock to remove the ads/sponsored content.

My config for yt-dlp from my Python script is:

options = {
    'outtmpl': f'{downloadPath}/%(title).128s.%(ext)s',  # Output file name limited to 250 characters
    'quiet': True,  # No console output
    'format': 'bestaudio/best',  # Request the best audio quality without specifying a codec
    'postprocessors': [
        {
            'key': 'SponsorBlock',
            'categories': ['sponsor', 'selfpromo']
        },
        {
            'key': 'ModifyChapters',
            'remove_sponsor_segments': ['sponsor', 'selfpromo']
        },
        {
            'key': 'FFmpegMetadata',  # Embed metadata
        },
        {
            'key': 'EmbedThumbnail',  # Embed thumbnail in the resulting file
        }
    ],
    'simulate': False,
    'verbose': False,
    'addmetadata': True,  # Ensure metadata is added
}

Not sure if you already had a plan for this but wanted to drop my two cents in case it saves you some time. I am looking forward to moving over to PinePods for my Podcast needs once you add playlist support :)

madeofpendletonwool commented 2 months ago

Hi, @TheFiZi! Thanks for the suggestion, just last week I started digging into how I could make this happen and I did come across yt-dlp in my search. This looks honestly great. Thinking this does seem like the most simple way to implement this. I'll keep this issue open an comment more as I dig in.

As a side note, can you go into more detail about how exactly you'd like to see playlist support implemented? I'm currently in the process of adding in some filtering and custom options for playing, so now is a great time to let me know how you'd like to see it done. Thanks!

TheFiZi commented 2 months ago

As a side note, can you go into more detail about how exactly you'd like to see playlist support implemented? I'm currently in the process of adding in some filtering and custom options for playing, so now is a great time to let me know how you'd like to see it done. Thanks!

Oh it would be my absolute pleasure to. Every self-hosted podcast solution I've looked at always falls down at the playlist part for me and I definitely won't pass up this opportunity to give my two cents. Do you want it in this issue? or a separate issue?

madeofpendletonwool commented 2 months ago

Feel free to open a new issue! Thanks for taking the time to write it down!