«Без потерь» обрезать файл MP3

4080
yo'

У меня есть файл mp3, скажем, это 25 минут. Я понимаю, что любое программное обеспечение способно извлечь первые 20 минут файла в виде нового файла MP3. Тем не менее, я хотел бы найти решение, которое бы делало это «без потерь», то есть сохранял исходные блоки MP3 и просто использовал первые 4/5 блоков и соответственно изменял заголовок. Таким образом, процесс извлечения не приводит к потере качества. Я разрезаю файл в месте, где происходит пара секунд молчания, так что разрезание между блоками должно быть возможным.

(Хорошей аналогией было бы взять вырез файла JPG на границах блоков, просто взяв только блоки внутри выреза. Можно декодировать файл, вырезать его и снова закодировать, но с потерей качества .)

(Насколько я знаю, по умолчанию программное обеспечение будет декодировать файл в форму сигнала, извлекать требуемую часть и кодировать ее снова, используя алгоритм MP3. Это не то, что я хочу, так как 2-е сжатие излишне снижает качество.)

(Я предпочитаю решение Linux, но я также могу получить доступ к окнам.)

12
mp3 не без потерь. DavidPostill 9 лет назад 0
@DavidPostill я _до_ знаю. Но каждый шаг декодирования-кодирования еще больше повреждает файл; Я хочу избежать этого. Я пытался уточнить себя. yo' 9 лет назад 4
Только то, что вы знаете, одно наказание за качество reencodings, вероятно, не будет замечено человеческим ухом iTayb 9 лет назад 0
На самом деле в MP3 каждый кадр имеет заголовок, и, так как вы хотите вырезать с конца, вы можете просто вырезать часть файла с помощью любого инструмента, который вам нужен. Это будет не совсем кошерно, но конечный результат - это то, что вы хотите. Не существует глобального заголовка, который нужно каким-либо образом изменять. Если файл имеет постоянный битрейт, легко рассчитать точку вырезания. Sami Kuhmonen 9 лет назад 0
Какой интересный вопрос. +1 Dave 9 лет назад 1
@SamiKuhmonen Я сомневаюсь, что ваше замечание на 100% верно, зная, что есть файлы MP3, для которых некоторые программы показывают неправильную длину, и что каждый файл MP3 имеет заголовок, содержащий метаданные. Тем не менее, может быть, можно обрезать файл "вульгарно", а затем позволить специальному программному обеспечению "восстановить" полученный файл? Может ли это работать? yo' 9 лет назад 0
@yo 'Тогда эти приложения на самом деле не работают, поскольку в спецификации нет метаданных. Правда, это обычно, но не по спецификации. Может быть возможно исправить это с помощью инструментов, если я правильно помню, новые метаданные в конце концов, так что они все равно будут удалены в этом процессе и могут быть заменены. Sami Kuhmonen 9 лет назад 0
@SamiKuhmonen Спасибо. Я сделаю несколько экспериментов, но не сегодня. Я буду на связи. yo' 9 лет назад 0
@ Ƭᴇcʜιᴇ007 Кажется, это то, что я ищу, но так как я не могу проверить это сейчас, я не буду подтверждать обман. В любом случае, спасибо за то, что нашел его, я не смог его найти. yo' 9 лет назад 0
Просто чтобы прояснить это: простое обрезание конца mp3-файла будет работать в том смысле, что его можно воспроизводить, но большинство медиаплееров будут показывать неправильную продолжительность. @SamiKuhmonen, в то время как вы технически правы, что спецификация mp3 не содержит каких-либо спецификаций метаданных для длительности, существует де-факто стандарт, называемый заголовком XING, который включает в себя продолжительность и точки входа для поиска в файлах VBR. twall 7 лет назад 1

2 ответа на вопрос

6
cristi

С Linux вы можете использовать mp3splt . Он также имеет графический интерфейс, если вы хотите, и доступен для Linux и Windows.

Со страницы руководства:

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

Извлеките первые 20 минут из вашего файла:

mp3splt -f original.mp3 0.0 20.0 
1
Max

mp3DirectCut http://mpesch3.de1.cc/mp3dc.html для Windows. Но сайт утверждает, что работает на Linux с Wine

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