Converti in batch .wav in mp3 e ogg?


20

Ho alcune centinaia di file .wav che devo convertire in formato ogg e mp3. C'è un modo in cui posso farlo in batch da Audacity o da qualche altro strumento da riga di comando?

audio  batch  mp3  audacity  ogg 

Risposte:


25

Da una riga di comando simile a Unix (Linux, OSX, ecc.), Ffmpeg può essere usato in questo modo:

for f in *.wav; do ffmpeg -i "$f" -c:a libmp3lame -q:a 2 "${f/%wav/mp3}" -c:a libvorbis -q:a 4 "${f/%wav/ogg}"; done

Questo convertirà ogni WAV in una directory in un MP3 e un OGG; nota che fa distinzione tra maiuscole e minuscole (il comando sopra convertirà ogni file che termina in .wav, ma non in .WAV). Se si desidera una versione senza distinzione tra maiuscole e minuscole:

for f in *.{wav,WAV}; do ffmpeg -i "$f" -c:a libmp3lame -q:a 2 "${f%.*}.mp3" -c:a libvorbis -q:a 4 "${f%.*}.ogg"; done

Per convertire ricorsivamente ogni WAV in una directory (ovvero: ogni WAV nella directory corrente e tutte le directory nella directory corrente), è possibile utilizzare find:

find . -type f -name '*.wav' -exec bash -c 'ffmpeg -i "$0" -c:a libmp3lame -q:a 2 "${0/%wav/mp3}" -c:a libvorbis -q:a 4 "${f/%wav/ogg}' '{}' \;

(Max rispetto a Dennis per la sua risposta qui per avermi trovato un'implementazione funzionante di find con ffmpeg)

Per la ricerca senza distinzione tra maiuscole e minuscole con find, utilizzare -inameinvece di -name.

Una nota su -q:a: per MP3, l'intervallo di qualità è 0-9, dove 0 è la migliore qualità e 2 è abbastanza buono per la maggior parte delle persone per convertire l'audio del CD; per OGG, è 1-10, dove 10 è il migliore e 5 è equivalente alla qualità del CD per la maggior parte delle persone.


4
Molto utile. Ho modificato questo per convertire in batch .wav in mp3 in modo ricorsivo, dal momento che non avevo bisogno di ogg:find . -type f -name '*.wav' -exec bash -c 'ffmpeg -i "$0" -c:a libmp3lame -q:a 2 "${0/%wav/mp3}"' '{}' \;
smg

Il terzo esempio, per la conversione ricorsiva, non corrisponde '.
Anaphory,

$ for f in *.wav; do ffmpeg -i "$f" -c:a libmp3lame -b:a 320k "${f/%wav/mp3}"; donesolo per 320 kbps mp3
qwr



2

Scarica ffmpeg dal link seguente e installalo: http://ffmpeg.zeranoe.com/builds/

creare ed eseguire file batch con i seguenti comandi in esso:

echo converting *.wav to *.ogg 
mkdir ..\Ogg
for /r %%i in (*) do ffmpeg -i %%i -acodec libvorbis ..\Ogg\%%~ni.ogg

Tutti i file * .ogg convertiti verranno copiati nella directory .. \ Ogg.


0

Ho apportato alcune modifiche a un file bat che ho trovato su SO, ora, si occupa di spazi nei nomi dei file come spesso accade nel nome delle canzoni. questo file bat converte .wav in .mp3, usando lo strumento da riga di comando VLC. Ma puoi cambiare nei formati wma -> mp3 e così via ...

@echo off
chcp 65001
SETLOCAL ENABLEDELAYEDEXPANSION

for /f "delims=" %%f IN ('dir /b /s "YOUR_DISK:\Path\To\Your Music\That May contain Spaces\*.wav"') do (
set file1=%%~nf.mp3
echo "file :" !file1!
set fic1=%%f
echo "file : " !fic1!

CALL "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe"  "!fic1!" --sout="#transcode{vcodec=none,acodec=mp3,ab=320,channels=2,samplerate=48000}:std{access=file{no-overwrite},mux=mp3,dst="""!file1!"""}" vlc://quit
)

echo .
echo conversion finished
pause

chcp cambia la codifica (per gestire caratteri accentuati.) ab è la velocità in bit qui 320

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.