cast not picked up from mp4 xml metadata #6553

Open
opened 2026-02-07 03:49:09 +03:00 by OVERLORD · 3 comments
Owner

Originally created by @foss- on GitHub (Dec 7, 2024).

Description of the bug

Cast info from metadata xml file is not picked up by Jellyfin.

The file is a download from youtube. The metadata was added with Subler app for macOS.

ffprobe

ffprobe version 7.1 Copyright (c) 2007-2024 the FFmpeg developers
built with Apple clang version 16.0.0 (clang-1600.0.26.4)
configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/7.1_3 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags='-Wl,-ld_classic' --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libharfbuzz --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libssh --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-audiotoolbox --enable-neon
libavutil 59. 39.100 / 59. 39.100
libavcodec 61. 19.100 / 61. 19.100
libavformat 61. 7.100 / 61. 7.100
libavdevice 61. 3.100 / 61. 3.100
libavfilter 10. 4.100 / 10. 4.100
libswscale 8. 3.100 / 8. 3.100
libswresample 5. 3.100 / 5. 3.100
libpostproc 58. 3.100 / 58. 3.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x1427064b0] stream 0, timescale not set
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'no_cast.mp4':
Metadata:
major_brand : mp42
minor_version : 512
compatible_brands: isomiso2avc1mp41
title : Young Jazz Giants - Newport a Paris
artist : Young Jazz Giants
comment : https://www.youtube.com/watch?v=DwHcotVfoeA
genre : Jazz
date : 1973
description : 'Young Jazz Giants' at Newport a Paris Festival 1973.
encoder : Lavf58.39.101
iTunMOVI : <?xml version="1.0" encoding="UTF-8"?>
:
:
:
: cast
:
:
: name
: Joe Henderson
:
:
: name
: Jimmy Owens
:
:
: name
: Gary Burton
:
:
: name
: Cedar Walton
:
:
: name
: Larry Ridley
:
:
: name
: Roy Haynes
:
:
:
:
:
Duration: 00:27:24.07, start: 0.000000, bitrate: 777 kb/s
Stream #0:00x1: Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 640x480 [SAR 1:1 DAR 4:3], 643 kb/s, 25 fps, 25 tbr, 12800 tbn (default)
Metadata:
handler_name : ISO Media file produced by Google Inc.
vendor_id : [0][0][0][0]
Stream #0:10x2: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
handler_name : ISO Media file produced by Google Inc.
vendor_id : [0][0][0][0]
Stream #0:2[0x0]: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 480x360 [SAR 1:1 DAR 4:3], 90k tbr, 90k tbn (attached pic)

The file is here (30 days):
https://upload.disroot.org/r/bGGAXTv5#FRzAyyKu4SBvFc6+MVXvrHwC+OUHoUINhCoRQsL/bxs=

Reproduction steps

Add file to library folder, wait for jellyfin to pick up on it.

What is the current bug behavior?

A few elements do show:

  • Artwort or cover
  • Description

Other info is missing:

  • Cast
  • Genre

What is the expected correct behavior?

Not sure what's missing for Jellyfin to pick up on all of the metadata information. Would be great to have Cast and Genre show as well.

Jellyfin Server version

10.10.0+

Specify commit id

No response

Specify unstable release number

No response

Specify version number

No response

Specify the build version

10.10.3

Environment

- OS: Synology NAS, Docker Setup
- Browser: Firefox 133
- FFmpeg Version: 7.0.2-1

Jellyfin logs

[2024-12-07 00:25:14.626 +01:00] [INF] [55] Emby.Server.Implementations.IO.LibraryMonitor: "Young Jazz Giants - Newport a Paris" ("/drive/folder/Young Jazz Giants - Newport a Paris (1973) (480p H264 128kbit AAC).mp4") will be refreshed.
[2024-12-07 00:25:23.336 +01:00] [INF] [55] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Starting "/usr/lib/jellyfin-ffmpeg/ffprobe" with args "-analyzeduration 200M -probesize 1G -i file:\"/drive/folder/Young Jazz Giants - Newport a Paris (1973) (480p H264 128kbit AAC).mp4\" -threads 0 -v warning -print_format json -show_streams -show_chapters -show_format"

FFmpeg logs


Client / Browser logs

No response

Relevant screenshots or videos

Image

Additional information

No response

Originally created by @foss- on GitHub (Dec 7, 2024). ### Description of the bug Cast info from metadata xml file is not picked up by Jellyfin. The file is a download from youtube. The metadata was added with Subler app for macOS. <details> <summary>ffprobe</summary> ffprobe version 7.1 Copyright (c) 2007-2024 the FFmpeg developers built with Apple clang version 16.0.0 (clang-1600.0.26.4) configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/7.1_3 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags='-Wl,-ld_classic' --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libharfbuzz --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libssh --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-audiotoolbox --enable-neon libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.100 / 61. 19.100 libavformat 61. 7.100 / 61. 7.100 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 4.100 / 10. 4.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1427064b0] stream 0, timescale not set Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'no_cast.mp4': Metadata: major_brand : mp42 minor_version : 512 compatible_brands: isomiso2avc1mp41 title : Young Jazz Giants - Newport a Paris artist : Young Jazz Giants comment : https://www.youtube.com/watch?v=DwHcotVfoeA genre : Jazz date : 1973 description : 'Young Jazz Giants' at Newport a Paris Festival 1973. encoder : Lavf58.39.101 iTunMOVI : <?xml version="1.0" encoding="UTF-8"?> : <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> : <plist version="1.0"> : <dict> : <key>cast</key> : <array> : <dict> : <key>name</key> : <string>Joe Henderson</string> : </dict> : <dict> : <key>name</key> : <string>Jimmy Owens</string> : </dict> : <dict> : <key>name</key> : <string>Gary Burton</string> : </dict> : <dict> : <key>name</key> : <string>Cedar Walton</string> : </dict> : <dict> : <key>name</key> : <string>Larry Ridley</string> : </dict> : <dict> : <key>name</key> : <string>Roy Haynes</string> : </dict> : </array> : </dict> : </plist> : Duration: 00:27:24.07, start: 0.000000, bitrate: 777 kb/s Stream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 640x480 [SAR 1:1 DAR 4:3], 643 kb/s, 25 fps, 25 tbr, 12800 tbn (default) Metadata: handler_name : ISO Media file produced by Google Inc. vendor_id : [0][0][0][0] Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default) Metadata: handler_name : ISO Media file produced by Google Inc. vendor_id : [0][0][0][0] Stream #0:2[0x0]: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 480x360 [SAR 1:1 DAR 4:3], 90k tbr, 90k tbn (attached pic) </details> The file is here (30 days): https://upload.disroot.org/r/bGGAXTv5#FRzAyyKu4SBvFc6+MVXvrHwC+OUHoUINhCoRQsL/bxs= ### Reproduction steps Add file to library folder, wait for jellyfin to pick up on it. ### What is the current _bug_ behavior? A few elements do show: - Artwort or cover - Description Other info is missing: - Cast - Genre ### What is the expected _correct_ behavior? Not sure what's missing for Jellyfin to pick up on all of the metadata information. Would be great to have Cast and Genre show as well. ### Jellyfin Server version 10.10.0+ ### Specify commit id _No response_ ### Specify unstable release number _No response_ ### Specify version number _No response_ ### Specify the build version 10.10.3 ### Environment ```markdown - OS: Synology NAS, Docker Setup - Browser: Firefox 133 - FFmpeg Version: 7.0.2-1 ``` ### Jellyfin logs ```shell [2024-12-07 00:25:14.626 +01:00] [INF] [55] Emby.Server.Implementations.IO.LibraryMonitor: "Young Jazz Giants - Newport a Paris" ("/drive/folder/Young Jazz Giants - Newport a Paris (1973) (480p H264 128kbit AAC).mp4") will be refreshed. [2024-12-07 00:25:23.336 +01:00] [INF] [55] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Starting "/usr/lib/jellyfin-ffmpeg/ffprobe" with args "-analyzeduration 200M -probesize 1G -i file:\"/drive/folder/Young Jazz Giants - Newport a Paris (1973) (480p H264 128kbit AAC).mp4\" -threads 0 -v warning -print_format json -show_streams -show_chapters -show_format" ``` ### FFmpeg logs ```shell ``` ### Client / Browser logs _No response_ ### Relevant screenshots or videos ![Image](https://github.com/user-attachments/assets/4d12480e-207f-4890-9869-5f78d8b5f86d) ### Additional information _No response_
OVERLORD added the enhancement label 2026-02-07 03:49:09 +03:00
Author
Owner

@felix920506 commented on GitHub (Dec 7, 2024):

Please upload the files to GitHub directly instead of external storage sites.

@felix920506 commented on GitHub (Dec 7, 2024): Please upload the files to GitHub directly instead of external storage sites.
Author
Owner

@foss- commented on GitHub (Dec 7, 2024):

Please upload the files to GitHub directly instead of external storage sites.

ffprobe is now on github, file fails when trying to upload.

@foss- commented on GitHub (Dec 7, 2024): > Please upload the files to GitHub directly instead of external storage sites. ffprobe is now on github, file fails when trying to upload.
Author
Owner

@gnattu commented on GitHub (Dec 8, 2024):

Jellyfin currently does not implement the functionality to extract all metadata from mp4 xml

@gnattu commented on GitHub (Dec 8, 2024): Jellyfin currently does not implement the functionality to extract all metadata from mp4 xml
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#6553