IOS – How to filter and sort videos by orientation (portrait or landscape)

applescriptiosiphonemacosvideo

I'm attempting to filter and sort all videos in a local folder based on their orientation. I can't find anything in AppleScript, macOS file search, or video metadata that will make this easy. My guess is that I'll have to grab the video's height and width, and then generate a folder for each distinct combination. I'll then have to eyeball which sizes are portrait and landscape.

My goal:

  1. Export all original videos from iCloud Photos (~400GB) and store them locally
  2. Filter and sort them by portrait or landscape orientation
  3. Remove videos that meet further specified criteria (under 15 seconds, duplicates, etc).

Best Answer

After testing @CJK's answer, here's what I came up:

#!/bin/bash
shopt -s nullglob

for f in *.{mp4,MP4,mov,MOV,m4v,M4V}
    do 
        height=`mdls -raw -name  kMDItemPixelHeight "$f"`
        width=`mdls -raw -name  kMDItemPixelWidth "$f"`
        mkdir -p "${height}x${width}"
        mv "$f" "${height}x${width}"/
        
        printf "File: $f\n"     
        printf "> Dimensions: $height x $width \n\n"
    done

printf "All done! \n"

This will grab the height and width of each video type in a specific folder, and then sort it into its appropriate folder. With a bit more scripting, you could then sort the folders into portrait/landscape folders by comparing height vs. width.