PhotoStructure has a number of filters that all must pass for a photo or video to be added to your library.
Directory filters #
PhotoStructure doesn’t import any files from system directories, hidden directories, or NoMedia directories.
File filters #
The file must be a JPEG, PNG, digital camera raw format, or a video format that FFmpeg can decode.
If the JPEG is found to be corrupt it will be skipped. This may be due to bitrot or file truncation due to a failed backup.
If the image is too small, it will be skipped. The default minimum dimension is 480 pixels for images, and 240 pixels for videos. The default minimum filesize is 50 KB. These defaults can be changed with the
minAssetFileSizeByteslibrary settings, or the
If a file is too large, it will be skipped. This mostly applies to videos, and prevents your NAS from filling up with transcoded versions of that 45 minute piano recital that you’ll never watch. This defaults to 500 MB, and can be changed with the
Images must have a make and model in their metadata. This filter prevents screenshots, downsampled photos, and web cache images from being imported into your library. This filter can be disabled by setting
falsein your library settings, or setting the
PS_REQUIRE_MAKE_MODELenvironment variable to
PhotoStructure will refuse to walk into directories that have the same path element more than 7 times. This helps avoid getting stuck in infinite filesystem loops caused by symbolic links.
PhotoStructure doesn’t currently support HEIC/HEIF format out of the box due to licensing. (Please tell Apple not to use a closed, patent-encumbered format for something as important as your photos!)
If you’re willing to use PhotoStructure for Servers, though, you can compile that support for yourself. This method does require some level of comfort with the terminal.
Why didn’t an individual file get imported? #
As of July 2020, answering this question requires some amount of comfort with the terminal, using PhotoStructure’s command-line tools.