按宽度移动视频文件到目录

按宽度移动视频文件到目录

我正在尝试按视频文件的宽度将视频文件移动到目录。

例如我有

./xxx/pr0n.mkv
./pokemon.mkv

运行脚本后

./xxx/1920/pr0n.mkv
./1920/pokemon.mkv

如果我再次运行脚本,则不会创建另一个宽度目录。

  • 匹配常见的视频扩展名
  • 不是如果文件的父目录仅为数字则匹配(因为这是宽度)

到目前为止我已经想出了这个,但它不起作用:

find . -type f \( -iname "*.mkv" -o -iname "*.avi" -o -iname "*.mov" -o -iname "*.mpg" -o -iname "*.mpeg" -o -iname "*.wmv" -o -iname "*.mp4" \) -a -regex '.*\/[^0-9]+\/\.*$' -exec bash -c 'echo "Processing {} .."; WIDTH=$(mediainfo "--Inform=Video;%Width%" "{}") && DIR=$(dirname "{}") && mkdir -p "$DIR/$WIDTH" && mv "{}" "$DIR/$WIDTH"' \; 

答案1

我发现你的问题:使用ffmpeg -i YOUR_MOVIE_FILES -sample_fmts你得到长数据。

您必须使用 truegrep来检索分辨率。在此数据中您可以找到解决方案。

ffmpeg -i YOUR_MOVIE_FILES -sample_fmts |egrep blahblah

或使用awk script.

相关内容