递归查找(使用 ffprobe)所有低质量视频(240p 和 480p)

Jos*_*ine 5 command-line video smartphone ffmpeg 20.04

如何递归(使用ffprobe)查找所有低质量视频(例如 240p 和 480p)?我更喜欢命令行解决方案。

在 iPhone 和克隆机出现之前,我就已经录制了视频。它们的共同点似乎是240p和480p。我现在希望找到它们并手动删除大部分。您是否推荐除分辨率之外的其他元数据来查找非常旧的视频?

pa4*_*080 1

这里是。以下脚本运行速度快得惊人,它处理位于 138 个目录中的 363 个文件大约需要 14 秒。

#!/bin/bash

[[ -z ${1+x} ]] && qlty="480" || qlty="$1"
[[ -z ${2+x} ]] && extn="mp4" || type="$2"
[[ -z ${3+x} ]] && baseDir="" || baseDir="${3}/"

shopt -s globstar

for file in ${baseDir}**/*${extn};
do
    ffprobe -v error -select_streams v:0 -show_entries stream=width,height \
            -of csv=s=x:p=0 "$file" 2>/dev/null | \
    awk -F'x' '$2 <= q {printf "%10s\t%s\n", $0, file}' file="$file" q="$qlty"
    # For exact match of the quality change <= to ==
done
Run Code Online (Sandbox Code Playgroud)

复制上面的脚本并将其粘贴为属于您的可执行文件的内容$PATH,然后将其用作 shell 命令。假设该文件的名称是find-lq-videos.sh,您拥有 root 权限并且nano是您最喜欢的编辑器,因此您可以使用以下命令来执行此操作。

sudo touch /usr/local/bin/find-lq-videos.sh
sudo chmod +x /usr/local/bin/find-lq-videos.sh
sudo nano /usr/local/bin/find-lq-videos.sh
Run Code Online (Sandbox Code Playgroud)

然后进入视频所在的父目录并输入find-lq-videos.sh. 默认情况下,它将搜索mp4宽度小于或等于 的文件480。这是一个示例输出:

spas@desk:/mnt/Videos/Doc.and.Conspiracy$ find-lq-videos.sh
Run Code Online (Sandbox Code Playgroud)
   720x400   The.Brussels.Business.2012/The.Brussels.Business (2012).mp4
   854x480   HyperNormalisation.2016/HyperNormalisation (2016).mp4
Run Code Online (Sandbox Code Playgroud)

该脚本接受三个参数。mkv以下是搜索<=的方法320:

   720x400   The.Brussels.Business.2012/The.Brussels.Business (2012).mp4
   854x480   HyperNormalisation.2016/HyperNormalisation (2016).mp4
Run Code Online (Sandbox Code Playgroud)
   720x304   Inside.Job.2010/Inside.Job.2010.BG.EN.sub.mkv
Run Code Online (Sandbox Code Playgroud)

如果第三个参数不是当前目录,则为基本路径。以下是如何搜索ffprobe另一个目录中接受的所有文件:

spas@desk:/mnt/Videos/Doc.and.Conspiracy$ find-lq-videos.sh 320 mkv
Run Code Online (Sandbox Code Playgroud)
   285x300   /mnt/Videos/Science/Free.Energy.The.Race.to.Zero.Point.1997.Cover.jpg
   326x240   /mnt/Videos/Science/Free.Energy.The.Race.to.Zero.Point.1997.sub.mkv
   320x240   /mnt/Videos/Science/Sugar.The.Bitter.Truth.2009.sub.mkv
Run Code Online (Sandbox Code Playgroud)

参考: