3
\$\begingroup\$

Sorry, if I don't get the terminology correct. Newbie question.

I'm finally getting around organizing the family pictures (a few 10s of thousands) and I'm trying to do this in the most compatible and platform agnostic way. Main tools would be to create a decent folder structure, remove the duplicates, and apply tags. I'm currently looking at digiKam.

One thing we want to do is create "photo albums" or maybe "slide shows", which is simply a list of pictures to be displayed in a certain order. In it's simplest incarnation that would just be a list of filenames (maybe relative to a root folder) but I'm not sure whether digiKam can actually do this.

Specific questions:

  1. What's the correct term for a sorted list of picture references (file names, links, etc)
  2. Is there a standard file format for this that is supported by more than one software?
  3. What software (preferably open source) can create, display and manage this type of thing?

No need for online support, this is just for internal consumption.

Thanks!

\$\endgroup\$
3
  • 2
    \$\begingroup\$ Drawing from the field of music organization, I'd say the thing you're looking for is a "playlist". I'm not aware of any standards for such, unless again there's something from the music world that would work. \$\endgroup\$ Commented Apr 2, 2023 at 17:05
  • \$\begingroup\$ Open Document Presentation (the non-vendor locked version of power point) is the closest thing which comes to mind. \$\endgroup\$ Commented Mar 27 at 8:36
  • \$\begingroup\$ @EuriPinhollow: I don't want to copy the photos, I just want to link to them \$\endgroup\$
    – Hilmar
    Commented Mar 27 at 19:54

3 Answers 3

1
\$\begingroup\$

I don't know about a standard, photo-specific way of defining and displaying slideshows, but VLC does allow for the creation of playlists with images. The resulting m3u or xspf file (wiki, project site) defines the order of the images, and in the case of xspf can also set additional properties such as the duration of each image.

Upside is that you don't have to change (the metadata of) your images at all, the playlist is a separate file. Downside is that this might not meet your 2nd requirement, as in my tests only VLC could read playlist files with images. Apple Music for example did not work, but maybe this can work in WinAmp with the ImageAmp plugin.

Basic: Using the VLC GUI

For a basic slideshow, with a constant duration per image, you can use the VLC GUI. I have 10 dummy images I created in three separate folders:

folder with images

  1. Ensure you have VLC installed, it's freely available on Windows, Apple, Linux and Android operating systems.
    • I have tried this out on macOS 12.7.4 with VLC 3.0.20.
  2. Open VLC
  3. Ensure the playlist window is shown (Window -> Playlist or ALT+CMD+P)
  4. Drag and drop the images in the order you want them in your slideshow, e.g. I chose to show the increasing even numbers first followed by the increasing odd numbers: VLC
  5. Save the playlist as a file next to your images (File -> Save Playlist...).
  6. Open the saved playlist in VLC to play the slideshow.
    • You can set the speed of the slideshow under Preferences -> Show All -> Input/Codecs -> Demuxers -> Image -> Duration in seconds:
      VLC settings

Advanced: Creating m3u or xspf files directly

As the playlists are regular text files, you can use any tool that can output text to create it.
You can order the images by hand, or use a scripts + image processing tools to define an order automatically by for example EXIF data or dominant color of the image.

According to the m3u wiki you should be able to set the duration of each playlist item (= image in this case) in the #EXTINF key like so:

#EXTM3U
#EXTINF:1,0.png
a/0.png
#EXTINF:2,2.png
a/2.png
#EXTINF:3,4.png
a/4.png
...
#EXTINF:9,7.png
c/7.png
#EXTINF:10,9.png
c/9.png

Unfortunately, VLC did not pick up on that, it simply displayed the image in accordance with the "Duration in seconds" earlier.

Using the xspf file I did manage to set a per-image duration. You can set the VLC option image-duration for each image and VLC actually uses that:

<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/" xmlns:vlc="http://www.videolan.org/vlc/playlist/ns/0/">
<vlc:option>image-duration=1</vlc:option>
    <trackList>
        <track>
            <title>0.png</title>
            <location>a/0.png</location>
            <extension application="http://www.videolan.org/vlc/playlist/0">
                <vlc:option>image-duration=1</vlc:option>
            </extension>
        </track>
        <track>
            <title>2.png</title>
            <location>a/2.png</location>
            <extension application="http://www.videolan.org/vlc/playlist/0">
                <vlc:option>image-duration=2</vlc:option>
            </extension>
        </track>
        ...
        <track>
            <title>7.png</title>
            <location>c/7.png</location>
            <extension application="http://www.videolan.org/vlc/playlist/0">
                <vlc:option>image-duration=9</vlc:option>
            </extension>
        </track>
        <track>
            <title>9.png</title>
            <location>c/9.png</location>
            <extension application="http://www.videolan.org/vlc/playlist/0">
                <vlc:option>image-duration=10</vlc:option>
            </extension>
        </track>
    </trackList>
</playlist>

Additionally, according to the wiki you can use absolute (file:///home/user/...), relative (a/1.png) and even external image locations (https://i.sstatic.net/wZM2dDY8.png), which I think is pretty neat.

If you decide to programmatically build xspf playlists you could start from scratch (or let AI generate it for you), but a brief search also shows pre-existing scripts such as neko-neko-nyan/vlc_playlist.py.

Here you can find:

\$\endgroup\$
0
\$\begingroup\$

Time ordered is the standard for organizing pictures files.

Tagging is the standard for organizing pictures by content and metadata.

The advantage of tagging is that a grand scheme is not required ahead of time. This means whatever tagging you do is progress and tags can be added to meet new needs later.

Removing duplicates has no archival value. The more copies the more likely a picture is to survive. And human error means there is a substantial probability of mistakenly deleting the only copy of a picture.

The best way to preserve pictures for the future is to print them and put the prints in a physical album. It has stood the test of time.

\$\endgroup\$
3
  • \$\begingroup\$ Sorry, I want the pictures to tell a story and for that I need them in a specific order which is NOT time or name. I have a good backup strategy for all my files (not just pictures) 3 separate copies in three different locations (including online). I'm not worrier about file loss \$\endgroup\$
    – Hilmar
    Commented Mar 8, 2022 at 8:35
  • \$\begingroup\$ @Hilmar your question is about organizing tens of thousands of pictures and removing duplicates. \$\endgroup\$ Commented Mar 8, 2022 at 16:27
  • \$\begingroup\$ Sorry, I just added "organizing" for context. My specific questions are spelled out in bullets 1, 2 and 3. I hope that clears this up. \$\endgroup\$
    – Hilmar
    Commented Mar 9, 2022 at 21:39
0
\$\begingroup\$

Put copies in a folder and number/rename them sequentially.

That's really the most compatible thing I can think of.

On Linux you could use symbolic links to make sure you don't need extra copies, but I don't think Windows shortcuts work like that (honored by software not just the UI).

Alternatively you could make a PDF slide show if you want eveything in one file.

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.