xemle / home-gallery

Self-hosted open-source web gallery to view your photos and videos featuring mobile-friendly, tagging and AI powered image discovery
https://home-gallery.org
MIT License
805 stars 61 forks source link

Preview sizes larger than 1920w does not work #94

Closed marianhlavac closed 10 months ago

marianhlavac commented 11 months ago

Setting previewSizes to any value higher than 1920 doesn't seem to work.. In 2023, having all of these glorious 4K monitors and Retina displays — browsing through 1080p photos seems insufficient today.

For example, configuration such as:

...
extractor:
  image:
    previewSizes: [2048, 320, 128]

Ends up resized as following:

extractor.image.preview Created 2 image previews from 1b056d9:photos:2023-08 xxxxxxxx.HEIC with sizes of 320,128


Thanks for considering this, I can also send a contribution if you lead me in the correct direction.

xemle commented 11 months ago

Setting previewSizes to any value higher than 1920 doesn't seem to work.. In 2023, having all of these glorious 4K monitors and Retina displays — browsing through 1080p photos seems insufficient today. Ends up resized as following:

Yes, true - if you have a 4k monitor. Therefore it is possible to customize the preview sizes.

The originial idea of HomeGallery is to browse all your media by your mobile phone. So the prio was more the small screen devices.

extractor.image.preview Created 2 image previews from 1b056d9:photos:2023-08 xxxxxxxx.HEIC with sizes of 320,128

HEIC files should be supported. Have you checked the trace log level to see what is going on?

I am a Linux/Android guy and do not have lot of sources for heic image. I am happy to check your files if you can send one or two sample files.

* Is there any <1920 limit, or it's just a coincidential bug?

The preview sizes are sizes for scaling down. So if your images are smaller that 2048 they are not scaled up. Use some intermediate sizes something like

...
extractor:
  image:
    previewSizes: [2048, 1920, 1280, 800, 320, 128]
* Is Home Gallery working exclusively with generated preview images? Having photo sized 4032x3024 and 2160p display, shouldn't the original be used?

At the moment original files are not yet supported and the images are served from the previews. I understand your point. The preview size of 2048 is not far away from serving the original image.

The history of the software is more to provide an overview of mine 100,000 images and serving it from a low sized USB drive and a Raspberry Pi.

The power user usecase of desktop browsing and original download had a lower prio.

Thanks for considering this, I can also send a contribution if you lead me in the correct direction.

Feel free to provide any improvements. I am happy to support/guide through the parts of the software/architecture.

marianhlavac commented 11 months ago

Thanks for the explanation.

HEIC files should be supported. Have you checked the trace log level to see what is going on?

No issue with the HEIC files, I think. I will check later if this affects only HEIC files, or all formats.

The preview sizes are sizes for scaling down. So if your images are smaller that 2048 they are not scaled up.

That's the thing, they're not. The files are 4032px wide and are not scaled down to 2048, or anything larger than 1920. Any idea what may cause this? Maybe the size of the original files are detected incorrectly?


The photos gets downscaled, just any size larger than 1920 gets omitted. 1920, 1280, 800, 320 works as expected, even for HEIC.

xemle commented 11 months ago

The preview sizes are sizes for scaling down. So if your images are smaller that 2048 they are not scaled up.

That's the thing, they're not. The files are 4032px wide and are not scaled down to 2048, or anything larger than 1920. Any idea what may cause this? Maybe the size of the original files are detected incorrectly?

The photos gets downscaled, just any size larger than 1920 gets omitted. 1920, 1280, 800, 320 works as expected, even for HEIC.

HEIC files are handled special. See https://github.com/xemle/home-gallery/blob/master/packages/extractor/src/extract/image/heic-preview.js with property maxSize. I think this causes trouble.

HEIC support was added before custom preview size and was forgotten to adapt the custom sizes. Before 1920 was static and the max value...

xemle commented 10 months ago

Custom image sizes are now honored for heif/heic files in v1.13.3.