Linux разбить mp3 на части

Обновлено: 01.07.2024

Необходимость в использовании инструментов разрезания и склейки файлов в Linux у меня ранее не возникало. Для передачи больших файлов с целью обмена мной успешно использовались файлообменные ресурсы, например, те же depositfiles или filefactory, предоставляющие время хранения не менее 90 суток. В связи с тем, что depositfiles предоставил свой менеджер файлов, с помощью которого успешно осуществлялась операция Upload, этот ресурс и использовался чаще всего.

Радикальным образом ситуация изменилась буквально за последние 2 дня. Загруженный мной для обмена файл был в течение дня удалён. Так как администрация этого сервиса вправе удалить любой файл без объяснения причин, то пришлось вернуться к широко использовавшемуся мной ранее файлообменнику Sendspace. А так как этот ресурс позволяет передать файлы не более 300 Мб, то у меня возникла проблема передачи файлов размером в 1,5 Гб.

Другой возможной необходимостью разбить и склеить файл является принципиальная невозможность записать на флэшку с файловой системой FAT32 файл размером более 4 Гб, что обусловлено свойствами самой файловой системы FAT32.

Поиск способов в Linux привёл в инструкции:

Разбить на кусочки по 10 Гб, можно такой командой:

split -b 10G big_file.ext
при этом имена файлов будут типа: xaa, xab, xac..

Далее копируем их к себе

Склеиваем в Linux:

cat xaa xab xac > big_file.ext

Склеиваем в Windows:
copy /B xaa+xab+xac big_file.ext

При всём уважении к терминалу хотелось бы чего-то более привычного, тем более, что мои респонденты, несмотря на их работу в Linux, вряд ли были бы в восторге от необходимости склеивать переданные им файлы в терминале.

Поискав в центре приложений своего Linux Mint по запросу в строке поиска split было найдено 2 варианта решения проблемы.


Так как в Linux Mint ПО унифицировано для различных оболочек, то данное ПО присутствует и для Cinnamon, и для MATE и XFCE. Естественно, что данное ПО должно быть установлено как у Вас, так и тех, кому Вы будете передавать обработанные этим ПО файлы. После установки в меню программ появляется отображение, например,



Слева отображается полное меню, в котором выполняемая операция подсвечивается выделением:


В нижней части справа отображены кнопки дальнейших действий.




Если действие указано, то кнопка "Продолжить" становится активной. Если нажать "Отмена", то доступно главное окно программы, до этого "прикрытое" мастером.


В окне выбора файлов укажите файл, а затем способ его разбиения:



По умолчанию предлагается указать, на сколько частей разбивать выбранный файл. При этом размер каждого фрагмента будет определён программой самостоятельно. Но если нажать на стрелочку справа, то отобразятся и другие варианты:


В поле слева необходимо указать количество этих самых частей или размер в байтах, Кб, Мб, Гб и т.д.


Далее предлагается выбрать рабочий алгоритм:



Признаться откровенно, мной был испробован вариант только "Общий". Про назначение других вариантов ничего не могу сказать.

Перед самим процессом предлагается проверить выбранные настройки и при необходимости внести изменения, если где-то была допущена ошибка (размер отдельного фрагмента или способа разбиения):


Процесс разбиения файла отображается в графическом режиме:


На выходе Вы получите необходимое количество фрагментов файла с расширениями .001, .002, .003 .

Процесс склейки производится аналогично. Выбрать операцию "Merge several files" и указать файл с расширением .001



На выходе получится склеенный файл.

Этот вариант найден со ссылки от консольной утилиты LXSplit, в описании которой указано на её совместимость с программной HJSplit



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

Пользователи Linux обращаются к секции Линукса и скачивают архив hjsplitlx.tar.gz В составе архива имеется сама программа и описание в виде файла txt "что это такое и с чем его едят".


Собственно программой является файл hjsplit. Проверьте, имеется ли у Вас указание на необходимость запуска этого файла как программы:



Нажимаете "Split", указываете файл, размер каждого фрагмента и нажимаете кнопку "Start".





Процесс склейки производится аналогично. Запускается программа, выбирается "Join", указывается файл с расширением .001 и нажимается кнопка "Start".

Я нашел что-то для видео, которое выглядит следующим образом.

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

Если вам нужны другие способы сделать это, пожалуйста, объясните более подробно, чего вы пытаетесь достичь. ffmpeg cmdlines трудно запомнить. @sblynx Как я объяснил в вопросе, разбивайте каждую секунду аудиофайла на новые аудиофайлы.

Это сработало для меня, когда я попробовал это на mp3-файл.

Где -segment_time количество времени, которое вы хотите для каждого файла (в секундах).

Ссылки

Работал на mp3 с. Мне не удалось на m4b сказать: «Неверный аудиопоток. Требуется ровно один аудиопоток MP3». Как насчет случая, когда у меня есть 40-минутный файл, который я хотел бы разбить, скажем, на 4 минуты, 6 минут, 12 минут, 8 минут, 10 минут, вместо того, чтобы разбить его на единые вложенные файлы?

Чтобы разделить большой аудиофайл на набор дорожек различной длины, вы можете использовать следующую команду:

Например, я разбил один файл .opus из Inception Original Soundtrack на вложенные файлы, используя этот текстовый файл, содержащий начало, конец, имя:

Я написал эту короткую awk программу для чтения текстового файла и создания ffmpeg команд из каждой строки:

Ниже приведена более подробная python версия программы split.py , в которой теперь из командной строки читаются как исходный файл дорожки, так и текстовый файл с указанием субтреков:

Вы можете легко создавать более сложные ffmpeg вызовы, изменив шаблон команды и / или добавив дополнительные поля в каждую строку файла track_list.

это фантастика, ! Пожалуйста, скажите мне, как запустить это из программы на Python, то есть я хочу читать аудио, и файл аннотации с start, end, label. и затем разбить аудио на части с размерами, соответствующими каждой строке в файле. @kRazzyR subprocess.call(command) - это python аналог system(command) in awk , оба из которых позволяют отправлять ffmpeg команды оболочке. Я отредактировал свой пост, включив в него гибкую python реализацию, иллюстрирующую один из способов, как вы могли бы сделать это. По моему опыту, время начала дорожки № 2 должно равняться времени окончания дорожки № 1 и так далее. То есть, ваш пример будет пропускать секунду между каждым треком. Вот компактная версия bash / zsh. Измените время по мере необходимости, а затем удалите слово, echo чтобы фактически запустить команды. source="source audio file.m4a"; i=0; t1=0:00; for end_time in 1:24 5:40 14:48 19:33 35:11 40:00 46:08 51:58 ''; do i=$((i+1)); t0=$t1 t1=$end_time; echo ffmpeg -i "$source" -acodec copy -ss $t0 $ $t1 $(printf "track%02d.%s" $i $); done @TimSmith спасибо, что поймали это, я добавил редактирование выше. В зависимости от вашего плеера, между треками все еще может быть небольшой сбой, но это определенно звучит лучше, чем выбивание 1 с.

В следующей строке аудиофайл будет разбит на несколько файлов, каждый продолжительностью 30 секунд.

Недавно мне пригодилась резалка mp3 для Linux Ubuntu. Программа с помощью которой можно резать mp3 в Linux Ubuntu и не только резать, и не только mp3, называется Audacity.

Сначала ставим сие чудо:

Главное меню-> Аудио и видео-> Audacity

Программа имеет такой вид:

audacity

Мне нужно обрезать Вивильди - Осень для рингтона на мобилку.

Заходим в Файл->Открыть и выбираем файл:

audacity

После чего откроется выбранная нами дорожка:

audacity

Выделяем необходимый отрезок дорожки, просто нажав на ней мышкой и потянув туда куда нужно:

audacity

Далее нажимаем Правка->Скопировать.

Потом Файл->Создать проэкт.

После чего Правка->Вставить

audacity

Также в этой программе можно добавлять разнообразные эффекты. Мне например нужно чтобы мелодия играла мощнее. Вот я захожу Эффекты->Уровень Сигнала и увеличиваю силу сигнала:

audacity

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

audacity

Ну вот все вроде бы готово теперь можно экспортировать наш обрезок Файл->Экспортировать:

audacity

Там я выбрал формат wav. Нажав на кнопку "Параметры" я выбрал максимальное качество ну и собственно говоря сохранить. В итоге получился wav файл отличного качества с продолжительностью мелодии 13 секунд и весом в 8 мегабайт.

В audocity есть все необходимые функции для редактирования звукового файла а именно: обрезалка, добавление эффектов(плавное наростание-затухание,повышение уровня сигнала и басов, смена скорости, убрать шум и др.), повышение громкости, неплохой спектр функций правки мелодии. Также если все умно делать то потеря качества после редактирования мелодии будет минимальной. Порадовала и функция экспорта которая может экспортировать файлы в 4 формата в том числе wav и mp3. В общем простая в пользовании программа с приличным количеством простых но необходимых функций.

Проблема с экспортом в mp3, модуль libmp3lame.so.

Когда я захотел экспортнуть файл в mp3, программа матюкнулась, мол не хватает модуля libmp3lame.so.
Заходим в менеджер пакетов и там в поиске набираем lame:

audacity

Потом нужно выделить пакеты(glame, lame, lame-extras, liblame0, liblame-dev), может их и не все нужно было выделять, я на всяк случай, выделил и установил:


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



Быстро разделить продолжительные файлы на несколько частей можно с помощью простых утилит из Mp3splt Project.



Mp3splt Project состоит из трёх частей, библиотеки libmp3splt, консольной утилиты mp3splt её использующей и GTK графического интерфейса mp3splt-gtk.


Mp3Splt – консольная утилита предназначенная для нарезки файлов mp3 и ogg без предварительной декомпрессии.




Mp3Splt может автоматически разделить звуковой файл на равные по времени части, можно указывать точки разреза файла как вручную, так и загружать их из CDDB/CUE файлов получая готовые точки разреза.


При помощи простого редактора можно и самостоятельно установить маркеры в нужных местах трека Mp3Splt разрежет файл по этим маркерам.


Mp3Splt умеет определять границы треков по уровню звука и разрезать аудиофайл в местах пауз между треками.


Для прослушивания композиции Mp3Splt использует сторонний плеер, по выбору пользователя.


Лицензия: GNU General Public License v2

Читайте также: