MusicMan_08
@MusicMan_08

Скрипт по Mediainfo?

Есть компьютер с Windows, на нем есть папка с видеофайлами (около 30 ТБ). В основном файлы одного типа (кодек, разрешение и т.д.), но есть около 10-ти файлов, у которых другое разрешение. Решил использовать mediainfo для выявления этих неправильных файлов. Скрипт выглядит вот так:
set mediainfo=C:\Program Files\MediaInfo\CLI\MediaInfo.exe
set input_folder=C:\test_videos

For %%x in ("%input_folder%\*.*") Do (
"%mediainfo%" --Inform=General;%%FileName%%, "%%~x">>"C:\test_videos\output.csv"
"%mediainfo%" --Inform=Video;%%Width%%:%%Height%%, "%%~x">>"C:\test_videos\output.csv"
)

Но столкнулся с очень медленной работой скрипта, так как он пишет в csv сначала название клипа, потом разрешение видео и так по каждому файлу. Помогите переделать скрипт так, чтобы в файл csv записывалась только информация по неправильным файлам. Или, может быть, кто-то подскажет более быстрый и правильный способ?
  • Вопрос задан
  • 2777 просмотров
Пригласить эксперта
Ответы на вопрос 2
@386DX
Посмотреть поисковые плагины Тотал коммандера, как правило там есть настройки на поиск метаданных в файлах
Ответ написан
Комментировать
Lerg
@Lerg
Defold, Corona, Lua, GameDev
Вот скрипт на bash, который будет чуть быстрее
#!/bin/sh

normalRes="1920x1080"
dir=$1

for f in $(find $dir -name "*.*"); do
	res="$(mediainfo '--Inform=Video;%Width%x%Height%' $f)"
	if [ "$res" != "$normalRes" ]; then
		echo $f
	fi
done


Не знаю, как его переделать под windows, но можно установить cygwin. В normalRes записываете разрешение большинства файлов, на выходе будут имена тех файлов, чьё разрешение отлично от этого значения.

В параметрах к скрипту передаётся директория, в которой искать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы