Вот звуковая MP3-головоломка для Linux, которая давала мне покоя некоторое время:
Как обрезать первые несколько секунд аудио-файла MP3? (Я не могу ffmpeg -ss
работать с форматом 00:01 или 1.000)
До сих пор, чтобы делать то, что я хочу, я прибегаю к тому, чтобы делать это с помощью графического интерфейса, который, возможно, медленнее для одного файла, и определенно медленнее для пакета файлов.
Ответы:
Для редактирования mp3 под Linux я бы порекомендовал sox . Он имеет простой в использовании
trim
эффект, который будет выполнять то, что вы просите (см.man sox
Подробности - поиск (нажмите/
) для «обрезки начала»). Пример:Вы не упомянули об этом, но если ваша цель состоит в том, чтобы просто удалить тишину в начале файлов, вы найдете
silence
эффект гораздо более полезным (man sox
ищите «выше периодов»)источник
trim
для простоты. Единственныйsox FAIL formats: can't open output file 'blah.mp3': SoX was compiled without MP3 encoding support
подавитель был --so, повторно введите ffmpeg: /no handler for file extension mp3
Вы можете попробовать использовать mp3splt , который может разделять файлы MP3 и Ogg и имеет то преимущество, что он не перекодирует файл, тем самым избегая потери качества.
источник
mp3splt "$file" 4.12 27.55.7
... Это позволяет настраивать форматирование имени выходного файла и несколько точек разделения.Убедитесь, что ваши спецификации времени начинаются с часов.
Чтобы процитировать справочную страницу ffmpeg :
Это означает, что при выборе второго синтаксиса только
.xxx
часть является необязательной. Иначе ffmpeg может неправильно проанализировать его как секунды.То же самое касается продолжительности:
Другая ловушка - это порядок аргументов ffmpeg (например, параметры
-ss
/-t
для входного файла должны быть перед-i
опцией).пример
Со спецификацией
-ss 1:05:59.3 -t 2:03.9
вы получите другой результат (т.е. 2-х секундный длинный кусок).(Проверено на Fedora 17 с версией ffmpeg 0.10.7.)
источник