SamTV12345 / PodFetch

A sleek and efficient podcast downloader.
https://samtv12345.github.io/PodFetch
Apache License 2.0
315 stars 22 forks source link

Auto-numbering episodes #262

Open timosturm opened 11 months ago

timosturm commented 11 months ago

Clear and concise description of the problem

Some podcasts do not provide the track in the mp3 files (ID3 tag).

Suggested solution

It would be nice if this could (optionally) be set from the track position in the RSS-feed instead. Either by setting the tag, or by adding it as a prefix to the file-name: 001 - <episode-title>.

Additional context

This makes it easier to handle / organize the podcast outside of podfetch.

Example of such a podcast: https://verbrechen.podigee.io/feed/mp3 or this: http://revolutionspodcast.libsyn.com/rss/, which is really a shame as the order of episodes really does matter here.

I added a detailed description in this comment.

Validations

SamTV12345 commented 11 months ago

I see. Yeah could be quite interesting. Normally my podcasts I listen to are numbered.

SamTV12345 commented 11 months ago

What do you mean with setting by tag?

timosturm commented 11 months ago

What do you mean with setting by tag?

I mean the ID3 tags.

SamTV12345 commented 10 months ago

Where is that set? In the rss feed?

timosturm commented 10 months ago

I will try to clarify my problem and the proposed solution in this comment:

Track is set:

When following my rss link above we get the following output (I selected only a part from it):

<item>
      <title>Schattenmenschen</title>
      <itunes:title>Schattenmenschen</itunes:title>
      <description>Eine Rumänin setzt ihr Neugeborenes im Gebüsch aus. Die verzweifelte Tat führt ins Herz der deutschen Fleischindustrie, wo moderne Sklaven schuften.</description>
      <pubDate>Tue, 25 Jul 2023 13:30:00 +0000</pubDate>
      <link>https://verbrechen.podigee.io/151-new-episode</link>
      <guid isPermaLink="false">1eb8aa78f2b9077c54f0528ffc16e595</guid>
      <content:encoded>
        <![CDATA[
<p>Sie heißen "Waldmenschen", weil sie keine Bleibe haben und im Unterholz schlafen. Sie haben keine festen Arbeitszeiten und erhalten Lohn nach Gutdünken. Eine Armee ausgebeuteter Osteuropäer malocht in den niedersächsischen Fleischfabriken für einen Hungerlohn.</p>
<p>In der Folge 148 sprechen Anne Kunze, Kriminalreporterin der ZEIT, und Daniel Müller, Chefredakteur des Kriminalmagazins ZEIT-Verbrechen, über das tägliche Gemetzel in den Großschlachtereien, das von Profitgier und Ausbeutung regiert wird.</p>
<p>Der Text zur Folge (Anne Kunze: "<a href="https://www.zeit.de/2014/51/schlachthof-niedersachsen-fleischwirtschaft-ausbeutung-arbeiter">Die Schlachtordnung</a>") ist im Dezember 2014 erschienen.</p>
<p>Die neue Ausgabe des Kriminalmagazins ZEIT Verbrechen liegt am Kiosk und ist <a href="https://shop.zeit.de/die-zeit-und-magazine/zeit-verbrechen/">hier online bestellbar</a>. Sie möchten zwei Ausgaben zum Kennenlernpreis testen? Dann klicken Sie hier.</p>]]>
      </content:encoded>
      <itunes:episodeType>full</itunes:episodeType>
      <itunes:subtitle/>
      <itunes:summary>Eine Rumänin setzt ihr Neugeborenes im Gebüsch aus. Die verzweifelte Tat führt ins Herz der deutschen Fleischindustrie, wo moderne Sklaven schuften.</itunes:summary>
      <itunes:explicit>no</itunes:explicit>
      <itunes:keywords></itunes:keywords>
      <itunes:author>ZEIT ONLINE</itunes:author>
      <enclosure url="https://audio.podigee-cdn.net/1143097-m-0a16650ffc2a58bc7833bce2c8e7bc53.mp3?source=feed" type="audio/mpeg" length="68019279"/>
      <itunes:duration>4229</itunes:duration>
    </item>

We download the associated mp3-file here

Then the output of ffprobe is:

Input #0, mp3, from 'podcast_3153_verbrechen_episode_1143097_schattenmenschen.mp3':
  Metadata:
    title           : Schattenmenschen
    artist          : ZEIT ONLINE
    track           : 151
    album           : Verbrechen
    date            : 2023
    genre           : Podcast
    copyright       : ZEIT ONLINE
    encoded_by      : podigee.com
    lyrics-XXX      : AIS_AD_BREAK=314066,0; AIS_AD_BREAK_2=2393759,0
    comment         : ,0; ,0
  Duration: 01:11:26.51, start: 0.000000, bitrate: 128 kb/s
  Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 128 kb/s
  Stream #0:1: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 2250x2250, 90k tbr, 90k tbn (attached pic)
    Metadata:
      title           : Cover
      comment         : Cover (front)

Here the track is set to 151.

No track is set:

If we take a look at an older episode:

<item>
      <title>Der Albtraum des Geigers</title>
      <itunes:title>Der Albtraum des Geigers</itunes:title>
      <description>Stefan Arzberger ist auf Konzertreise in New York. Eines Abends geht er in der City spazieren. Am nächsten Morgen wird er verhaftet. Er soll versucht haben, eine Frau zu töten. Doch ihm fehlt jede Erinnerung an die Nacht. 
Die neue Ausgabe des Kriminalmagazins ZEIT Verbrechen liegt am Kiosk und ist hier online bestellbar: https://shop.zeit.de/sortiment/die-zeit-magazine/zeit-verbrechen/
In Folge 67 reden Sabine Rückert und Andreas Sentker mit der Musikkritikerin Christine Lemke-Matwey über einen Violinisten, dem ein Mordversuch vorgeworfen wird — und der nicht weiß, warum.
Hintergründe und Aktuelles aus der Redaktion erfahren Sie auch im neuen ZEIT-Verbrechen-Newsletter. Sie können sich hier anmelden: https://leserservice.zeit.de/magazine/zeit-verbrechen-newsletter?wt_zmc=disint.int.zmag.zeitde.zvnewsletter....x&amp;utm_medium=display&amp;utm_source=zeitde&amp;utm_campaign=zvnewsletter&amp;utm_content=01w0014k0103Inhdisint2007&amp;icode=01w0014k0103Inhdisint2007
Das zur Folge 67 gehörige Stück von Christine Lemke-Matwey "Comeback eines Gezeichneten" vom Dezember 2016 finde sie hier: https://www.zeit.de/2016/53/stefan-arzberger-geiger-us-haft-comeback</description>
      <pubDate>Tue, 03 Nov 2020 14:30:00 +0000</pubDate>
      <link>https://verbrechen.podigee.io/69-neue-episode</link>
      <guid isPermaLink="false">c0b5e40c0c625a86cd169a57c529c171</guid>
      <content:encoded>
        <![CDATA[
<p>Stefan Arzberger ist auf Konzertreise in New York. Eines Abends geht er in der City spazieren. Am nächsten Morgen wird er verhaftet. Er soll versucht haben, eine Frau zu töten. Doch ihm fehlt jede Erinnerung an die Nacht. </p>
<p>Die neue Ausgabe des Kriminalmagazins ZEIT Verbrechen liegt am Kiosk und ist <a href="http://https://shop.zeit.de/sortiment/die-zeit-magazine/zeit-verbrechen/">hier</a> online bestellbar.</p>
<p>In Folge 67 reden Sabine Rückert und Andreas Sentker mit der Musikkritikerin Christine Lemke-Matwey über einen Violinisten, dem ein Mordversuch vorgeworfen wird — und der nicht weiß, warum.</p>
<p>Hintergründe und Aktuelles aus der Redaktion erfahren Sie auch im neuen ZEIT-Verbrechen-Newsletter. Sie können sich <a href="http://https://leserservice.zeit.de/magazine/zeit-verbrechen-newsletter?wt_zmc=disint.int.zmag.zeitde.zvnewsletter….x&utm_medium=display&utm_source=zeitde&utm_campaign=zvnewsletter&utm_content=01w0014k0103Inhdisint2007&icode=01w0014k0103Inhdisint2007">hier</a> anmelden.</p>
<p>Das zur Folge 67 gehörige Stück von Christine Lemke-Matwey <em>Comeback eines Gezeichneten</em> vom Dezember 2016 finde sie <a href="http://https://www.zeit.de/2016/53/stefan-arzberger-geiger-us-haft-comeback">hier</a>.</p>]]>
      </content:encoded>
      <itunes:episodeType>full</itunes:episodeType>
      <itunes:subtitle></itunes:subtitle>
      <itunes:summary>lengthy summary</itunes:summary>
      <itunes:explicit>no</itunes:explicit>
      <itunes:keywords></itunes:keywords>
      <itunes:author>ZEIT ONLINE</itunes:author>
      <enclosure url="https://audio.podigee-cdn.net/313820-m-04caccfc0fb528267af78d8ef2c84f83.mp3?source=feed" type="audio/mpeg" length="32716099"/>
      <itunes:duration>2035</itunes:duration>
    </item>

Here ffprobe gives us this:

Input #0, mp3, from '313820-m-04caccfc0fb528267af78d8ef2c84f83.mp3':
  Metadata:
    title           : Der Albtraum des Geigers
    comment         : Stefan Arzberger ist auf Konzertreise in New York. Eines Abends geht er in der City spazieren. Am nächsten Morgen wird er verhaftet. Er soll versucht haben, eine Frau zu töten. Doch ihm fehlt jede Erinnerung an die Nacht. 
                    : 
                    : Die neue Ausgabe des Kriminalmagazins ZEIT Verbrechen liegt am Kiosk und ist hier online bestellbar: https://shop.zeit.de/sortiment/die-zeit-magazine/zeit-verbrechen/
                    : 
                    : In Folge 67 reden Sabine Rückert und Andreas Sentker mit der Musikkritikerin Christine Lemke-Matwey über einen Violinisten, dem ein Mordversuch vorgeworfen wird — und der nicht weiß, warum.
                    : 
                    : Hintergründe und Aktuelles aus der Redaktion erfahren Sie auch im neuen ZEIT-Verbrechen-Newsletter. Sie können sich hier anmelden: https://leserservice.zeit.de/magazine/zeit-verbrechen-newsletter?wt_zmc=disint.int.zmag.zeitde.zvnewsletter....x&utm_mediu
                    : 
                    : Das zur Folge 67 gehörige Stück von Christine Lemke-Matwey "Comeback eines Gezeichneten" vom Dezember 2016 finde sie hier: https://www.zeit.de/2016/53/stefan-arzberger-geiger-us-haft-comeback
    album           : Verbrechen
    genre           : Podcast
    copyright       : 2020 ZEIT ONLINE
    encoded_by      : auphonic.com
    artist          : ZEIT ONLINE
    lyrics-eng      : Stefan Arzberger ist auf Konzertreise in New York. Eines Abends geht er in der City spazieren. Am nächsten Morgen wird er verhaftet. Er soll versucht haben, eine Frau zu töten. Doch ihm fehlt jede Erinnerung an die Nacht. 
                    : 
                    : Die neue Ausgabe des Kriminalmagazins ZEIT Verbrechen liegt am Kiosk und ist hier online bestellbar: https://shop.zeit.de/sortiment/die-zeit-magazine/zeit-verbrechen/
                    : 
                    : In Folge 67 reden Sabine Rückert und Andreas Sentker mit der Musikkritikerin Christine Lemke-Matwey über einen Violinisten, dem ein Mordversuch vorgeworfen wird — und der nicht weiß, warum.
                    : 
                    : Hintergründe und Aktuelles aus der Redaktion erfahren Sie auch im neuen ZEIT-Verbrechen-Newsletter. Sie können sich hier anmelden: https://leserservice.zeit.de/magazine/zeit-verbrechen-newsletter?wt_zmc=disint.int.zmag.zeitde.zvnewsletter....x&utm_mediu
                    : 
                    : Das zur Folge 67 gehörige Stück von Christine Lemke-Matwey "Comeback eines Gezeichneten" vom Dezember 2016 finde sie hier: https://www.zeit.de/2016/53/stefan-arzberger-geiger-us-haft-comeback
    date            : 2020
  Duration: 00:33:54.49, start: 0.025056, bitrate: 128 kb/s
  Stream #0:0: Audio: mp3, 44100 Hz, mono, fltp, 128 kb/s
    Metadata:
      encoder         : LAME3.99r
    Side data:
      replaygain: track gain - -7.000000, track peak - unknown, album gain - unknown, album peak - unknown, 
  Stream #0:1: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 2250x2250 [SAR 1:1 DAR 1:1], 90k tbr, 90k tbn (attached pic)
    Metadata:
      comment         : Cover (front)

And we see, that the track is missing! Additionally, we cannot even use the date as a way of ordering the podcast because we only have the year available.

Thus I probose an optional way to number the podcast episodes by their order in the rss-feed. I.e., setting the track of the oldest available episode to 0 and increment from there.

PassiveLemon commented 5 months ago

I would also like this. Some podcasts have the numbers in their names but others don't so it would be nice to have the option to add the corresponding episode numbers to the name if they aren't present