Похожие вопросы

Как вывести наружу микрофон сразу к дикторам?
Выяснение того, был ли аудиофайл FLAC или WAVPACK изначально закодирован не из источника с потерями
Как воспроизвести фильм, слушая две звуковые дорожки одновременно?
ffmpeg-потоковое аудио с кодеком vorbis через RTP
Можно ли переименовать файлы webm (только для аудио).опус?
Как изменить звуковую дорожку файла MKV по умолчанию?
Tascam US 122 несовместимость с Yosemite
Установка другой звуковой карты для записи системного звука
Существует ли решение VNC со звуком для Windows 7?
Быстрый способ конвертировать несколько видео звук из AC3 в AAC без преобразования видео
audiodg.exe высокая загрузка процессора
Как я могу удалить.метаданные wav без изменения каких-либо функций?
Почему появились шумы при конвертации 16bit wav в 8 bit wav, как этого избежать?
"аудиоустройства не установлены", - говорит мне мой HP pavilion dv6000 , и никаких изменений в оборудовании не было
Можно ли использовать aptX на неподдерживаемых компьютерах или телефонах?

Разбиение аудиофайла на части заданной длины

У меня есть несколько длинных аудиофайлов (80 минут каждый; m4a) и я хочу, чтобы они разделились на 5 - или 10-минутные куски.

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

конечно, что-то автоматическое, и командная строка в порядке - даже предпочтительнее.

спасибо заранее!

5
задан Hennes
источник

4 ответов

с недавним ffmpeg (скачать статическую сборку отсюда):

ffmpeg -i in.m4a -f segment -segment_time 300 -c copy out%03d.m4a

это использует сегмент muxer и копирует битовые потоки. Если ваш файл содержит аудио-и видеопотоки, вы можете отключить видеопоток с помощью -vn.


вот один-лайнер, вам просто необходимо Ruby и FFmpeg установлено:

ruby -e '(0..4500).step(300) { |x| system "ffmpeg -ss #{x} -i in.m4a -c copy -t 300 out-#{x}.m4a"}'

просто выполните это в той же папке, где in.m4a - это. Он скопирует аудио битовый поток, поэтому выполнение этого, вероятно, займет менее нескольких секунд.

объяснить:

  • 4800 секунд-это длина аудиофайла (80 минут × 60 секунд), поэтому наш последний раскол составляет 4500 (4800 - 300 секунд).
  • мы идем от 0 до 4500, и мы разделяем каждые 300 секунд (5 минут × 60).
  • FFmpeg запускается в указанное -ss
  • и он будет копировать в течение времени, заданного -t
  • он запишет несколько выходных файлов с именем out-<x>.mp4, где <x> - время начала в секундах.
20
отвечен slhck 2016-02-12 12:22:38
источник

Я сам искал для этого решение. Самый простой способ я нашел, чтобы сделать это через MP4Box:

mp4box -split 300 infile.m4a

где "300" - время в секундах. MP4Box автоматически запишет пронумерованные выходные файлы.

(вам не нужно устанавливать все большое приложение GPAC. Это файлы, которые вы можете извлечь из архива для его работы: js.dll; libeay32.dll файлы; libgpac.dll; MP4Box.exe; ssleay32.dll)

2
отвечен dfkt 2014-11-18 19:20:30
источник

прошло некоторое время с тех пор, как этот вопрос был задан, но после дурачиться с Ruby и ffmpeg я решил, что должен быть более простой способ сделать это в Windows, и я обнаружил, что есть.

скачать и установить Audacity

создайте текстовый файл где-нибудь, где вы можете его найти, и вставьте в него следующую строку: (300 секунд, то есть. 5 минут, 10 минут были бы 600 интервалами, etc...)

0       300  
300     600  
600     900  
900     1200  
1200    1500  
1500    1800  
1800    2100  
2100    2400  
2400    2700  
2700    3000  
3000    3300  
3300    3600  
3600    3900  
3900    4200  
4200    4500  
4500    4800  
4800    5100  
5100    5400  
5400    5700  
5700    6000  
6000    6300  
6300    6600  
6600    6900  
6900    7200  
7200    7500  
7500    7800  
7800    8100  
8100    8400  
8400    8700  
8700    9000  
9000    9300  
9300    9600  
9600    9900  
9900    10200  
10200   10500  
10500   10800  
10800   11100  
11100   11400  
11400   11700  
11700   12000  
12000   12300  
12300   12600  
12600   12900  
12900   13200  
13200   13500  
13500   13800  
13800   14100  
14100   14400  
14400   14700  
14700   15000  

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

импортируйте аудиофайл в Audacity и сделайте любую балансировку и любые другие изменения, которые вы хотите, затем нажмите "Файл" > "метки" > "импортировать метки"

выберите текстовый файл, затем выберите дорожку метки и звуковую дорожку одновременно и нажмите Файл>Экспортировать несколько.

изменить тип файла, который вы хотите экспортировать и настроить параметры, а затем выберите папку назначения.

Я всегда меняю шаблон нумерации на нумерацию после префикса имени файла и введите имя файла, которое я хочу в поле, и программа добавит номера, нажмите Экспорт и альт!

1
отвечен C. Hamilton 2016-08-06 16:52:58
источник

скачать Audacity - это бесплатный аудио-инструмент, который может сделать именно то, что вам нужно, и это совершенно бесплатно и простой в использовании. http://audacity.sourceforge.net/

-2
отвечен JohnnyVegas 2012-12-28 14:24:24
источник

Другие вопросы audio audio-conversion windows