Як я можу виправити неправильну тривалість mp3?


22

У моїй музичній бібліотеці є декілька пісень, які відображають неправильні значення тривалості, і тому вони частково грають у Клементині. У Banshee та деяких інших програвачах вони показують різні значення тривалості, а іноді виконують повну пісню.

Чи є спосіб це виправити без необхідності «перекодувати» пісню?

Відповіді:


24

MP3 Діагност може виправити неправильну тривалість (та інші помилки). Це з відкритим кодом та у сховищах. Це інструмент GUI.

Установка

sudo apt-get install mp3diags mp3diags-doc

Ще один варіант - MP3val , який можна використовувати або через командну лінію , або через GUI:

Установка

sudo apt-get install mp3val

Приклад використання

mp3val damaged.mp3 -f -t

-f: виправити помилки -t,: зберегти початкову мітку часу


Це працювало для мене. Я використовую catдля комбінування частин аудіокниги в один файл ( cat 1.mp3 2.mp3 > out.mp3), і це чудово підходить для відтворення, але майже кожен гравець стає нерозумним із часовими позначками і навіть mediainfoпоказує тривалість першого файлу, а не комбінованого.
blockloop

catє менш ідеальним для таких завдань, як поєднання mp3-файлів. Кращий спосіб: http://superuser.com/questions/314239/how-to-join-merge-many-mp3-files
phoibos

Чому ти так думаєш? MP3-файли - це не більше, ніж необроблені потоки, і вони майже ідеальний кандидат для catосторонь банальних побічних ефектів, вирішених простим переглядом даних заголовка Xing. Навіть без mp3val файли все ще відтворюються у кожному програвачі, через який я їх надіслав. catнадзвичайно ефективний і МНОГО швидший, ніж перекодування з ffmpeg. Навіть із доданою командою mp3val.
blockloop

ffmpegз concatі -acodec copyробить НЕ перекодувати - він просто копіює потоки (так це швидко), але створює відповідний файл в першу чергу (без непотрібних даних заголовка і теги з'являються кілька разів в результуючих файлів).
phoibos

10

Якщо ви не хочете встановлювати щось нове, спробуйте ffmpeg :

ffmpeg -i file_orig.mp3 -acodec copy file_fixed.mp3

Ідеальне рішення, працює також, якщо неправильний mp3-файл був створений самим ffmpeg!
Pierpaolo Cira

Це насправді спрацювало для мене, коли рішення mp3valта mp3checkрішення не зробили. (Просто для переконання, він не перекодує, чи не так?)
Нолдорін,

З копією -acodec вона не перекодується. Якщо ви хочете перевірити, спробуйте і без нього, і перевірте, наскільки швидко це відбувається.
Алькаро

1

Крім заголовків VBR, які не відповідають фактичному звуку (який ви використовували б mp3valдля виправлення, як зазначено в іншій відповіді), ще одна причина цього може бути викликана файлом MP3 з тегом ID3, який має неправильне значення для TLENтегу. Ви можете виправити це за допомогою mid3v2інструменту з mutagenпакета для видалення тегу (мабуть, його необов'язково):

$ mid3v2 --delete-frames=TLEN filename.mp3

Музичний плеєр Quodlibet також має зручний плагін "Виправити тривалість MP3", який ви можете використовувати для цього.

(Взяте з FAQ щодо Quodlibet: http://quodlibet.readthedocs.org/en/latest/guide/faq.html )


1

mp3check прекрасно працював для мене також із подвійними кодами.

sudo apt-get install mp3check

mp3check {filename or wildcard} --cut-junk-start --cut-junk-end --fix-headers

допомогли, коли медіаплеєр Windows показав неправильну тривалість файлу mp3
Mantas D

ПОПЕРЕДЖЕННЯ Якщо у вас є теги id3v2, обкладинка мистецтва тощо, будьте в курсі цих проблем (я навчився важким способом) bugs.launchpad.net/ubuntu/+source/mp3check/+bug/592775 bugs.launchpad.net/ubuntu/+ джерело / mp3check / + помилка / 1348223
digitaltoast
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.