Обновить

Комментарии 27

ЗакрепленныеЗакреплённые комментарии

Обновление!
- Исправлено множество багов
- Добавлено еще больше популярных форматов
- Исправление вывода
- Улучшенный детальный анализ

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

Только текущая папка (без рекурсии):

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? Как у одного из других комментаторов) , да и не у всех показывается длительность (зависит от диспетчера файлов).
И да, большинство видео я смотрю в консоли))

НЛО прилетело и опубликовало эту надпись здесь

В ASCII output надеюсь? :D :D

Бывало дело))) =D

НЛО прилетело и опубликовало эту надпись здесь

Уберите тег "DevOps" из статьи

Убрал!

НЛО прилетело и опубликовало эту надпись здесь

Соглашусь, буду переписывать на другую утилиту

НЛО прилетело и опубликовало эту надпись здесь

Извиняюсь, конечно, что не совсем по теме, но у меня на JS (WSH на Винде, с Висты, вроде), вот такое решение было и сейчас пользуюсь. Я к чему: не сталкивался тогда в Линуксе с подобной проблемой (если скачивал там, на винду перебрасывал сразу), но на Винде длительность видео можно выцепить через метод GetDetailsOf объекта "Shell.Application" ("Описание: возвращается информация, похожая на ту, что можно увидеть в окне свойств файла (папки) в проводнике"). И повторюсь, насколько помню (давно было), из Линукса данные передавались уже с этими свойствами файла. Скрипт своеобразный - рассчитан под нумерованные папки (оцифровывал VHS кассеты изначально, теперь только при скачивании через yt-dlp использую - он умеет разбивать на фрагменты почти хорошо, а с нужными параметрами почти идеально), но легко поправить. Может, без ffprobe можно и на линуксе обойтись? Давно с ним не работал.

На винде и правда можно сразу брать длительность файлов из метаданных файла благодаря их свойств, но на Linux такого нету(

И повторюсь, насколько помню (давно было), из Линукса данные передавались уже с этими свойствами файла

Я поискал, но люди пишут что из-за такой файловой системы метаданные не передаются так же как в Windows.

Может, без ffprobe можно и на линуксе обойтись? Давно с ним не работал.

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

Буквально вчера нужно было уточнить длительность файлов, в Nemo не отображается, в Thunar долго (Свойства -> Аудио -> Информация) и только отдельно по файлам. В Проводнике Windows с подобным намного проще.

Скачал. Заметил достаточно большую задержку при обработке даже с локального диска: в папке 9 файлов, вывод через несколько секунд. Или у меня одного так?

P.S. Полезно, несомненно. В линуксах часто проще самому написать сценарий, нежели искать нужные программы, которых может и не быть вовсе.

Да, задержка из-за ffrobe большая. Буду переписывать

Обновление!
- Исправлено множество багов
- Добавлено еще больше популярных форматов
- Исправление вывода
- Улучшенный детальный анализ

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

Отпишитесь в комментариях? Скрипт полезен весьма, благодарю!

Как-то писал себе скрипт по перекодированию медиа файлов через ffmpeg, и тоже столкнулся с проблемой определения длины, не помню точно, но как-то решил (какой-то другой способ работал очень медленно, может это как раз ffprobe). Скрипт только на домашнем ПК, а дома я буду через неделю, посмотрю и сравню. Прогресс в итоге я стал определять тупо по данным из лога ffmpeg, там он пишет какой кадр и сколько всего. Да, тоже всë на bash.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации