bulk / batch converte arquivos mp3 para ogg via linha de comando?

41

é possível converter mp3 para ogg via linha de comando?

Eu gostaria apenas de converter meus arquivos mp3 para ogg para que eu possa reproduzi-los no firefox sem problemas.

    
por chrisjlee 07.06.2012 / 22:44

9 respostas

35

Procurando por pacotes que correspondem ao ogg, encontrei dir2ogg que parece ser exatamente o que você quer. Apenas

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

E ele recursivamente localiza e converte todos os arquivos mp3 em /path/to/mp3s/ para ogg (supondo que eu tenha lido o manual corretamente).

    
por geirha 07.06.2012 / 22:56
28

Use uma combinação de FFMPEG e Manipulação de strings .

Mude para a pasta onde seus mp3's estão localizados:

cd mp3folder

Um exemplo é usar um simples loop "for":

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

As aspas duplas impedem que os espaços nos nomes dos arquivos sejam tratados como 'novas linhas'.

O ffmpeg tem várias opções para incluir na conversão, como codecs, bitrate, tamanho de amostra, estéreo / mono, etc ... O acima é a conversão mais genérica com configurações padrão.

    
por SaultDon 07.06.2012 / 23:00
19

Tenha cuidado com conversões de MP3, M4A, etc. para OGG porque o resultado pode parecer ruim!

Aviso : MP3 e OGG são formatos com perdas , ao contrário de WAV ou FLAC. Isso significa que eles alcançam sua compressão em grande parte, jogando fora pedaços de informação de áudio que são imperceptíveis ao ouvido humano (chamado psicoacústica [wikipedia] )

Quando você codifica (transcodifica) de um formato com perdas para outro, a maioria desses bits psicoacustamente redundantes já se foi, então a qualidade da transcodificação vai sofrer e pode até ser "audível" no resultado. Portanto, não é recomendável fazer essas conversões, a menos que seja absolutamente necessário.

Minimize o efeito se você escolher uma taxa de bits de destino maior do que a taxa de bits source

Se você fizer essa conversão de MP3 para OGG, poderá minimizar a chance de artefatos (má qualidade) usando uma taxa de bits de destino maior do que a taxa de bits fonte , por exemplo, se seus MP3s estiverem em 128 kbps, tente usar Ogg em -q7 (nível de taxa de bits variável 7), que geralmente é de aproximadamente ~ 200 kbps.

Você pode passar a opção -q para dir2ogg (disponível nos repositórios como @geirha mencionado) que deve fazer o que você quiser.

    
por ish 07.06.2012 / 23:41
10

você pode usar o avconv um programa gpl, eu fiz um shell para exemplificar (execute-o na pasta com os arquivos .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

ou uma versão mais simples, sem validação de instalação avconv:

#!/bin/bash
for file in *.mp3
    do avconv -i "${file}" "'echo ${file%.mp3}.ogg'";
done
    
por ademar111190 14.08.2013 / 09:11
2

Aqui está um usando o mplayer, acho que isso é mais rápido que o avconv. Embora, o firefox deve reproduzir arquivos mp3 nativamente.

#!/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
    
por mchid 12.10.2015 / 11:43
1

Caso você esteja fazendo apenas áudio, use o código abaixo [caso o FF não reproduza o .ogg]

for file in *.mp3;
   do ffmpeg -i "${file}" -acodec libvorbis "${file/%mp3/ogg}"; 
done
    
por Arup Bhanja 26.04.2013 / 09:07
1

A análise / substituição de mp3 por ogg está incorreta. A forma correta deve ser:

for file in *.mp3;

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

done
    
por John Jacq 18.11.2013 / 08:23
1

Há também conversor de som . Ele suporta tanto GUI quanto CLI e pode realizar transformações em massa em ambos os modos.

    
por zakkak 31.05.2015 / 13:58
0

Isso parece resolver o problema link

    
por Garry Cairns 07.06.2012 / 22:51

Tags