Jump to content

metadata folder setting?


seashell
Go to solution Solved by Luke,

Recommended Posts

seashell

Am I missing this somewhere in the settings?

I run the server in a small container image but it's storing all the metadata in /var/lib/emby.   Yes, I can check individual libraries to store it elsewhere, but livetv, people, temp, etc. is still going to /var/lib on the tiny filesystem as opposed to the (relatively) huge media storage that's available.

Yes, I can just symlink the whole /var/lib where I want it if that's what it takes.  But surely there has to be a setting for this I'm missing right?

Link to comment
Share on other sites

  • Solution

HI, what exactly is it that you would like a setting for? There is an option in advanced library settings for the servers' internal metadata folder path.

Link to comment
Share on other sites

seashell
29 minutes ago, Luke said:

HI, what exactly is it that you would like a setting for? There is an option in advanced library settings for the servers' internal metadata folder path.

That's the one I wanted.  I figured I had to be missing it somewhere.  Totally missed the whole advanced tab at the top of the libraries page.  Thank you.

Link to comment
Share on other sites

seashell

@Lukecan I copy the contents of the existing metadata folder under /var/lib to my new location in the setting and delete the old one?

Link to comment
Share on other sites

seashell

Ok, this is frustrating.  I put a new location in that setting, but now all the people images are missing.  I didn't delete the old location, but it seems it's not looking there anymore. 

So I copied the metadata to the new folder and that didn't help either.

Looking at the webpage its got new presumably UUID tags for people images.  Which apparently aren't translating to the new or the old location. 

Doing a refresh metadata on a movie, series, library, etc. doesn't refresh the people.

How do I move metadata folder to a new location and get all the pointers to update correctly?  It makes no sense for it not point to new or old.

Link to comment
Share on other sites

7 minutes ago, seashell said:

Ok, this is frustrating.  I put a new location in that setting, but now all the people images are missing.  I didn't delete the old location, but it seems it's not looking there anymore. 

So I copied the metadata to the new folder and that didn't help either.

Looking at the webpage its got new presumably UUID tags for people images.  Which apparently aren't translating to the new or the old location. 

Doing a refresh metadata on a movie, series, library, etc. doesn't refresh the people.

How do I move metadata folder to a new location and get all the pointers to update correctly?  It makes no sense for it not point to new or old.

Hi, the instructions are underneath the field in the help text. Did you follow them?

Link to comment
Share on other sites

seashell

All that does is replace blank images with old board game piece images instead.

Link to comment
Share on other sites

OK please start by spelling out exactly everything that you did.

it's also possible that you might have configured a location that the server is being denied access to:

Thanks.

Link to comment
Share on other sites

Happy2Play

Issue will always be original location will have default token path.  You provide a custom path and now that token is broken unless you manually update every entry in the database with your new custom path.  So, in reality you have to set all custom paths before ever creating a library and it can never change without some database hacking.

But blanket updating somethings are pretty easy with one line updates.

image.png.2e93eaa2dc19d9e933f2ef35166daf21.png

Link to comment
Share on other sites

seashell

I have copied all data from old to new location (cp -ra as root, yes permission are preserved.  Yes it has write access it can write there as I can manually update a person and it works.)

Run scan metadata task

Run scan media library task

Done refresh metadata at the top level of libraries with replace all images.

One library brought back people pictures.  Everything else has board game pieces.

Sigh.

Link to comment
Share on other sites

Happy2Play

@LukeDoes the metadata folder scan auto update the token to new path?

Link to comment
Share on other sites

seashell

What's the point of a %MetadataPath% token if it doesn't update to the new path?

 

Link to comment
Share on other sites

2 minutes ago, Happy2Play said:

@LukeDoes the metadata folder scan auto update the token to new path?

Everything is tokenized in the database so there's actually nothing to update.

Link to comment
Share on other sites

Happy2Play
1 minute ago, seashell said:

What's the point of a %MetadataPath% token if it doesn't update to the new path?

 

Originally copy entire Emby server folder and relocate as it is self contained.  But different platforms have different install location so it may be specific to programdata folder.

Custom locations are tokenized at all.

Link to comment
Share on other sites

Happy2Play
Just now, Luke said:

Everything is tokenized in the database so there's actually nothing to update.

But custom paths are outside of default token.

Will test again shortly as %MetadataPath% does not equal custom C:\Emby Stuff\metadata as written in database.  Unless something has changed.

Link to comment
Share on other sites

seashell

No there is not metadata/metadata.  (I checked that before writing.)  And that wouldn't explain why one library came back and not the others.

 I'm just deleting and re-adding libraries at this point. 

Link to comment
Share on other sites

Happy2Play

Retested and applying custom path and moving from default maintain token path images as custom path become the token.  Images where broken until moving every from default to custom.

My test was on Windows as all other platforms will have to ensure your permissions are correct.

 

 

Link to comment
Share on other sites

seashell

Yeah that was a complete PITA.  Had to redo all the libraries, and my TV one wouldn't scan correctly as it got hung up on a specials folder in one directory just saying error about image extraction.  So I moved that whole show out and the scan worked.  Then I added that show and emby added it without the specials, didn't even try them.  No amount of scanning would get it to show the specials folder even existed.  I finally had to move the Specials folder out of that directory, make a new one, and move the files back into it.  Then it worked fine.  Note that the thumbnails were sitting there already so I don't know why it even wanted new ones.  And no idea why the folder it had been completely happy with was now a problem. 

As a lark with "brand new" libraries I tried refreshing metadata again on the combined episode test.  It's still applying a single episode number.  (Wrong thread I suppose.)

 

Link to comment
Share on other sites

seashell

Yep it's definitely struggling with one show.  It's actually failing on the main show not the specials.  I guess it just never got to them as the timeout on the three actual parts is really really long.

Looks like if I had waited and waited and waited it would have gone on.

LOG of trying to update metadata on the first part.

System.Exception: System.Exception: Error running ffmpeg quick-extract-image for file:"/usb16t/media/tv/Shogun (1980)/Season 1/Shogun - S01E01 - Part 1.mkv" - Command: -f matroska -threads 1 -copyts -i file:"/usb16t/media/tv/Shogun (1980)/Season 1/Shogun - S01E01 - Part 1.mkv" -map 0:5 -update 1 -vf "scale=trunc(min(max(iw\,ih*dar)\,600)/2)*2:trunc(ow/dar/2)*2" -vsync 0 -f image2 "/usb16t/media/embyserver/cache/temp/52e8b87b-8938-42ad-9d06-de78e8252813.jpg"
at Emby.Server.MediaEncoding.ImageExtraction.ImageExtractorBase.RunExtraction(String inputPath, Nullable`1 container, MediaStream videoStream, Nullable`1 protocol, Nullable`1 streamIndex, Nullable`1 threedFormat, Nullable`1 startOffset, Nullable`1 interval, String targetDirectory, String targetFilename, Nullable`1 maxWidth, Boolean enableThumbnailFilter, CancellationToken cancellationToken)
at Emby.Server.MediaEncoding.ImageExtraction.ImageExtractionManager.ExtractImageInternal(ReadOnlyMemory`1 inputPath, Nullable`1 container, MediaStream videoStream, Nullable`1 streamIndex, Nullable`1 threedFormat, Nullable`1 offset, Boolean useThumbNailFilter, CancellationToken cancellationToken)
at Emby.Server.MediaEncoding.ImageExtraction.ImageExtractionManager.ExtractImage(ReadOnlyMemory`1 inputPath, Nullable`1 container, MediaStream videoStream, Nullable`1 streamIndex, MediaProtocol protocol, Boolean isAudio, Nullable`1 threedFormat, Nullable`1 offset, CancellationToken cancellationToken)
at Emby.Providers.MediaInfo.VideoImageProvider.GetImage(BaseMetadataResult itemResult, ImageType type, CancellationToken cancellationToken)
at Emby.Providers.Manager.ItemImageProvider.RefreshFromProvider(BaseMetadataResult itemResult, IDynamicImageProvider provider, Boolean providerReportsChanges, ImageRefreshOptions refreshOptions, Boolean replaceAllImages, TypeOptions savedOptions, LibraryOptions libraryOptions, List`1 downloadedImages, RefreshResult result, CancellationToken cancellationToken)
Source: Emby.Server.MediaEncoding
TargetSite: Void MoveNext()
 
END LOG
 
Here's a manual run of the command and it's output.  It sits for a long time and then spits out an image that is actually the attachment of the mkv not a screen grab.
 
Oddly there was no issue playing this file though.
 

/opt/emby-server/bin/ffmpeg -f matroska -threads 1 -copyts -i file:"/usb16t/media/tv/Shogun (1980
)/Season 1/Shogun - S01E01 - Part 1.mkv" -map 0:5 -update 1 -vf "scale=trunc(min(max(iw\,ih*dar)\,600)/2)*2:trunc(ow/dar/2)*2" -vsync 0 -f image2 te
st.jpg
ffmpeg version 5.1-emby_2023_06_25 Copyright (c) 2000-2022 the FFmpeg developers and softworkz for Emby LLC
 built with gcc 10.3.0 (crosstool-NG 1.25.0)
Execution Date: 2024-02-11 16:12:42
-vsync is deprecated. Use -fps_mode
Passing a number to -vsync is deprecated, use a string argument as described in the manual.
[matroska,webm @ 0x1c48440] Could not find codec parameters for stream 4 (Subtitle: hdmv_pgs_subtitle (pgssub)): unspecified size
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
Input #0, matroska,webm, from 'file:/usb16t/media/tv/Shogun (1980)/Season 1/Shogun - S01E01 - Part 1.mkv':
 Metadata:
   title           : Shogun Part 1
   encoder         : libmakemkv v1.17.5 (1.3.10/1.5.2) x86_64-suse-linux
   creation_time   : 2023-12-29T07:39:03.000000Z
 Duration: 02:50:50.86, start: 0.000000, bitrate: 25182 kb/s
 Stream #0:0(eng): Video: h264 (High), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], Level 41, 23.98 fps, 23.98 tbr, 1k tbn
   Metadata:
     BPS-eng         : 19903467
     DURATION-eng    : 02:50:50.114875000
     NUMBER_OF_FRAMES-eng: 245757
     NUMBER_OF_BYTES-eng: 25501601106
     SOURCE_ID-eng   : 001011
 Stream #0:1(eng): Audio: dts (DTS-HD MA), 48000 Hz, 5.1(side), s32p (24 bit) (default)
   Metadata:
     title           : Surround 5.1
     BPS-eng         : 3554236
     DURATION-eng    : 02:50:50.852244444
     NUMBER_OF_FRAMES-eng: 961010
     NUMBER_OF_BYTES-eng: 4554243732
     SOURCE_ID-eng   : 001100
 Stream #0:2(eng): Audio: dts (DTS), 48000 Hz, 5.1(side), fltp, 1536 kb/s
   Metadata:
     title           : Surround 5.1
     BPS-eng         : 1508988
     DURATION-eng    : 02:50:50.852244444
     NUMBER_OF_FRAMES-eng: 961010
     NUMBER_OF_BYTES-eng: 1933552120
     SOURCE_ID-eng   : 001100
 Stream #0:3(eng): Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
   Metadata:
     title           : Stereo
     BPS-eng         : 191999
     DURATION-eng    : 02:50:50.862911111
     NUMBER_OF_FRAMES-eng: 320338
     NUMBER_OF_BYTES-eng: 246019584
     SOURCE_ID-eng   : 001101
 Stream #0:4(eng): Subtitle: hdmv_pgs_subtitle
   Metadata:
     BPS-eng         : 20779
     DURATION-eng    : 02:48:34.667062500
     NUMBER_OF_FRAMES-eng: 2664
     NUMBER_OF_BYTES-eng: 26271648
     SOURCE_ID-eng   : 001200
 Stream #0:5: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown), 640x360, 90k tbr, 90k tbn (attached pic)
   Metadata:
     filename        : cover.jpg
     mimetype        : image/jpeg
File 'test.jpg' already exists. Overwrite? [y/N] y
Stream mapping:
 Stream #0:5 -> #0:0 (mjpeg (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[swscaler @ 0x1ca3840] [swscaler @ 0x1c78480] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x1ca3840] [swscaler @ 0x1d930c0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x1ca3840] [swscaler @ 0x21c0900] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x1ca3840] [swscaler @ 0x2475d00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x1ca3840] [swscaler @ 0x24a18c0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x1ca3840] [swscaler @ 0x24bac80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x1ca3840] [swscaler @ 0x1c7bb00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x1ca3840] [swscaler @ 0x21ade80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x1ca3840] [swscaler @ 0x2463dc0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x1ca3840] [swscaler @ 0x248f540] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x1ca3840] [swscaler @ 0x24bac80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x1ca3840] [swscaler @ 0x1c7bb00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x1ca3840] [swscaler @ 0x21ade80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x1ca3840] [swscaler @ 0x2463300] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x1ca3840] [swscaler @ 0x248f540] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x1ca3840] [swscaler @ 0x24bac80] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x1ca3840] [swscaler @ 0x1c7bb00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x1ca3840] [swscaler @ 0x1d91080] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x1ca3840] [swscaler @ 0x21be700] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x1ca3840] [swscaler @ 0x24904c0] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to 'test.jpg':
 Metadata:
   title           : Shogun Part 1
   encoder         : Lavf59.27.100
 Stream #0:0: Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown, progressive), 600x336, q=2-31, 200 kb/s, 90k fps, 90k tbn (attached pic)
   Metadata:
     filename        : cover.jpg
     mimetype        : image/jpeg
     encoder         : Lavc59.37.100 mjpeg
   Side data:
     cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
elapsed=00:02:04.92 frame=    1 fps=0.0 q=6.3 Lsize=N/A time=00:00:00.00 bitrate=N/A throttle=off speed=   0x     
video:27kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
EXIT

Link to comment
Share on other sites

On 2/11/2024 at 4:48 PM, Happy2Play said:

Retested and applying custom path and moving from default maintain token path images as custom path become the token.  Images where broken until moving every from default to custom.

My test was on Windows as all other platforms will have to ensure your permissions are correct.

 

 

What do you mean by "custom path become the token"?

Link to comment
Share on other sites

Happy2Play
1 minute ago, Luke said:

What do you mean by "custom path become the token"?

New path is honored as token.

%MetadataPath%=whatever path is set to so everything must reside in set new path or it is now broken and has to be recreated.

Link to comment
Share on other sites

8 minutes ago, Happy2Play said:

New path is honored as token.

%MetadataPath%=whatever path is set to so everything must reside in set new path or it is now broken and has to be recreated.

OK. Does the help text underneath the option adequately explain this, do you think?

Link to comment
Share on other sites

Happy2Play
1 minute ago, Luke said:

OK. Does the help text underneath the option adequately explain this, do you think?

No it looks good.  Just didn't remember working previously and required manual db path updates.

  • Thanks 1
Link to comment
Share on other sites

On 2/11/2024 at 5:32 PM, seashell said:

Yeah that was a complete PITA.  Had to redo all the libraries

 

I don't think you actually had to do this.

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...