damongolding / immich-kiosk

A web slideshow for Immich
GNU Affero General Public License v3.0
340 stars 14 forks source link

Load any other file type #44

Closed lobs323 closed 11 hours ago

lobs323 commented 2 weeks ago

Congrats on your newborn! I'm interested in this project to help display the millions of images I have of my little trouble.

I'm just reading the code and I saw the following

// We only want images and that are not archived or trashed if img.Type != "IMAGE"

And I was just wondering if this is a technical limitation where displaying videos or was this a personal choice because you didn't want to display videos?

If it was a personal choice, it would be nice to add options into the config such as: KIOSK_DISPLAY_VIDEOS: bool KIOSK_VIDEO_CUTOFF: bool

Where the VIDEO_CUTOFF would stop the video and move on if the video is longer than the refresh interval.

damongolding commented 2 weeks ago

Hey!

Well it's a little from column A and a little from column B.

When I started Kiosk it was a little project just for me and I didn't have any interest in videos, so it wasn't baked in from the start. Having said that, I am not against displaying videos!

As for the technically of videos. The way Kiosk works is that after an image has been "picked", it then grabs the raw image data from Immich, converts that into a data URI that browsers can read and sends that. I chose this method to avoid sending an img tag (adding more http requests) that would either require saving the image to disk or exposing an Immich endpoint, as well as avoiding possible CORS issues.

This method doesn't work for videos so I'll have to think of a way that would work. I haven't done much research into how I would achieve this yet, but I assume I would need to save the video to file and serve that.

The "cut off" idea is interesting 🤔