Можно ли вообще выполнять пакетный поиск в папке фильмов с разрешением 1080p и распечатывать результаты только этих фильмов?
mediainfo
программа может дать информацию о размере видео
sudo apt install mediainfo
Поскольку размер 1 080 пунктов высотой должен быть 1080
Отобразите Видео Высоту с mediainfo
mediainfo --Output='Video;%%Height%' /path/to/video-file.mkv
Теперь позволяет пакету, и найдите видеофайлы менее чем 1 080 пунктами
#!/bin/bash
# Working Dir SETTINGS, Adapt to your needs
MFolder=~/Video
# script may be modified to be passed as parameter
# Files list: find Video files and output filename
# find $MFolder -type f -exec file -N -i -- {} + | sed -n 's!: video/[^:]*$!!p' | sort
# Will loop an array. Could run a read while
# Save IFS
OLDIFS=$IFS
IFS=$'\n'
# Find all VIDEO files and store names into an array
fileArray=($(find $MFolder -type f -exec file -N -i -- {} + | sed -n 's!: video/[^:]*$!!p' | sort))
# Restore IFS
IFS=$OLDIFS
# Length of array: total num of found videos
NbTotal=${#fileArray[@]}
# Cosmetic
bold=$(tput bold)
normal=$(tput sgr0)
# The loop
for (( i=0; i<${NbTotal}; i++ ));
do
VidHeight=$(mediainfo --Output='Video;%Height%' "${fileArray[$i]}")
if [ "$VidHeight" -lt 1080 ]; then
((NbUnder1080++))
echo "${fileArray[$i]} "${bold}$(mediainfo --Output='Video;%Width% x %Height%' "${fileArray[$i]}")${normal}
fi
done
# Output report
echo "---"
echo "Folder scanned: $MFolder"
echo "$NbTotal Videos found"
echo "$NbUnder1080 are under 1080p"
Да, но я не уверен, существует ли более легкий путь, чем запись сценария, который индивидуально извлекает разрешения видео и затем отфильтровал тех, Вы не хотели видеть... Это не полное решение, но могло бы получить Вас движение:
for i in *.mp4
do
RESOLUTION=$(ffmpeg -i $i 2>&1 | grep 'Stream.*:Video' | ....)
if [ $RESOLUTION smaller than 1080p ]
then
echo $i
fi
done
'...' будет нуждаться в некотором 'sed' или 'awk' для извлечения правильной информации о разрешении - у меня есть сценарий, который делает что-то вроде этого, но характерен для видов файлов, которые я обрабатываю, не, делают вывод - также. И затем, после того как у Вас есть данные разрешения, которые необходимо будет придумать способ сравнить его и решить, соответствует ли это 1 080 пунктам - "достаточно хорошее" сравнение, чтобы только посмотреть на X, или разрешение Y, или сделать Вас должно принять обоих X и Y во внимание.