Вопрос или проблема
Я хочу получить список всех моих видеороликов (mkv, mp4, avi и т.д.) и их разрешение, чтобы я мог увидеть, какие файлы SD нужно обновить до HD. Мне в основном нужен метод (или программа) для Windows, но OSX тоже подойдёт.
Я знаю, что пользователи Linux могут использовать это:
find . -name "*.mkv" -execdir mediainfo {} \; | egrep "(Complete name|Width|Height)"
Для Windows Vista (другие версии могут иметь подобные функции):
Если вам нужно увидеть это только для одного файла, вы можете посмотреть в окне “Сведения” внизу.
Если вам нужно увидеть это для нескольких файлов, следуйте 1, 2, 3* на скриншоте, затем выберите ‘Высота кадра’ и ‘Ширина кадра’, чтобы включить эти столбцы. (Совет: Вы можете ввести названия столбцов в длинном списке, чтобы быстро прокрутить до них.)
* щелкните правой кнопкой мыши на заголовке, чтобы получить меню
Вы также можете установить mediainfo
на OS X, например, с помощью brew install mediainfo
.
for f in *;do mediainfo "$f"|awk '$0~/Width|Height/{gsub(/[^0-9]/,"");printf("%s ",$0)}';echo "$f";done
Или установить ffmpeg
и использовать ffprobe
:
mdfind kMDItemContentTypeTree=public.movie -onlyin .|while read f;do ffprobe -v 0 "$f" -show_streams -of csv|head -n1|cut -d, -f10,11|tr '\n' ,;echo "$f";done
Вы можете попробовать изменить -of
(формат вывода) на flat
, json
или xml
. -v 0
эквивалентно -loglevel quiet
.
file
показал размеры только для примерно половины видеофайлов, с которыми я это тестировал. mdls
показал размеры ещё для меньшего количества файлов.
Мне удалось сделать это, используя XYplorer и следующее:
-
щелкните правой кнопкой мыши на директории, содержащей видеофайлы, и выберите “Виды” – “Сведения”.
-
щелкните правой кнопкой мыши на строке заголовков столбцов над окном и добавьте два столбца: ширина кадра и частота кадров.
Оттуда я щелкнул на любом заголовке столбца, чтобы отсортировать файлы по любому атрибуту в порядке возрастания и убывания, и перетащил выбранные файлы в другую программу для конвертации или переименования.
В Windows, если у вас есть версия CLI MediaInfo в вашем системном пути – например, вы скопировали mediainfo.exe в пользовательскую директорию, названную D:\bin, а затем добавили D:\bin в переменную окружения PATH (в пользовательском пространстве) – вы можете запустить следующую строку в CMD, чтобы перечислить видео и их разрешения в текущей директории:
for %f in (*.mp4) do @(echo|set /p=""%f"" & mediainfo --Output="Video; %Width% %Height%" "%f")
Пример вывода:
"Silo S01E01.mp4" 1356 680
"Silo S01E02.mp4" 1356 680
"Silo S01E03.mp4" 1280 640
"Silo S01E04.mp4" 1440 720
"Silo S01E05.mp4" 1356 678
Чтобы запустить вышеуказанную команду в пакетном скрипте, вы можете изменить её на следующую:
@for %%f in (*.mp4) do @(echo|set /p=""%%f"" & mediainfo --Output="Video; %%Width%% %%Height%%" "%%f")
И если вы хотите использовать PowerShell вместо CMD, вы можете использовать следующую команду, которая создаст точно такой же вывод:
gci -filter *.mp4 | % { Write-Host """$_""" -nonewline; & mediainfo --Output="Video; %Width% %Height%" $_ }
Ответ или решение
Чтобы получить список всех видеоп файлов (mkv, mp4, avi и т.д.) и их разрешение на Windows или macOS, рассмотрим несколько методов, которые помогут решить эту задачу. Мы обсудим как графические, так и командные способы для пользователей этих операционных систем.
1. Использование графического интерфейса Windows
Если вы хотите просмотреть разрешение видеофайлов сразу, можно использовать встроенные функции Windows:
-
Для одной записи: Щелкните правой кнопкой мыши на видеофайл и выберите "Свойства". На вкладке "Подробно" вы сможете увидеть разрешение видео.
-
Для нескольких файлов:
- Откройте проводник и перейдите в папку с видеофайлами.
- Щелкните правой кнопкой мыши по заголовку таблицы (например, "Имя"), чтобы открыть меню.
- Выберите "Выбрать столбцы" и отметьте "Ширина кадра" и "Высота кадра". Эти столбцы будут добавлены в таблицу, позволяя видеть разрешение файлов.
2. Использование программного обеспечения
Для более продвинутых пользователей, а также для автоматизации процесса, рекомендуется использование программного обеспечения.
A. Использование MediaInfo
MediaInfo — популярная программа для анализа мультимедиа, которая предоставляет детальную информацию о видеофайлах.
Windows
- Установите MediaInfo и добавьте
mediainfo.exe
в системную переменную PATH. -
Откройте командную строку и выполните следующую команду:
for %f in (*.mp4) do @(echo|set /p=""%f"" & mediainfo --Output="Video; %Width% %Height%" "%f")
Эта команда выведет название каждого файла вместе с его разрешением. Для запуска в пакетном файле, используйте:
@for %%f in (*.mp4) do @(echo|set /p=""%%f"" & mediainfo --Output="Video; %%Width%% %%Height%%" "%%f")
macOS
На macOS вы можете установить MediaInfo с помощью Homebrew:
brew install mediainfo
Затем вы можете использовать следующую команду в терминале:
for f in *; do mediainfo "$f" | awk '$0~/Width|Height/{gsub(/[^0-9]/,"");printf("%s ",$0)}'; echo "$f"; done
B. Использование FFmpeg
Другим мощным инструментом является FFmpeg, который включает ffprobe
для анализа видеофайлов.
macOS
Установите FFmpeg с помощью Homebrew:
brew install ffmpeg
Используйте следующую команду для получения разрешений:
mdfind kMDItemContentTypeTree=public.movie -onlyin . | while read f; do ffprobe -v 0 "$f" -show_streams -of csv | head -n1 | cut -d, -f10,11 | tr '\n' ,; echo "$f"; done
Эта команда выведет разрешение и название каждого файла.
3. Использование XYplorer в Windows
XYplorer — это мощный файловый менеджер, который также может помочь в данной задаче:
- Щелкните правой кнопкой мыши по папке с видеофайлами и выберите "Виды" – "Детали".
- Щелкните правой кнопкой мыши по заголовку таблицы и добавьте столбцы "Ширина кадра" и "Частота кадров".
- Теперь вы можете сортировать видеофайлы по разрешению и частоте кадров.
Заключение
С помощью приведенных выше методов вы сможете с легкостью получить список всех ваших видеофайлов и их разрешения на Windows и macOS. Такой подход поможет вам определить, какие видеоматериалы требуют обновления с SD до HD разрешения.