Чи є інструмент, який може виявити (і по можливості виправити) збої в MP3-файлах? [зачинено]


31

Моя колекція містить деякі MP3-файли, які мають деякі збої, як-от:

  • відображення неправильної тривалості при завантаженні
  • незначні стрибки
  • раптово закінчується, незважаючи на тривалість претензій, що залишилася ще хвилина
  • шум

Я шукаю інструмент, який може виявити якомога більше цих глюків і виправити ті, які можна виправити (очевидно, наприклад, що шум у більшості випадків не може бути просто усунутий).


Вони звучать як проблеми з гравцем. Ви впевнені, що вони спричинені вашими MP3-файлами?
digitxp

@digitxp раптове закінчення, ймовірно, пов’язане з відсутніми частинами файлу, але неправильно відображений час може бути викликаний VLC. Але все-таки це означає, що з файлом щось не так, оскільки інші файли показують правильний час. Шум і стрибки можуть бути наслідком поганого читання компакт-диска, я оцифрував свою колекцію, не роблячи подвійних перевірок: - /
Тобіас Кіенцлер

хм, неправильна тривалість може бути наслідком VBR проти CBR ... тож залишилися проблеми - неповнота та помилки читання компакт-дисків
Tobias Kienzler

Відповіді:


35

Інструмент командного рядку mp3val забезпечує швидку роботу сканування та, можливо, виправлення структурних дефектів у файлах mp3. Я намагаюся запустити його майже на кожному файлі в моїй колекції, за принципом "не зашкодить". Він ідентифікує дивовижну кількість нібито хороших файлів з дефектами, починаючи від невластивих до серйозних.

mp3val особливо добре розпізнає та виправляє недоліки заголовка, такі як відсутність заголовків VBR у файлі VBR (джерело більшості помилок тривалості та пошуку проблем). Але це також дозволить видалити сміттєві / пошкоджені дані аудіо кадру, непридатні суворі дії, з якими деякі гравці можуть поводитися менш елегантно, якщо вони залишаться у файлі.

Можна навіть сказати працювати над цілою каталогом mp3-файлів, ремонтувати лише ті файли, у яких виявляються проблеми, зберігати резервні копії (або, можливо, не), зберігати часові позначки (необов'язково) та записувати сеанс у текстовий файл (необов'язково).

І це безкоштовно та з відкритим кодом! (Посилання на його проект sourceforge.)

EDIT: Одне останнє, що я забув згадати. "Але mp3val не оновлювався з 2009 року !!", я чую, як ти плачеш. Це дуже правда ! Він працює чудово з 2009 року і не потребує оновлення. (Зрештою, це не так, як формат MP3-файлів змінився за останні 2 роки!)


також +1 вдруге для редагування :-), хоча, здається, деякі дійсні помилки все ще відкриті ...
Tobias Kienzler

1
Так, здається, що mp3val має деякі реальні проблеми під Windows 7 з деякими езотеричними іменами. Це прикро. (Перше правило сучасних обчислень: будь-яка достатньо велика колекція MP3 буде містити файл із будь-якою формою езотеричного імені файлу.) Він може використати трохи луна від програміста Windows, якщо хтось вирішить! [OffTopic: Це було нереально, заглянувши в mp3val svn і дізнавшись, що останній патч прийшов від мене - тим більше, що я зовсім забув про це! ;-)]
FeRD

1
На жаль, mp3val не вдалося виправити деякі мої файли :(. Але MP3Diagsвдалося виправити їх (заголовок Xing у файлах VBR, що призводить до неправильної тривалості відображення).
scai

@Marecky Це дуже дивно. Я просто спробував mp3valна Fedora 28, і він все ще працює добре. Найбільш езотерична залежність бібліотеки у нього є libm.so.6або libstdc++.so.6, так що це не так, як імовірно, що несумісний ABI злом. Хоча лише перевірити: в режимі за замовчуванням жодні файли mp3val не торкаються, вони вносять зміни лише в тому випадку, якщо він працює з -fпрапором - і навіть тоді лише ті файли, де режим сканування ввійшов WARNING:або ERROR:буде змінено. Якщо він не виявить жодних виправлених проблем, він залишить ваші файли недоторканими.
FeRD

1
@FeRD - Ви маєте рацію, я не пам’ятаю, яка це програма була (Audacious, Gnome MPV або Rhythmbox Music Player), але після видобування компакт-диска з останньою я помістила нові файли в плейлист однієї з цих програм і побачила неправильну трек часів - тому я вважав, що mp3 мають неправильні індекси (або все, що є всередині), і працює на них mp3val- але файли були правильними - тому mp3valніколи не відображалося жодне попередження і не виправляло файли. Я не знаю, чому гравець показав неправильні часи треку, я видалю попередній коментар.
Marecky

10

Я припускав, що ви вже спробували перший варіант у google ...? Також сценарій Perl, mp3checker , який може бути корисним.

Редагувати:

Щодо ремонту ваших треків, можливо, вони нададуть MP3-діаграм (посилання на рятувальну статтю).


дякую, контрольний мат - це гарний інструмент для виявлення проблемних файлів (які все ще залишають завдання виправити речі, якщо це можливо)
Тобіас Кіензлер

1
Великі пальці для діаграм MP3. У мене виникли проблеми з неправильним повідомленням про тривалість mp3-програвача. MP3 Діагни знайшли та усунули проблему.
Девід Л

4

mpck працює в Windows та GNU / Linux.

Головна сторінка: http://checkmate.gissen.nl/

Він виявляє погані кадри та генерує необов'язкові звіти.
Існує інтерфейс GUI для вікон також.

mpck 0.19 - checks a MP3 file for errors

Usage: mpck [OPTION]... [FILE]...

Verbosity:
   -v, --verbose        print some extra info
   -q, --quiet          print only Ok or Bad per file
   -B, --badonly        only report bad files
Other options:
   -R, --recursive      check directories recursively
   -e, --extention=EXT  only check files ending on .EXT
   -r                   short for -R -e mp3
   -m, --maxname=NUM    report bad for filenames which exceed NUM characters
   -n, --namecheck      check for strange characters in the filename
   -x, --xmloutput      output results in XML
   -h, --help           print this help, then exit
   -V, --version        print version information

Оновлення:

Ця програма, здається, цілком здатна обробляти імена файлів utf-8, хоча я не пробував японські, китайські та більш екзотичні гліфи.

Gentoo (UTF-8)

$ mpck -r 2000\ -\ Завтрак\ на\ траве\ \(USA\)/  | grep SUM
SUMMARY: 2000 - Завтрак на траве (USA)//04-ja-sbrasyvaju-kozhu.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//07-tak-vot-kakaja-ty-demo.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//09-evrej-i-goj.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//06-teplyj-dozhd'-demo.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//01-vse-napominaet-o-tebe.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//02-marsh-novoselov--sf-unplugged.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//05-rubaha.mp3
SUMMARY: 2000 - Завтрак на траве (USA)//03-kalifornia-love.mp3

Cygwin з мовою UTF-8 (японська мова у вікнах)
Рідні вікна двійкові не знають про cygwin, тому мені довелося конвертувати вихід.

$ mpck.exe -r "2000 - Завтрак на траве (USA)" | grep 'SUM' | 
       iconv -f CP932 -t UTF-8
SUMMARY: 2000 - Завтрак на траве (USA)\04-ja-sbrasyvaju-kozhu.mp3          
SUMMARY: 2000 - Завтрак на траве (USA)\07-tak-vot-kakaja-ty-demo.mp3       
SUMMARY: 2000 - Завтрак на траве (USA)\09-evrej-i-goj.mp3                  
SUMMARY: 2000 - Завтрак на траве (USA)\06-teplyj-dozhd'-demo.mp3          
SUMMARY: 2000 - Завтрак на траве (USA)\01-vse-napominaet-o-tebe.mp3        
SUMMARY: 2000 - Завтрак на траве (USA)\02-marsh-novoselov--sf-unplugged.mp3
SUMMARY: 2000 - Завтрак на траве (USA)\05-rubaha.mp3                     
SUMMARY: 2000 - Завтрак на траве (USA)\03-kalifornia-love.mp3            

Дякую, хоча про це вже згадувалося у цій відповіді
Тобіас Кіенцлер

mpck! = mp3check. Я помиляюся?
Ярослав Рахматуллін

Ні, це посилання з написом "перший варіант у google". Але +1, тим не менше, оскільки ви детально розробили його функції
Tobias Kienzler

Авжеж. Я це ігнорував. Я перевіряю mp3val, але поки що mpck міг все, що мені потрібно, від mp3-перевірки.
Ярослав Рахматуллін

2
У Linux це не вражає мене як необхідне застосовувати будь-які обхідні шляхи для mp3val - AFAICT згадана помилка є проблемою лише для Windows. (Незалежно від функцій, які він використовує для розбору командного рядка чи обробки файлів файлів, вони не повинні бути безпечними для Unicode.) У Linux я просто пошкодив рукою (шляхом занулення випадкових блоків з ghex) mp3-файли, перейменовані так: Tësting 1.mp3 Testíng ®eally hµrd.mp3 ☭They don't get much weirder☭.mp3... mp3val не мав проблеми з правильною обробкою всіх.
FeRD

0

Простішим є використання ffmpeg для копіювання файлу з файлу з несправною тривалістю в його тег ID3. Це змушує його написати правильну інформацію.

ffmpeg -i "audio.mp3" -acodec copy "audio_fixed.mp3"

Оскільки використовується копія, це займає частину часу, який займає оригінальне кодування. Це навряд чи помітно з піснею, але ви дійсно цінуєте це за 7-годинну аудіокнигу. Після повторного кодування теги ID3 тепер мають правильну інформацію.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.