Как узнать продолжительность MP3 из командной строки Linux



Попробуйте наш инструмент устранения неполадок

Пользователи Linux, которые привыкли работать с музыкальными файлами из командной строки, могут уже использовать ffmpeg, но с помощью этого мощного инструмента сложно извлечь только длину файла. Есть несколько способов его использования, но есть и несколько других утилит, которые могут облегчить этот процесс. В любом случае найти продолжительность MP3 из командной строки Linux не составит труда.



У вас должна быть открыта подсказка, поэтому убедитесь, что вы либо ищете ее в Unity Dash, либо запускаете ее из системного меню в меню Whisker Xfce4 или в меню приложения LXDE, либо, возможно, удерживайте Ctrl, Alt и T, чтобы открыть терминал. Хотя немногие редакторы MP3 будут использовать виртуальную консоль, эти уловки также должны работать с ними.



Метод 1. Проверка продолжительности с помощью mp3info

Скорее всего, у вас не будет установлен mp3info, даже если у вас есть все библиотеки MP3, поэтому вам нужно будет использовать sudo apt-get install mp3info в дистрибутивах на основе Debian или Ubuntu, чтобы получить его. Это должно работать на любом из различных спинов Ubuntu, включая Xubuntu и Lubuntu. В связи с тем, что Fedora и Red Hat долгое время отказывались от поддержки технологии MP3 из-за своего желания оставаться по-настоящему бесплатными, вам придется вручную загрузить исходный код или двоичный файл i386 с http://www.ibiblio.org / mp3info / страница.



Новые установки Fedora должны поддерживать некоторые аспекты MP3, что означает, что вы можете в конечном итоге найти пакет в официальных репозиториях, но до тех пор вы можете загрузить пакет mp3info-0.8.5a-1.i386.rpm, а затем просканировать его на вирусы. Если вы просматриваете файл в Nautilus после его загрузки, вы можете нажать клавишу F4, чтобы открыть командную строку прямо в этом каталоге. В противном случае откройте командную строку, как обычно, и используйте cd ~ / Загрузки чтобы перейти в каталог, в котором вы его сохранили, а затем запустить sudo yum установить mp3info-0.8.5a-1.i386.rpm если у вас активен файл sudoers. В противном случае вам нужно будет ввести его - и нажмите клавишу ввода, затем введите свой пароль перед запуском yum install mp3info-0.8.5a-1.i386.rpm, хотя вы также можете выбрать файл в Nautilus и посмотреть, сможете ли вы его установить. У пользователей Ubuntu и Debian не должно быть ни одной из этих проблем, и одна команда sudo apt-get install должна обработать пакет автоматически.

После обработки пакета введите mp3info -p “%S” nameOfTrack.mp3 в командной строке и нажмите Enter, чтобы узнать длину. Вам нужно будет заменить nameOfTrack.mp3 именем файла, длина которого вам интересна. Если вы обнаружите, что он помещает ваше приглашение в ту же строку, что и вывод, попробуйте mp3info -p «% S n» nameOfTrack.mp3 чтобы добавить туда новую строку. Тем не менее, это обычно возвращает время в секундах.

Пользователи FreeBSD, работающие с архитектурами x86 или x86_64, должны обнаружить, что они могут скомпилировать исходный код для mp3info, но им также может быть интересно отметить, что версия программного обеспечения 0.8.5a теперь имеет официальный порт FreeBSD, который вы можете найти по адресу https: //svnweb.freebsd.org/ports/head/audio/mp3info/, если вы предпочитаете работать только с официальными пакетами.

Метод 2: определение продолжительности с помощью ffmpeg

Если вы уже установили ffmpeg и не хотите устанавливать mp3info, или если вы используете установку FreeBSD, где компиляция mp3info невозможна, у вас все еще есть командный трюк, который вы можете использовать для определения продолжительности легко с помощью grep, но это может не всегда работать. Если не задано никаких других аргументов, то ffmpeg просто перечислит все, что ему известно о любом загруженном MP3-файле. Предполагая, что вы хотите работать с файлом с именем song.mp3, вызовите ffmpeg как ffmpeg -i song.mp3 2> & 1 | grep Продолжительность чтобы убрать все, кроме длины музыки.

Возможно, вам придется заключить имя файла в кавычки, если оно содержит пробелы или другие символы. Хотя те, которые пришли из экосистем Windows, OS X или iOS, могут не использоваться, в именах файлов MP3 на самом деле могут быть двоеточия во многих файловых системах Linux и FreeBSD, поэтому вам, возможно, придется использовать кавычки и в этом случае.

Имейте в виду, что если у вас средний битрейт MP3, то ffmpeg фактически оценит длину, и поэтому это число может быть не совсем точным. Вы увидите «Оценка продолжительности по битрейту, это может быть неточно», если какие-либо оценки действительно имели место.

Метод 3: Использование ExifTool

Если у вас есть дистрибутив, в который можно устанавливать программы, вы можете попробовать sudo apt-get установить libimage-exiftool-perl если у вас есть доступ к диспетчеру пакетов aptitude, например, в Ubuntu, Debian или Linux Mint. Вы не найдете этот пакет в полностью бесплатных дистрибутивах программного обеспечения, таких как Fedora или Red Hat, хотя он может стать доступным в ближайшем будущем.

Если у вас не возникло проблем с установкой, вы можете просто ввести exiftool filename.mp3 , заменив имя filename.mp3 тем файлом, который вас действительно интересовал. Помните, что вам может потребоваться заключить в кавычки имя, но не команду, если в имени файла есть двоеточия, косые черты, пробелы или что-то еще необычное. Двоеточие иногда используется для разделения имен исполнителей и названий альбомов в экосистемах Linux и FreeBSD.

Вы получите огромное количество информации, которая может зависеть от того, какая версия программного обеспечения установлена ​​в вашем пакете, а также от того, был ли файл создан профессионально или нет. В самой последней строке будет указано время под словом Duration, а также немного информации о том, является ли продолжительность файла приблизительной или нет.

Вы также можете выдать exiftool filename.mp3 | grep Продолжительность найти строку, в которой указана продолжительность, без необходимости читать остальной материал, но обычно это только то, что вам нужно делать, если вы работали со сценариями.

4 минуты на чтение