Conversione di wma in mp3 in blocco senza cambiare directory


8

Ho migliaia di brani musicali in formato WMA da quando utilizzavo Windows Media Player per estrarre CD. Ora ho problemi a riprodurli sul mio desktop Linux al lavoro.

Esiste una buona soluzione (per Windows o Linux) per convertire tutti i WMA in MP3 lasciandoli nelle stesse directory di prima? Ho provato a usare iTunes per farlo, ma ha iniziato a creare nuove directory per memorizzare tutte le tracce convertite, cosa che non voglio.


1
In Linux (quale distro, a proposito?) Una combinazione di find -execdire ffmpegdovrebbe farlo, ma eseguirò alcuni test prima di pubblicare una risposta.
William Jackson,

2
Tieni presente che ogni volta che esegui la conversione tra formati con perdita, perdi qualità. Il fatto che la perdita di qualità sia udibile dipende dalla qualità originale, dall'encoder utilizzato per la transcodifica, dall'apparecchiatura di riproduzione e dalle orecchie. Se fossi in me, proverei a ri-copiare i CD (se possibile) piuttosto che a transcodificare. Anche se so che ci vuole molto più tempo. Si potrebbe anche prendere in considerazione l'archiviazione dei CD rippati in un formato lossless (FLAC è il mio preferito, ma ce ne sono altri), e la transcodifica che in MP3 per il vostro lettore MP3 portatile, ecc Questo naturalmente richiede più spazio su disco.
Flimzy,

@William: Al lavoro utilizzo openSUSE, a casa uso Linux Linux (Ubuntu) e Windows 7. Dovrò controllare ffmpeg quando ho tempo e vedere se riesco a scrivere uno script bash o qualcosa del genere. Se pubblichi una risposta che funziona, lo segnerò
Eddy,

@Flimzy: proverò a convertire alcune tracce e verificherò ad orecchio se noto la perdita di qualità. Non sono un audiofilo, quindi sospetto che probabilmente andrà bene per me, ma suppongo che sia più sicuro che dispiaciuto
Eddy,

Uso DB PowerAmp Music Converter per questo, fantastico software ma non gratuito (è richiesta la licenza mp3) ... dbpoweramp.com/dmc.htm
Moab

Risposte:


6

Se hai migliaia di file, questo richiederà per sempre.

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

(Potrebbero essere necessarie versioni precedenti di ffmpeg -map_meta_dataanziché -map_metadata, 0:0anziché 0:s:0.)

Ho provato questo su Ubuntu 16.04. Se non l'hai già fatto, devi installare i pacchetti ffmpege libavcodec-extra-52.

Avviare questo comando dalla directory principale che contiene tutti i file WMA. Cercherà in tutte le sottodirectory qualsiasi file con .wmaestensione e tenterà di convertirlo in MP3. Se il nome del file sorgente è Awesome Song.wma, il nuovo file sarà Awesome Song.wma.mp3e sarà nella stessa directory del file sorgente.

Se utilizzi normalmente una velocità in bit superiore o inferiore a 192k, modifica il -ab 192kflag come desideri.


1

Questo flag aggiunto dirà a ffmpeg di provare a conservare i tag ID3:

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

1

Questo trova i file WMA, li converte in MP3 con un nome di estensione pulito .mp3invece di .wma.mp3ed elimina il vecchio file. Questo è stato testato per funzionare su Fedora 19 durante la ricerca di file WMA attraverso 150 GB di file organizzati da artist/album/<disk number>/file.

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

Funziona su un Mac, sembra preservare anche alcuni metadati. Anche se ho ricevuto molti Queue input is backward in time [mp3 @ 0x7fbffb02ba00] Application provided invalid, non monotonically increasing dts to muxer in streamavvisi.
Adib


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.