Папка пакетного поиска для фильмов до 1080p

Можно ли вообще выполнять пакетный поиск в папке фильмов с разрешением 1080p и распечатывать результаты только этих фильмов?

1
задан 26 July 2019 в 12:46

2 ответа

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"
2
ответ дан 7 December 2019 в 13:15

Да, но я не уверен, существует ли более легкий путь, чем запись сценария, который индивидуально извлекает разрешения видео и затем отфильтровал тех, Вы не хотели видеть... Это не полное решение, но могло бы получить Вас движение:

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 во внимание.

0
ответ дан 7 December 2019 в 13:15

Другие вопросы по тегам:

Похожие вопросы: