Перетворення wma в mp3 оптом без зміни каталогу


8

У мене тисячі музичних композицій у форматі WMA з тих пір, коли я використовував програвач Windows Media Player для копіювання компакт-дисків. Зараз у мене виникають проблеми з їх відтворенням на моєму робочому столі Linux.

Чи є хороше рішення (для Windows або Linux) для перетворення всіх WMA в MP3, залишаючи їх у тих же каталогах, що і раніше? Я спробував використовувати iTunes для цього, але він почав створювати нові каталоги для зберігання всіх перетворених треків, які я не хочу.


1
У Linux (який дистрибутив, до речі?) Якась комбінація find -execdirі ffmpegповинна це зробити, але я проведу деякий тест, перш ніж опублікувати відповідь.
Вільям Джексон

2
Майте на увазі, що кожного разу, коли ви конвертуєте формати з втратами, ви втрачаєте якість. Чи чутна ця втрата якості, залежить від оригінальної якості, кодера, який ви використовуєте для перекодування, обладнання для відтворення та ваших вух. Якби це я, я б переглядав повторне копіювання компакт-дисків (якщо можливо), а не перекодування. Хоча я знаю, що це забирає набагато більше часу. Ви можете також розглянути можливість зберігання зірваних компакт-дисків у форматі без втрат (FLAC - це моє улюблене, але є й інші), а також перекодування цього файлу в MP3 для вашого портативного MP3-програвача тощо. Звичайно, потрібно більше місця на диску.
Flimzy

@William: На роботі я використовую openSUSE, вдома я використовую linux mint (ubuntu) та windows 7. Мені доведеться перевірити ffmpeg, коли встигну, і побачити, чи зможу я написати bash-скрипт чи щось. Якщо ви опублікуєте відповідь, яка працює, то я відзначу це
Едді,

@Flimzy: Я спробую перетворити кілька треків і перевірити на слух, чи помічаю я втрату якості. Я не аудіофіл, тому я підозрюю, що це, мабуть, буде для мене нормально, але краще безпечно, ніж шкода, я вважаю
Едді,

Я використовую DB PowerAmp Music Converter для цього дивовижного програмного забезпечення, але не безкоштовного (потрібна ліцензія mp3) ... dbpoweramp.com/dmc.htm
Moab

Відповіді:


6

Якщо у вас є тисячі файлів, це займе назавжди.

find . -iname "*.wma" -execdir ffmpeg -i {} -ab 192k -map_metadata 0:s:0 {}.mp3 \;

(Старіші версії ffmpeg можуть знадобитися -map_meta_dataзамість -map_metadata, 0:0а не 0:s:0.)

Я тестував це на Ubuntu 16.04. Якщо ви ще цього не зробили, вам потрібно встановити пакунки ffmpegта libavcodec-extra-52.

Запустіть цю команду з батьківського каталогу, який містить усі ваші файли WMA. Він буде шукати в усіх підкаталогах будь-який файл із .wmaрозширенням та намагатиметься перетворити його в MP3. Якщо вихідний файл названий Awesome Song.wma, новий файл буде Awesome Song.wma.mp3і буде знаходитися в тій самій директорії, що і вихідний файл.

Якщо ви зазвичай користуєтеся бітрейтом вище або нижче 192 К, змініть -ab 192kпрапор на все, що вам потрібно.


1

Цей доданий прапор покаже ffmpeg спробувати зберегти теги ID3:

find . -iname "*.wma" -execdir ffmpeg -i {} -ab 192k **-map_metadata 0:0** {}.mp3 \;

1

Цей знаходить файли WMA, перетворює їх у MP3 із чистим ім'ям розширення .mp3замість .wma.mp3та видаляє старий файл. Це було перевірено для роботи на Fedora 19 під час пошуку файлів WMA через файли, розміщені 150 Гб, які упорядковані artist/album/<disk number>/file.

find . -iname "*.wma" -execdir bash -c 'NAME="{}" && ffmpeg -y -i "$NAME" -ab 192k "${NAME/.wma/.mp3}" && rm "$NAME"' \;

Працює в Mac, схоже, зберігає і деякі метадані. Хоча я отримав багато Queue input is backward in time [mp3 @ 0x7fbffb02ba00] Application provided invalid, non monotonically increasing dts to muxer in streamпопереджень.
адиб


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