[PR #6262] [MERGED] Prefer original date when getting premiere date from ffprobe #10883

Closed
opened 2026-02-07 06:28:29 +03:00 by OVERLORD · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/jellyfin/jellyfin/pull/6262
Author: @heyhippari
Created: 7/5/2021
Status: Merged
Merged: 8/11/2021
Merged by: @cvium

Base: masterHead: scanner-prefer-original-date


📝 Commits (5)

  • 534e088 Prefer original data when getting premiere date from ffprobe
  • ba609ae Attempt to parse YYYY format dates in GetDictionaryDateTime
  • 924dfe1 Add test for year-only parsing for FFProbe
  • 6c2cbaf Update MediaBrowser.MediaEncoding/Probing/FFProbeHelpers.cs
  • 8d5b870 Update tests/Jellyfin.MediaEncoding.Tests/Probing/ProbeResultNormalizerTests.cs

📊 Changes

4 files changed (+170 additions, -1 deletions)

View changed files

📝 MediaBrowser.MediaEncoding/Probing/FFProbeHelpers.cs (+2 -1)
📝 MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs (+1 -0)
📝 tests/Jellyfin.MediaEncoding.Tests/Probing/ProbeResultNormalizerTests.cs (+20 -0)
tests/Jellyfin.MediaEncoding.Tests/Test Data/Probing/music_year_only_metadata.json (+147 -0)

📄 Description

Changes

This makes Jellyfin play a bit nicer with music tagging software like Beets and MusicBrainz Picard, by making the scanner prefer the "ORIGINALDATE" tag over the other date tags in the files.

This allows users to keep proper release information in their metadata, yet have the albums properly sorted by their actual premiere date everywhere.

Ideally, at some point, we'll support multiple versions for music albums, in order to show the information specific to the release.

Screenshots

Before
image
After
image
image

FFProbe Logs

ffprobe version n4.4 Copyright (c) 2007-2021 the FFmpeg developers
  built with gcc 10.2.0 (GCC)
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librav1e --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-shared --enable-version3
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
Input #0, flac, from '02 Windy Lady.flac':
  Metadata:
    ACOUSTID_FINGERPRINT: AQADtJunLFmiBH2Fpjqu49zx8EPKp4XUy0F8PEet5zguSQvCPME9XErW484kQWvlaEKYCzk-HWHcBn018HqCf_gRTjfENEU95UH-BD9-cBSPJ8tTWKOMf3ijGO2FJpS0EL-CPymK9IduBc9Y9ANjiLGE7sVJ_AmOsFFy2DXqKTn-DHfAi6gSMgjDiEi-NriOF81RWhmeJNlRUU_wD_m6Qoy6FJnjo9yVINdxT1B0uM8Q7rhVBTmh5cmK8JmD2_j
    ACOUSTID_ID     : 6ea31fc4-ef97-4c3b-85eb-1d8c5ee15081
    ALBUM           : CIRCUS TOWN
    ALBUM ARTIST    : Tatsuro Yamashita
    album_artist    : Tatsuro Yamashita
    ALBUMARTIST_CREDIT: Tatsuro Yamashita
    ALBUMARTISTSORT : Yamashita, Tatsuro
    RELEASESTATUS   : Official
    MUSICBRAINZ_ALBUMSTATUS: Official
    RELEASETYPE     : album
    MUSICBRAINZ_ALBUMTYPE: album
    ARTIST          : Tatsuro Yamashita
    ARTIST_CREDIT   : Tatsuro Yamashita
    ARTISTSORT      : Yamashita, Tatsuro
    BPM             : 0
    CATALOGNUMBER   : B25D-13004
    COMMENT         : 1989 CD [B25D-13004, DR12]
    COMPILATION     : 0
    COMPOSER        : 山下達郎
    RELEASECOUNTRY  : JP
    DATE            : 1989-11-21
    YEAR            : 1989
    disc            : 1
    DISCTOTAL       : 1
    DISCC           : 1
    TOTALDISCS      : 1
    GENRE           : J-Pop, Pop, Soul, Funk
    LABEL           : RCA
    PUBLISHER       : RCA
    LANGUAGE        : jpn
    MUSICBRAINZ_ALBUMARTISTID: ad62391d-ab7e-4ac9-9ce8-3704bc6746bb
    MUSICBRAINZ_ALBUMID: 497c1a55-ee3a-4aa6-9463-5d75880174ff
    MUSICBRAINZ_ARTISTID: ad62391d-ab7e-4ac9-9ce8-3704bc6746bb
    MUSICBRAINZ_RELEASEGROUPID: 14f0ae76-256a-4c19-adae-245958d47f27
    MUSICBRAINZ_RELEASETRACKID: 2f624919-5708-487f-b5c6-78de7cc0f0a7
    MUSICBRAINZ_TRACKID: aa40106d-9392-4768-887f-6dbf7e59f6b1
    MEDIA           : CD
    ORIGINALDATE    : 1976-10-25
    REPLAYGAIN_ALBUM_GAIN: -4.36 dB
    REPLAYGAIN_ALBUM_PEAK: 1.000000
    REPLAYGAIN_TRACK_GAIN: -5.65 dB
    REPLAYGAIN_TRACK_PEAK: 1.000000
    SCRIPT          : Jpan
    TITLE           : Windy Lady
    track           : 2
    TRACKTOTAL      : 8
    TRACKC          : 8
    TOTALTRACKS     : 8
  Duration: 00:05:44.96, start: 0.000000, bitrate: 850 kb/s
  Stream #0:0: Audio: flac, 44100 Hz, stereo, s16
    Side data:
      replaygain: track gain - -5.650000, track peak - 0.000023, album gain - -4.360000, album peak - 0.000023, 
  Stream #0:1: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 1500x1500 [SAR 1:1 DAR 1:1], 90k tbr, 90k tbn, 90k tbc (attached pic)
    Metadata:
      comment         : Cover (front)

Issues

Haven't found any from a quick search.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/jellyfin/jellyfin/pull/6262 **Author:** [@heyhippari](https://github.com/heyhippari) **Created:** 7/5/2021 **Status:** ✅ Merged **Merged:** 8/11/2021 **Merged by:** [@cvium](https://github.com/cvium) **Base:** `master` ← **Head:** `scanner-prefer-original-date` --- ### 📝 Commits (5) - [`534e088`](https://github.com/jellyfin/jellyfin/commit/534e088105641d848b5469315e27b97c6aef4aca) Prefer original data when getting premiere date from ffprobe - [`ba609ae`](https://github.com/jellyfin/jellyfin/commit/ba609aefea484b0c10a5cf366f00a252f0402243) Attempt to parse YYYY format dates in GetDictionaryDateTime - [`924dfe1`](https://github.com/jellyfin/jellyfin/commit/924dfe1db0127c5494a874bae21983e59c3338a2) Add test for year-only parsing for FFProbe - [`6c2cbaf`](https://github.com/jellyfin/jellyfin/commit/6c2cbafee056b425291f4e762303e5399c9fb558) Update MediaBrowser.MediaEncoding/Probing/FFProbeHelpers.cs - [`8d5b870`](https://github.com/jellyfin/jellyfin/commit/8d5b87025b9e34eaa3d67c97d4a8a380b52c6830) Update tests/Jellyfin.MediaEncoding.Tests/Probing/ProbeResultNormalizerTests.cs ### 📊 Changes **4 files changed** (+170 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `MediaBrowser.MediaEncoding/Probing/FFProbeHelpers.cs` (+2 -1) 📝 `MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs` (+1 -0) 📝 `tests/Jellyfin.MediaEncoding.Tests/Probing/ProbeResultNormalizerTests.cs` (+20 -0) ➕ `tests/Jellyfin.MediaEncoding.Tests/Test Data/Probing/music_year_only_metadata.json` (+147 -0) </details> ### 📄 Description **Changes** This makes Jellyfin play a bit nicer with music tagging software like Beets and MusicBrainz Picard, by making the scanner prefer the "ORIGINALDATE" tag over the other date tags in the files. This allows users to keep proper release information in their metadata, yet have the albums properly sorted by their actual premiere date everywhere. Ideally, at some point, we'll support multiple versions for music albums, in order to show the information specific to the release. **Screenshots** Before ![image](https://user-images.githubusercontent.com/19396809/124406382-82159f80-dd41-11eb-9de8-8da5512c30e0.png) After ![image](https://user-images.githubusercontent.com/19396809/124406396-89d54400-dd41-11eb-8d2b-e572195bd910.png) ![image](https://user-images.githubusercontent.com/19396809/124406409-935eac00-dd41-11eb-8b1a-e770e71b5ace.png) **FFProbe Logs** ``` ffprobe version n4.4 Copyright (c) 2007-2021 the FFmpeg developers built with gcc 10.2.0 (GCC) configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librav1e --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-shared --enable-version3 libavutil 56. 70.100 / 56. 70.100 libavcodec 58.134.100 / 58.134.100 libavformat 58. 76.100 / 58. 76.100 libavdevice 58. 13.100 / 58. 13.100 libavfilter 7.110.100 / 7.110.100 libswscale 5. 9.100 / 5. 9.100 libswresample 3. 9.100 / 3. 9.100 libpostproc 55. 9.100 / 55. 9.100 Input #0, flac, from '02 Windy Lady.flac': Metadata: ACOUSTID_FINGERPRINT: AQADtJunLFmiBH2Fpjqu49zx8EPKp4XUy0F8PEet5zguSQvCPME9XErW484kQWvlaEKYCzk-HWHcBn018HqCf_gRTjfENEU95UH-BD9-cBSPJ8tTWKOMf3ijGO2FJpS0EL-CPymK9IduBc9Y9ANjiLGE7sVJ_AmOsFFy2DXqKTn-DHfAi6gSMgjDiEi-NriOF81RWhmeJNlRUU_wD_m6Qoy6FJnjo9yVINdxT1B0uM8Q7rhVBTmh5cmK8JmD2_j ACOUSTID_ID : 6ea31fc4-ef97-4c3b-85eb-1d8c5ee15081 ALBUM : CIRCUS TOWN ALBUM ARTIST : Tatsuro Yamashita album_artist : Tatsuro Yamashita ALBUMARTIST_CREDIT: Tatsuro Yamashita ALBUMARTISTSORT : Yamashita, Tatsuro RELEASESTATUS : Official MUSICBRAINZ_ALBUMSTATUS: Official RELEASETYPE : album MUSICBRAINZ_ALBUMTYPE: album ARTIST : Tatsuro Yamashita ARTIST_CREDIT : Tatsuro Yamashita ARTISTSORT : Yamashita, Tatsuro BPM : 0 CATALOGNUMBER : B25D-13004 COMMENT : 1989 CD [B25D-13004, DR12] COMPILATION : 0 COMPOSER : 山下達郎 RELEASECOUNTRY : JP DATE : 1989-11-21 YEAR : 1989 disc : 1 DISCTOTAL : 1 DISCC : 1 TOTALDISCS : 1 GENRE : J-Pop, Pop, Soul, Funk LABEL : RCA PUBLISHER : RCA LANGUAGE : jpn MUSICBRAINZ_ALBUMARTISTID: ad62391d-ab7e-4ac9-9ce8-3704bc6746bb MUSICBRAINZ_ALBUMID: 497c1a55-ee3a-4aa6-9463-5d75880174ff MUSICBRAINZ_ARTISTID: ad62391d-ab7e-4ac9-9ce8-3704bc6746bb MUSICBRAINZ_RELEASEGROUPID: 14f0ae76-256a-4c19-adae-245958d47f27 MUSICBRAINZ_RELEASETRACKID: 2f624919-5708-487f-b5c6-78de7cc0f0a7 MUSICBRAINZ_TRACKID: aa40106d-9392-4768-887f-6dbf7e59f6b1 MEDIA : CD ORIGINALDATE : 1976-10-25 REPLAYGAIN_ALBUM_GAIN: -4.36 dB REPLAYGAIN_ALBUM_PEAK: 1.000000 REPLAYGAIN_TRACK_GAIN: -5.65 dB REPLAYGAIN_TRACK_PEAK: 1.000000 SCRIPT : Jpan TITLE : Windy Lady track : 2 TRACKTOTAL : 8 TRACKC : 8 TOTALTRACKS : 8 Duration: 00:05:44.96, start: 0.000000, bitrate: 850 kb/s Stream #0:0: Audio: flac, 44100 Hz, stereo, s16 Side data: replaygain: track gain - -5.650000, track peak - 0.000023, album gain - -4.360000, album peak - 0.000023, Stream #0:1: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 1500x1500 [SAR 1:1 DAR 1:1], 90k tbr, 90k tbn, 90k tbc (attached pic) Metadata: comment : Cover (front) ``` **Issues** Haven't found any from a quick search. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
OVERLORD added the pull-request label 2026-02-07 06:28:29 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#10883