Mengubah wma ke mp3 secara massal tanpa mengubah direktori

8

Saya memiliki ribuan trek musik dalam format WMA sejak saya biasa menggunakan Windows Media Player untuk menyalin CD. Sekarang saya mengalami masalah memainkannya di desktop Linux saya di tempat kerja.

Apakah ada solusi yang baik (untuk Windows atau Linux) untuk mengubah semua WMA ke MP3 sambil meninggalkan mereka di direktori yang sama seperti sebelumnya? Saya mencoba menggunakan iTunes untuk melakukannya, tetapi mulai membuat direktori baru untuk menyimpan semua lagu yang dikonversi, yang tidak saya inginkan.

Eddy
sumber
1
Di Linux (distro apa, omong-omong?) Beberapa kombinasi find -execdirdan ffmpegharus melakukannya, tetapi saya akan menjalankan beberapa tes sebelum saya mengirim jawaban.
William Jackson
2
Ketahuilah bahwa setiap kali Anda mengkonversi antara format yang hilang, Anda kehilangan kualitas. Apakah hilangnya kualitas itu dapat didengar tergantung pada kualitas aslinya, enkoder yang Anda gunakan untuk transcode, peralatan pemutaran, dan telinga Anda. Jika itu saya, saya akan melihat ripping ulang CD (jika mungkin) daripada transcoding. Meskipun saya tahu itu membutuhkan lebih banyak waktu. Anda mungkin juga mempertimbangkan untuk menyimpan CD Anda yang robek dalam format lossless (FLAC adalah favorit saya, tetapi ada yang lain), dan mentranskode itu ke MP3 untuk pemutar MP3 portabel Anda, dll. Itu tentu saja membutuhkan lebih banyak ruang disk.
Flimzy
@ William: Di kantor saya menggunakan openSUSE, di rumah saya menggunakan linux mint (ubuntu) dan windows 7. Saya harus memeriksa ffmpeg ketika saya punya waktu dan melihat apakah saya bisa menulis skrip bash atau sesuatu. Jika Anda memposting jawaban yang berhasil maka saya akan menandai itu
Eddy
@Flimzy: Saya akan mencoba mengonversi beberapa lagu dan memeriksa dengan teling apakah saya melihat adanya penurunan kualitas. Saya bukan audiophile jadi saya curiga mungkin akan baik-baik saja bagi saya, tapi saya rasa lebih baik daripada menyesal
Eddy
Saya menggunakan DB PowerAmp Music Converter untuk ini, perangkat lunak yang luar biasa tetapi tidak gratis (diperlukan lisensi mp3) ... dbpoweramp.com/dmc.htm
Moab

Jawaban:

6

Jika Anda memiliki ribuan file, maka ini akan berlangsung selamanya.

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

(Versi ffmpeg yang lebih lama mungkin perlu -map_meta_dataalih- alih -map_metadata, 0:0alih-alih 0:s:0.)

Saya menguji ini di Ubuntu 16.04. Jika Anda belum melakukannya, Anda perlu menginstal paket ffmpegdan libavcodec-extra-52.

Mulai perintah ini dari direktori induk yang berisi semua file WMA Anda. Ini akan mencari semua subdirektori untuk mencari file dengan .wmaekstensi dan mencoba mengubahnya menjadi MP3. Jika file sumber dinamai Awesome Song.wma, file baru akan Awesome Song.wma.mp3dan akan berada di direktori yang sama dengan file sumber.

Jika Anda biasanya pengguna bitrate lebih tinggi atau lebih rendah dari 192k, ubah -ab 192ktanda menjadi apa pun yang Anda inginkan.

William Jackson
sumber
1

Bendera yang ditambahkan ini akan memberi tahu ffmpeg untuk mencoba dan menyimpan tag ID3:

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

Yang ini menemukan file WMA, mengonversinya menjadi MP3 dengan nama ekstensi bersih .mp3alih-alih .wma.mp3dan menghapus file lama. Ini telah diuji untuk berfungsi pada Fedora 19 saat mencari file WMA melalui 150 GB senilai file yang diatur oleh artist/album/<disk number>/file.

find . -iname "*.wma" -execdir bash -c 'NAME="{}" && ffmpeg -y -i "$NAME" -ab 192k "${NAME/.wma/.mp3}" && rm "$NAME"' \;
Randell
sumber
Bekerja di Mac, tampaknya mempertahankan beberapa metadata juga. Meskipun saya mendapat banyak Queue input is backward in time [mp3 @ 0x7fbffb02ba00] Application provided invalid, non monotonically increasing dts to muxer in streamperingatan.
adib