bulk / batch mp3 dosyalarını komut satırı ile ogg dönüştürmek?


44

mp3 'ü ogg' ye komut satırı ile dönüştürmek mümkün mü?

Toplu bir baskın içinde mp3 dosyalarımı ogg'e dönüştürmek istiyorum, böylece herhangi bir sorun olmadan firefox'ta oynayabilirim.


firefox mp3 dosyaları gayet iyi
çalmalı

Yanıtlar:


37

Ogg ile eşleşen paketleri ararken, tam olarak istediğiniz gibi görünen dir2ogg'u buldum . Sadece

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

Ve yinelenen bir şekilde bulduğu ve altındaki tüm mp3 dosyalarını /path/to/mp3s/ogg'a dönüştürür (kılavuzu doğru okuduğumu varsayarak).


30

FFMPEG ve String Manipulation kombinasyonunu kullanın .

MP3'lerin bulunduğu klasöre geç:

cd mp3folder

Bir örnek basit bir "for" döngüsünü kullanmaktır:

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

Çift tırnak, dosya adlarındaki boşluklara 'yeni satırlar' olarak bakılmasını önler.

ffmpeg, codec, bitrate, örnek boyutu, stereo / mono, vb. gibi dönüşümlere dahil etmek için çeşitli seçeneklere sahiptir.


Mükemmel. dir2ogg wheezy üzerinde işe yaramadı ama bu cevap bir cazibe gibi çalıştı
Onimusha

dir2ogg da benim için işe yaramadı, ama m4a -> ogg. <a href=" linuxquestions.org/questions/linux-general-1/… "title= linuxquestions.org"> lq </a> ancak yukarıdaki for döngüsü yaptı (ffmpeg'u avconv ile değiştirirken). Yukarıdaki işlemle ogg, dosya boyutu 9 kat artar, ancak önce m4a dosyasını mp3 e, sonra mp3 e ogg'a dönüştürürseniz, dosya boyutu yalnızca 4x daha büyüktür. <pre> <code> avconv -i "ManjusriMantra.m4a" " ManjusriMantra.mp3 "bekle avconv -i" ManjusriMantra.mp3 "" ManjusriMantra.ogg "<code> <pre>
afc888ny

bu benim için işe yaradı: ffmpeg -i sound.mp3 -c:a libvorbis -q:a 10 sound.oggEn yüksek kalite ayarı, yine de orijinalinden belirgin şekilde daha kötü. Varsayılan ayarlar benim için hiç işe yaramadı (Cygwin'de, bu yüzden beni dava et :)), ama bu sorunun iyi bir bilgisi vardı: superuser.com/questions/273797/convert-mp3-to-ogg-vorbis
Kai Carver

19

MP3, M4A, vs.'den OGG'ye dönüşümlere dikkat edin, çünkü sonuç kötü olabilir !

Uyarı : Hem MP3 hem de OGG, WAV veya FLAC'ın aksine kayıp formatlardır. Bu, insan kulağına algılanamayan ses bilgisi parçalarını ( psikoakustik [wikipedia] olarak adlandırılır ) atarak, büyük ölçüde sıkıştırma elde ettikleri anlamına gelir.

Kayıplı bir formattan diğerine kodladığınızda (kod dönüştürdüğünüzde), psikoakustik açıdan yedekli bitlerin çoğu zaten kaybolur, bu yüzden kod çözme kalitesi zarar görür ve sonuçta "baskın" olabilir. Bu nedenle, kesinlikle gerekli olmadıkça bu tür dönüşümleri yapmanız önerilmez.


Bunu yaparsanız , kaynak bit hızından daha yüksek bir hedef bit hızı seçerek etkiyi en aza indirin

Bu MP3-OGG dönüşümünü yaparsanız , kaynak bit oranından daha yüksek bir hedef bit hızı kullanarak yapay elden çıkma olasılığını en aza indirebilirsiniz ( örneğin, MP3'leriniz 128 kbps ise, Ogg'i kullanmayı deneyin (değişken bit hızı düzeyinde). 7), bu genellikle ~ 200 kbps civarındadır.-q7

Sen geçebilir -qistediğini yapmalıdır (@geirha belirtildiği gibi repo mevcut) dir2ogg seçeneği.


10

avconv bir gpl programını kullanabilirsiniz, örneklemek için bir kabuk yaptım (.mp3 dosyalarının bulunduğu bir klasörde çalıştırın):

#!/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

ya da daha basit bir versiyon, avconv kurulumunun onaylanması olmadan:

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

NOT: avconv paket bir son şube / çatal Ffmpeg benzer sözdizimi ve özellikleri ile,.
david6 19

NOT 2: ffmpeg resmen onaylanmamıştır ve avconvbunun yerine kullanmanız gerektiğini açıkça belirtir .
ashes999

3

Mp3'ün ogg ile ayrıştırılması / değiştirilmesi yanlış. Doğru form şöyle olmalı:

for file in *.mp3;

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

done

2

İşte mplayer kullanarak bir tane bu avconv daha hızlı olduğunu düşünüyorum. Buna rağmen, firefox yerel olarak mp3 dosyalarını oynatmalıdır.

#!/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

Sadece ses yapıyorsanız aşağıdaki kodu kullanın [aksi halde FF .ogg oynatmıyor]

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


0

Bu, sorununuzu çözebilecek gibi görünüyor http://www.perturb.org/display/entry/687/


"Bunun" ne olduğunu açıklayabilir misiniz? Cevabınıza daha fazla bağlam ekler ve referans verdiğiniz bağlantı bir gün kaybolursa kullanılabilirliğini
arttırır

Önerdiğin gibi yapacaktın ama sonra Geirha'nın cevabını gördüm, bu benimkinden çok daha iyi görünüyordu, ben de onu iptal ettim.
Garry Cairns
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.