bulk / batch convertire file mp3 in ogg tramite riga di comando?


44

è possibile convertire mp3 in ogg tramite riga di comando?

Vorrei solo in un colpo solo convertire i miei file mp3 in ogg in modo da poterli riprodurre in Firefox senza problemi.


Firefox dovrebbe riprodurre file mp3 bene
mchid

Risposte:


37

Alla ricerca di pacchetti corrispondenti a ogg, ho trovato dir2ogg che sembra essere esattamente quello che vuoi. Appena

sudo apt-get install dir2ogg
dir2ogg -r /path/to/mp3s/

E ricorsivamente trova e converte tutti i file mp3 in /path/to/mp3s/ogg (supponendo che io abbia letto correttamente il manuale).


30

Utilizzare una combinazione di FFMPEG e manipolazione delle stringhe .

Passa alla cartella in cui si trovano i tuoi mp3:

cd mp3folder

Un esempio è usare un semplice ciclo "for":

for file in *.mp3
  do ffmpeg -i "${file}" "${file/%mp3/ogg}"
done

Le doppie virgolette impediscono che gli spazi nei nomi dei file vengano trattati come "newline".

ffmpeg ha diverse opzioni da includere nella conversione come codec, bitrate, dimensione del campione, stereo / mono, ecc ... Quanto sopra è la conversione più generica con le impostazioni predefinite.


Eccellente. dir2ogg non ha funzionato su wheezy ma questa risposta ha funzionato come un incantesimo
Onimusha,

dir2ogg non ha funzionato neanche per me, ma stavo convertendo m4a -> ogg. <a href=" linuxquestions.org/questions/linux-general-1/… "title= linuxquestions.org"> lq </a> ma il ciclo for sopra ha funzionato (sostituendo ffmpeg con avconv). Durante la conversione di m4a / mp3 in ogg con il processo sopra, la dimensione del file aumenta di 9 volte. Tuttavia, se prima converti m4a in mp3 e poi mp3 in ogg, la dimensione del file è solo 4x più grande. <pre> <code> avconv -i "ManjusriMantra.m4a" " ManjusriMantra.mp3 "wait avconv -i" ManjusriMantra.mp3 "" ManjusriMantra.ogg "<code> <pre>
afc888ny

questo ha funzionato per me: ffmpeg -i sound.mp3 -c:a libvorbis -q:a 10 sound.oggimpostazione di massima qualità, ancora notevolmente peggiore dell'originale. Le impostazioni predefinite non funzionavano affatto per me (su Cygwin, quindi fai causa a me :)), ma questa domanda aveva buone informazioni: superuser.com/questions/273797/convert-mp3-to-ogg-vorbis
Kai Carver

19

Fai attenzione alle conversioni da MP3, M4A, ecc. In OGG perché il risultato potrebbe sembrare scarso!

Avvertenza : sia MP3 che OGG sono formati con perdita , a differenza di WAV o FLAC. Ciò significa che raggiungono la loro compressione in gran parte eliminando frammenti di informazioni audio che sono impercettibili all'orecchio umano (chiamato psicoacustica [wikipedia] )

Quando si codifica (transcodifica) da un formato con perdita a un altro, la maggior parte di quei bit psicoacusticamente ridondanti sono già spariti, quindi la qualità della transcodifica ne risentirà e potrebbe anche essere "sopportabile" nel risultato. Pertanto, non è consigliabile effettuare tali conversioni se non assolutamente necessario.


Ridurre al minimo l'effetto se lo si fa scegliendo una velocità in bit di destinazione superiore alla velocità in bit di origine

Se esegui questa conversione da MP3 a OGG, puoi ridurre al minimo la possibilità di artefatti (scarsa qualità) utilizzando un bitrate di destinazione superiore rispetto al bitrate di origine , ad esempio se i tuoi MP3 sono a 128 kbps, prova a utilizzare Ogg a -q7(livello di bitrate variabile 7), che di solito è di circa ~ 200 kbps.

Puoi passare l' -qopzione a dir2ogg (disponibile nei repository come citato da @geirha) che dovrebbe fare quello che vuoi.


10

puoi usare avconv un programma gpl, per esempio ho fatto una shell ( eseguilo su una cartella con i file .mp3):

#!/bin/bash
if hash avconv > /dev/null; then
    for file in *.mp3
        do avconv -i "${file}" "`echo ${file%.mp3}.ogg`";
    done
else
    echo "avconv not found"
fi

o una versione più semplice, senza convalida dell'installazione di avconv:

#!/bin/bash
for file in *.mp3
    do avconv -i "${file}" "`echo ${file%.mp3}.ogg`";
done

NOTA: il pacchetto avconv è un branch / fork recente di ffmpeg , con sintassi e funzionalità simili.
david6

NOTA 2: ffmpeg è ufficialmente deprecato e menziona esplicitamente che è necessario utilizzare avconvinvece.
ashes999,

3

L'analisi / sostituzione di mp3 con ogg non è corretta. La forma corretta dovrebbe essere:

for file in *.mp3;

   do ffmpeg -i "${file}" -acodec libvorbis "${file%mp3}ogg";

done

2

Eccone uno che usa mplayer penso che sia più veloce di avconv. Tuttavia, Firefox dovrebbe riprodurre i file mp3 in modo nativo.

#!/bin/bash
for f in *.mp3; do
 newname=`echo $f | tr ' ' '_' `
 mv "$f" $newname
 f=$newname
 mplayer $f -novideo -ao pcm:file=tmp.wav
 lame -V 0 -q 0 tmp.wav ${f/.mp3/.ogg}
 rm -f tmp.wav
done

1

Nel caso in cui tu stia facendo solo audio, usa il codice seguente [altrimenti FF non riproduce il file .ogg]

for file in *.mp3;
   do ffmpeg -i "${file}" -acodec libvorbis "${file/%mp3/ogg}"; 
done


0

Sembra che potrebbe risolvere il tuo problema http://www.perturb.org/display/entry/687/


Puoi approfondire di cosa si tratta? Aggiungerebbe più contesto alla tua risposta e migliorerebbe la sua usabilità se il link a cui fai riferimento un giorno scompare =)
SaultDon

Stavo per fare come mi hai suggerito, ma poi ho visto la risposta di Geirha, che sembra molto meglio della mia, quindi l'ho votata.
Garry Cairns,
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.