脚本按方向将 MP4(和其他)视频排序到纵向和横向文件夹 >>> 不可能?

脚本按方向将 MP4(和其他)视频排序到纵向和横向文件夹 >>> 不可能?

过去几个月,我一直在努力处理 14TB + 视频库,尝试对其进行重复数据删除,并将其整理到可用于生产的文件夹结构中。

我一生都无法找到(花了整整三天时间没有睡觉)一个脚本,可以根据视频文件的尺寸将其文件夹排序为纵向和横向文件夹。

我发现最接近的是这个 -

#!/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"

通过根据尺寸将它们分类到文件夹中,我可以更接近答案,但这不是我想要实现的。

另外,我发现这个使用 Imagemagick 的图像脚本(我通过 Homebrew 安装)确实会读取文件,尽管它会将它们全部移动到画像目录中。我假设从视频文件中提取高度和宽度的变量可能不同?

#/bin/zsh
mkdir -p portraits
mkdir -p landscapes
for f in ./*.mp4
do
  r=$(identify -format '%[fx:(h/w)]' "$f")
  if [[ r < 1.0 ]] 
  then
      echo "Portrait detected."
  mv "$f" ./portraits/
  elif  [[ r > 1.0 ]]
  then
  echo "Landscape detected."
      mv "$f" ./landscapes/
  fi
done

如果有人有其他解决方案,可以使用文件夹操作或自动程序或任何其他方法。我正在运行带有终端的 Mac OS。

相关内容