Jump to content

Emby bundled ffprobe is reading wav file metadata incorrectly.


lxdlam
Go to solution Solved by softworkz,

Recommended Posts

lxdlam

I've been fixing my music collections' tag, and found that for some file, even I write the tag correctly, Emby is reading something confusing.

So I went to log, copied the `ffprobe` line and run manully, found that the bundled `ffprobe` is discarding the ID3 tags.

image.thumb.png.11701844b81e15bad5346768c8dc1d58.png

Then I tries the ffmpeg I installed, which version is 6.0, is correctly reading the file metadata. Is it a issue related to the version or emby's ffmpeg compile flag?

Link to comment
Share on other sites

Hello lxdlam,

** This is an auto reply **

Please wait for someone from staff support or our members to reply to you.

It's recommended to provide more info, as it explain in this thread:


Thank you.

Emby Team

Link to comment
Share on other sites

Hi there, please provide the emby server log from an example. thanks.

Link to comment
Share on other sites

lxdlam
18 hours ago, Luke said:

Hi there, please provide the emby server log from an example. thanks.

Sorry for the delayed response and here is the detail.

First, I'm running the latest Emby Server on my Macbook Pro, which may unrelated to the problem.

The metadata of the song looks like(not full):image.png.bd1a3078977d5a3dabd7518e43328036.png:

And this is how it has been analyzed by `ffprobe` in the log:

2023-05-31 02:32:32.821 Info MediaProbeManager: ProcessRun 'ffprobe' Execute: /Applications/EmbyServer.app/Contents/MacOS/ffprobe -i file:"/Users/ramen/Music/Ripped/2020 秋 M3/bce02umdl/4_-_Ruin_Us.wav" -threads 0 -v info -print_format json -show_streams -show_format
2023-05-31 02:32:32.877 Info MediaProbeManager: ProcessRun 'ffprobe' Process exited with code 0 - Succeeded

If I copy the previous command and run it manually, the output is:

$ /Applications/EmbyServer.app/Contents/MacOS/ffprobe -i file:"/Users/ramen/Music/Ripped/2020 秋 M3/bce02umdl/4_-_Ruin_Us.wav" -threads 0 -v info -print_format json -show_streams -show_format
ffprobe version 5.1-emby_2022_09_07 Copyright (c) 2007-2022 the FFmpeg developers and softworkz for Emby LLC
  built with clang version 14.0.6
{
[wav @ 0x121e05c60] Discarding ID3 tags because more suitable tags were found.
Input #0, wav, from 'file:/Users/ramen/Music/Ripped/2020 秋 M3/bce02umdl/4_-_Ruin_Us.wav':
  Metadata:
    album           : Beyond core EVANGELIX 02 Original
    artist          : DJPoyoshi
    title           : Beyond core EVANGELIX 02 (DJ MIX)
    track           : 1/18
    date            : 2020-10-25
    encoder         : FL Studio 20 (libsndfile-)
    ICNT            : XW
    IMED            : Digital Media
  Duration: 00:04:21.07, bitrate: 1413 kb/s
  Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, 2 channels, s16, 1411 kb/s
  Stream #0:1: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 640x640 [SAR 1:1 DAR 1:1], 90k tbr, 90k tbn (attached pic)
    Metadata:
      comment         : Cover (front)
    "streams": [
        {
            "index": 0,
            "codec_name": "pcm_s16le",
            "codec_long_name": "PCM signed 16-bit little-endian",
            "codec_type": "audio",
            "codec_tag_string": "[1][0][0][0]",
            "codec_tag": "0x0001",
            "sample_fmt": "s16",
            "sample_rate": "44100",
            "channels": 2,
            "bits_per_sample": 16,
            "r_frame_rate": "0/0",
            "avg_frame_rate": "0/0",
            "time_base": "1/44100",
            "duration_ts": 11513254,
            "duration": "261.071519",
            "bit_rate": "1411200",
            "disposition": {
                "default": 0,
                "dub": 0,
                "original": 0,
                "comment": 0,
                "lyrics": 0,
                "karaoke": 0,
                "forced": 0,
                "hearing_impaired": 0,
                "visual_impaired": 0,
                "clean_effects": 0,
                "attached_pic": 0,
                "timed_thumbnails": 0,
                "captions": 0,
                "descriptions": 0,
                "metadata": 0,
                "dependent": 0,
                "still_image": 0
            }
        },
        {
            "index": 1,
            "codec_name": "mjpeg",
            "codec_long_name": "Motion JPEG",
            "profile": "Baseline",
            "codec_type": "video",
            "codec_tag_string": "[0][0][0][0]",
            "codec_tag": "0x0000",
            "width": 640,
            "height": 640,
            "coded_width": 640,
            "coded_height": 640,
            "closed_captions": 0,
            "film_grain": 0,
            "has_b_frames": 0,
            "sample_aspect_ratio": "1:1",
            "display_aspect_ratio": "1:1",
            "pix_fmt": "yuvj420p",
            "level": -99,
            "color_range": "pc",
            "color_space": "bt470bg",
            "chroma_location": "center",
            "refs": 1,
            "r_frame_rate": "90000/1",
            "avg_frame_rate": "0/0",
            "time_base": "1/90000",
            "duration_ts": 23496437,
            "duration": "261.071522",
            "bits_per_raw_sample": "8",
            "disposition": {
                "default": 0,
                "dub": 0,
                "original": 0,
                "comment": 0,
                "lyrics": 0,
                "karaoke": 0,
                "forced": 0,
                "hearing_impaired": 0,
                "visual_impaired": 0,
                "clean_effects": 0,
                "attached_pic": 1,
                "timed_thumbnails": 0,
                "captions": 0,
                "descriptions": 0,
                "metadata": 0,
                "dependent": 0,
                "still_image": 0
            },
            "tags": {
                "comment": "Cover (front)"
            }
        }
    ],
    "format": {
        "filename": "file:/Users/ramen/Music/Ripped/2020 秋 M3/bce02umdl/4_-_Ruin_Us.wav",
        "nb_streams": 2,
        "nb_programs": 0,
        "format_name": "wav",
        "format_long_name": "WAV / WAVE (Waveform Audio)",
        "duration": "261.071519",
        "size": "46121938",
        "bit_rate": "1413311",
        "probe_score": 99,
        "tags": {
            "album": "Beyond core EVANGELIX 02 Original",
            "artist": "DJPoyoshi",
            "title": "Beyond core EVANGELIX 02 (DJ MIX)",
            "track": "1/18",
            "date": "2020-10-25",
            "encoder": "FL Studio 20 (libsndfile-)",
            "ICNT": "XW",
            "IMED": "Digital Media"
        }
    }
}

Using the `ffprobe` which I installed by homebrew and apply the same arguments, the result is:

$ ffprobe -i file:"/Users/ramen/Music/Ripped/2020 秋  M3/bce02umdl/4_-_Ruin_Us.wav" -threads 0 -v info -print_format json -show_streams -show_format
ffprobe version 6.0 Copyright (c) 2007-2023 the FFmpeg developers
  built with Apple clang version 14.0.0 (clang-1400.0.29.202)
  configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/6.0 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-neon
  libavutil      58.  2.100 / 58.  2.100
  libavcodec     60.  3.100 / 60.  3.100
  libavformat    60.  3.100 / 60.  3.100
  libavdevice    60.  1.100 / 60.  1.100
  libavfilter     9.  3.100 /  9.  3.100
  libswscale      7.  1.100 /  7.  1.100
  libswresample   4. 10.100 /  4. 10.100
  libpostproc    57.  1.100 / 57.  1.100
{
Input #0, wav, from 'file:/Users/ramen/Music/Ripped/2020 秋 M3/bce02umdl/4_-_Ruin_Us.wav':
  Metadata:
    IMED            : Digital Media
    album           : Beyond core EVANGELIX 02 Original
    publisher       : MEGAREX
    title           : Beyond core EVANGELIX 02 (DJ MIX)
    date            : 2020-10-25
    encoder         : FL Studio 20 (libsndfile-)
    ICNT            : XW
    artist          : DJPoyoshi
    album_artist    : Various Artists
    TDAT            : 2510
    disc            : 1
    compilation     : 1
    TMED            : Digital Media
    TORY            : 2020
    track           : 1/18
    TYER            : 2020-10-25
    artist-sort     : DJPoyoshi
    TSO2            : MEGAREX
    ARTISTS         : 4*
    SCRIPT          : Latn
    originalyear    : 2020
    Software        : FL Studio 20
    BPM (beats per minute): 175
    Encoded by      : LAME in FL Studio 20
    MusicBrainz Album Status: official
    MusicBrainz Album Type: album/compilation
    Acoustid Id     : f340fd08-5dd8-422b-bfbb-6fa877b64479
    MusicBrainz Album Artist Id: fe1d18df-ef8b-4af0-adc1-891b858bc56a
    BARCODE         : 859756278016
    MusicBrainz Album Release Country: XW
    MusicBrainz Release Group Id: 90fbc451-f000-4dee-be6d-7e9fa7b86913
    MusicBrainz Artist Id: 854183d9-c5e6-4973-a4c3-3427a1e96e53
    MusicBrainz Release Track Id: 240223ce-6470-4069-8903-cdef530fdfff
    CATALOGNUMBER   : MRX-075
    MusicBrainz Album Id: 640adad9-b8b7-4472-b426-37a813fbcebb
  Duration: 00:04:21.07, bitrate: 1413 kb/s
  Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, 2 channels, s16, 1411 kb/s
  Stream #0:1: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 640x640 [SAR 1:1 DAR 1:1], 90k tbr, 90k tbn (attached pic)
    Metadata:
      comment         : Cover (front)
    "streams": [
        {
            "index": 0,
            "codec_name": "pcm_s16le",
            "codec_long_name": "PCM signed 16-bit little-endian",
            "codec_type": "audio",
            "codec_tag_string": "[1][0][0][0]",
            "codec_tag": "0x0001",
            "sample_fmt": "s16",
            "sample_rate": "44100",
            "channels": 2,
            "bits_per_sample": 16,
            "initial_padding": 0,
            "r_frame_rate": "0/0",
            "avg_frame_rate": "0/0",
            "time_base": "1/44100",
            "duration_ts": 11513254,
            "duration": "261.071519",
            "bit_rate": "1411200",
            "disposition": {
                "default": 0,
                "dub": 0,
                "original": 0,
                "comment": 0,
                "lyrics": 0,
                "karaoke": 0,
                "forced": 0,
                "hearing_impaired": 0,
                "visual_impaired": 0,
                "clean_effects": 0,
                "attached_pic": 0,
                "timed_thumbnails": 0,
                "captions": 0,
                "descriptions": 0,
                "metadata": 0,
                "dependent": 0,
                "still_image": 0
            }
        },
        {
            "index": 1,
            "codec_name": "mjpeg",
            "codec_long_name": "Motion JPEG",
            "profile": "Baseline",
            "codec_type": "video",
            "codec_tag_string": "[0][0][0][0]",
            "codec_tag": "0x0000",
            "width": 640,
            "height": 640,
            "coded_width": 640,
            "coded_height": 640,
            "closed_captions": 0,
            "film_grain": 0,
            "has_b_frames": 0,
            "sample_aspect_ratio": "1:1",
            "display_aspect_ratio": "1:1",
            "pix_fmt": "yuvj420p",
            "level": -99,
            "color_range": "pc",
            "color_space": "bt470bg",
            "chroma_location": "center",
            "refs": 1,
            "r_frame_rate": "90000/1",
            "avg_frame_rate": "0/0",
            "time_base": "1/90000",
            "duration_ts": 23496437,
            "duration": "261.071522",
            "bits_per_raw_sample": "8",
            "disposition": {
                "default": 0,
                "dub": 0,
                "original": 0,
                "comment": 0,
                "lyrics": 0,
                "karaoke": 0,
                "forced": 0,
                "hearing_impaired": 0,
                "visual_impaired": 0,
                "clean_effects": 0,
                "attached_pic": 1,
                "timed_thumbnails": 0,
                "captions": 0,
                "descriptions": 0,
                "metadata": 0,
                "dependent": 0,
                "still_image": 0
            },
            "tags": {
                "comment": "Cover (front)"
            }
        }
    ],
    "format": {
        "filename": "file:/Users/ramen/Music/Ripped/2020 秋 M3/bce02umdl/4_-_Ruin_Us.wav",
        "nb_streams": 2,
        "nb_programs": 0,
        "format_name": "wav",
        "format_long_name": "WAV / WAVE (Waveform Audio)",
        "duration": "261.071519",
        "size": "46121938",
        "bit_rate": "1413311",
        "probe_score": 99,
        "tags": {
            "IMED": "Digital Media",
            "album": "Beyond core EVANGELIX 02 Original",
            "publisher": "MEGAREX",
            "title": "Beyond core EVANGELIX 02 (DJ MIX)",
            "date": "2020-10-25",
            "encoder": "FL Studio 20 (libsndfile-)",
            "ICNT": "XW",
            "artist": "DJPoyoshi",
            "album_artist": "Various Artists",
            "TDAT": "2510",
            "disc": "1",
            "compilation": "1",
            "TMED": "Digital Media",
            "TORY": "2020",
            "track": "1/18",
            "TYER": "2020-10-25",
            "artist-sort": "DJPoyoshi",
            "TSO2": "MEGAREX",
            "ARTISTS": "4*",
            "SCRIPT": "Latn",
            "originalyear": "2020",
            "Software": "FL Studio 20",
            "BPM (beats per minute)": "175",
            "Encoded by": "LAME in FL Studio 20",
            "MusicBrainz Album Status": "official",
            "MusicBrainz Album Type": "album/compilation",
            "Acoustid Id": "f340fd08-5dd8-422b-bfbb-6fa877b64479",
            "MusicBrainz Album Artist Id": "fe1d18df-ef8b-4af0-adc1-891b858bc56a",
            "BARCODE": "859756278016",
            "MusicBrainz Album Release Country": "XW",
            "MusicBrainz Release Group Id": "90fbc451-f000-4dee-be6d-7e9fa7b86913",
            "MusicBrainz Artist Id": "854183d9-c5e6-4973-a4c3-3427a1e96e53",
            "MusicBrainz Release Track Id": "240223ce-6470-4069-8903-cdef530fdfff",
            "CATALOGNUMBER": "MRX-075",
            "MusicBrainz Album Id": "640adad9-b8b7-4472-b426-37a813fbcebb"
        }
    }
}

 

Link to comment
Share on other sites

  • Solution

Thanks for the file. This seems to be about something that has been changed in ffmpeg 6.

A regular ffmpeg 5.1 build gives the same output as ours:

ffmpeg-5.1.2-full_build\bin\ffprobe.exe" "C:\Users\admin\Downloads\4_-_Ruin_Us.wav.a587c656300c2119d8acd266ce5ddede.wav" -threads 0 -v info -print_format json -show_streams -show_format
ffprobe version 5.1.2-full_build-www.gyan.dev Copyright (c) 2007-2022 the FFmpeg developers
  built with gcc 12.1.0 (Rev2, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100
  libpostproc    56.  6.100 / 56.  6.100
{
[wav @ 000001f0d14209c0] Discarding ID3 tags because more suitable tags were found.
Input #0, wav, from 'C:\Users\admin\Downloads\4_-_Ruin_Us.wav.a587c656300c2119d8acd266ce5ddede.wav':
  Metadata:
    album           : Beyond core EVANGELIX 02 Original
    artist          : DJPoyoshi
    title           : Beyond core EVANGELIX 02 (DJ MIX)
    track           : 1/18
    date            : 2020-10-25
    encoder         : FL Studio 20 (libsndfile-)
    ICNT            : XW
    IMED            : Digital Media
  Duration: 00:04:21.07, bitrate: 1413 kb/s
  Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, 2 channels, s16, 1411 kb/s
  Stream #0:1: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 640x640 [SAR 1:1 DAR 1:1], 90k tbr, 90k tbn (attached pic)
    Metadata:
      comment         : Cover (front)
    "streams": [
        {
            "index": 0,
            "codec_name": "pcm_s16le",
            "codec_long_name": "PCM signed 16-bit little-endian",
            "codec_type": "audio",
            "codec_tag_string": "[1][0][0][0]",
            "codec_tag": "0x0001",
            "sample_fmt": "s16",
            "sample_rate": "44100",
            "channels": 2,
            "bits_per_sample": 16,
            "r_frame_rate": "0/0",
            "avg_frame_rate": "0/0",
            "time_base": "1/44100",
            "duration_ts": 11513254,
            "duration": "261.071519",
            "bit_rate": "1411200",
            "disposition": {
                "default": 0,
                "dub": 0,
                "original": 0,
                "comment": 0,
                "lyrics": 0,
                "karaoke": 0,
                "forced": 0,
                "hearing_impaired": 0,
                "visual_impaired": 0,
                "clean_effects": 0,
                "attached_pic": 0,
                "timed_thumbnails": 0,
                "captions": 0,
                "descriptions": 0,
                "metadata": 0,
                "dependent": 0,
                "still_image": 0
            }
        },
        {
            "index": 1,
            "codec_name": "mjpeg",
            "codec_long_name": "Motion JPEG",
            "profile": "Baseline",
            "codec_type": "video",
            "codec_tag_string": "[0][0][0][0]",
            "codec_tag": "0x0000",
            "width": 640,
            "height": 640,
            "coded_width": 640,
            "coded_height": 640,
            "closed_captions": 0,
            "film_grain": 0,
            "has_b_frames": 0,
            "sample_aspect_ratio": "1:1",
            "display_aspect_ratio": "1:1",
            "pix_fmt": "yuvj420p",
            "level": -99,
            "color_range": "pc",
            "color_space": "bt470bg",
            "chroma_location": "center",
            "refs": 1,
            "r_frame_rate": "90000/1",
            "avg_frame_rate": "0/0",
            "time_base": "1/90000",
            "duration_ts": 23496437,
            "duration": "261.071522",
            "bits_per_raw_sample": "8",
            "disposition": {
                "default": 0,
                "dub": 0,
                "original": 0,
                "comment": 0,
                "lyrics": 0,
                "karaoke": 0,
                "forced": 0,
                "hearing_impaired": 0,
                "visual_impaired": 0,
                "clean_effects": 0,
                "attached_pic": 1,
                "timed_thumbnails": 0,
                "captions": 0,
                "descriptions": 0,
                "metadata": 0,
                "dependent": 0,
                "still_image": 0
            },
            "tags": {
                "comment": "Cover (front)"
            }
        }
    ],
    "format": {
        "filename": "C:\\Users\\admin\\Downloads\\4_-_Ruin_Us.wav.a587c656300c2119d8acd266ce5ddede.wav",
        "nb_streams": 2,
        "nb_programs": 0,
        "format_name": "wav",
        "format_long_name": "WAV / WAVE (Waveform Audio)",
        "duration": "261.071519",
        "size": "46121938",
        "bit_rate": "1413311",
        "probe_score": 99,
        "tags": {
            "album": "Beyond core EVANGELIX 02 Original",
            "artist": "DJPoyoshi",
            "title": "Beyond core EVANGELIX 02 (DJ MIX)",
            "track": "1/18",
            "date": "2020-10-25",
            "encoder": "FL Studio 20 (libsndfile-)",
            "ICNT": "XW",
            "IMED": "Digital Media"
        }
    }
}

 

We will update to ffmpeg 6 in a while, but only after the 4.8 release of Emby server.

Thanks

Link to comment
Share on other sites

2 hours ago, lxdlam said:

Nicely done!

FYI, after some extensive search, I've found the original issue https://trac.ffmpeg.org/ticket/9848, it's surely a ffprobe failure and should be fixed in 6.0.

Thanks a lot for the pointer. Given that it's a really tiny fix, we can see whether we can backport this into our current ffmpeg.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...