Скрипт / Команда для добавления длины воспроизведения всего видео в данном дереве каталогов

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

0
задан 13 April 2019 в 21:21

1 ответ

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

find . -maxdepth 1 -iname '*.mp4' -exec ffprobe -v quiet -of csv=p=0 -show_entries format=duration {} \; | paste -sd+ -| bc

Чтобы сделать это рекурсивно в папке, которая имеет несколько подпапки И, чтобы включить медиа-файлы с различными расширениями (.mp4, .avi, .mkv и т. д.), вы просто удалили аргументы '-maxdepth' и '-iname', поэтому команда будет такой.

find . -exec ffprobe -v quiet -of csv=p=0 -show_entries format=duration {} \; | paste -sd+ -| bc

ffprobe является частью ffmpeg, поэтому все используемые вами носители должны поддерживаться ffmpeg.

Источник оригинальной команды: https://unix.stackexchange.com/questions/170961/get-total-duration-of-video-files-in-a-directory

0
ответ дан 13 April 2019 в 21:21

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

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