PinePods icon indicating copy to clipboard operation
PinePods copied to clipboard

[Feature Request] Allow for downloads of the episode cover art and for the download of metadata with podcast audio file

Open back-lacking opened this issue 11 months ago • 7 comments

Basically what the title says. I want the service to be able to download the cover art and a copy of the metadata (as a JSON or as a simple text file) that you can see in the UI (metadata and image files has the same name as audio file). This would be useful as some podcasts' audio files wouldn't be properly tagged, and show up weird when viewing the files directly or when using something that relies on the metadata of the files to display properly (ie AudioBookShelf). Having the needed images and metadata separately as files I can add onto the audio file would be great.

back-lacking avatar Mar 12 '25 17:03 back-lacking

Hi @back-lacking, can you give some detail on what you'd like the json file to look like exactly? I'm happy to create a separate metadata directory or files on each episode download if you can give me some detail on exactly what you'd like that metadata and structure to look like. Should it be one folder in the downloads directory that is called metadata that includes all this info dumped in? Should it be a separate metadata directory for each episode etc..? The challenge here I think is that I have no idea how any number of programs a user may want to use in conjunction with Pinepods will handle this metadata directory. So if there's a general standard for how this should be built that of course would be the way to go.

Currently, we don't rely on the mp3 that's downloaded to include metadata as Pinepods itself tags and adds metadata automatically for each file/episode that's downloaded. So each podcast episode you can ensure will have metadata attached to it. That said, you're correct, a metadata directory or separate files from the tagged mp3 itself is not saved.

madeofpendletonwool avatar Mar 13 '25 12:03 madeofpendletonwool

@madeofpendletonwool for the format of the metadata file. i dont really have anything specific in mind, but i would like the json to be usable in tools like kid3 and ffmpeg. ig for reference i want something like an ffprobe like output of json.

edit: seems like the 2 tools i mentioned dont seem to support importing stuff from a json. probably something like a text file formatted like this

;FFMETADATA1
title=sample  
album=samplealbum
artist=sampleartist  
description=sample description
date=2013-07-20T08:03:13+1000
...

resultant json can probably look like this

{
  "title":"episode title",
  "track":1,
  "album":"podcast name",
  "artist":"podcast host",
  "description":"description of podcast episode",
  "date":"2025-12-05T08:50:50",
  ...
}

back-lacking avatar Mar 13 '25 13:03 back-lacking

@madeofpendletonwool as for the other questions, i would probably want the metadata files to be separate in a dedicated metadata folder. i would like to have a structure like this

podcast_folder/
    episode1.mp3
    episode2.mp3
    metadata/
        episode1.png
        episode1.json
        episode2.png
        episode2.json

Also pinepods embeds the metadata it finds into the audio file itself when downloaded? does that mean that when i view the file itself using something like kid3 or ffmpeg it will have the metadata that i saw in the pinepods ui (title, track number, cover art, etc)?

as for making tags, there is a standard called id3 2.4. as for how it should be formatted in a file, i was thinking json, but for the programs i know, they cant take it in with a format like json. the user would probably be expected to convert it to whatever format is useful for their program. for ffmpeg, afaik, it can only take in metadata from a file formatted like in my previous message. for kid3, it can take in a csv file containing the metadata

back-lacking avatar Mar 13 '25 13:03 back-lacking

@madeofpendletonwool just asking for an update on that status of this issue. is this being considered for pre 1.0 or sometime after 1.0, or is part of the 1.0 release?

back-lacking avatar Mar 24 '25 13:03 back-lacking

Hi @back-lacking, Oh yes this will be pre-1.0 for sure. With 0.7.7 finished up now I've pivoted over to trying to finish up a few things with the Android app and then I'll be moving back to working to getting some nice-to-haves implemented. So, should be in the next release or two here.

madeofpendletonwool avatar Mar 25 '25 03:03 madeofpendletonwool

Sick, great work ya doin.

back-lacking avatar Mar 25 '25 20:03 back-lacking

I think there's something to be said for keeping the exported metadata as close as possible to the source. Simply taking the entire XML node containing all information regarding the episode and storing it in an .xml file is simple and ensures all information is available. This is also the format that most podcast related tools are used to working with so it's probably the closest you're going to get to a 'standard' for this.

MaienM avatar Jun 26 '25 17:06 MaienM