bulk / batch mengkonversi file mp3 ke ogg via command line?

44

apakah mungkin untuk mengkonversi mp3 ke ogg melalui command line?

Saya ingin hanya dalam gerakan massal mengkonversi file mp3 saya ke ogg sehingga saya dapat memainkannya di firefox tanpa masalah.

chrisjlee
sumber
firefox harus memutar file mp3 dengan baik
mchid

Jawaban:

37

Mencari paket yang cocok dengan ogg, saya menemukan dir2ogg yang tampaknya persis seperti yang Anda inginkan. Hanya

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

Dan secara rekursif menemukan dan mengkonversi semua file mp3 di bawah /path/to/mp3s/ke ogg (dengan asumsi saya membaca manual dengan benar).

geirha
sumber
30

Gunakan kombinasi FFMPEG dan Manipulasi String .

Ubah ke folder tempat mp3 Anda berada:

cd mp3folder

Salah satu contoh adalah dengan menggunakan loop "untuk" sederhana:

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

Kutipan ganda mencegah spasi pada nama file yang diperlakukan sebagai 'baris baru'.

ffmpeg memiliki beberapa opsi untuk disertakan dalam konversi seperti codec, bitrate, ukuran sampel, stereo / mono, dll ... Di atas adalah konversi yang paling umum dengan pengaturan default.

SaultDon
sumber
Luar biasa. dir2ogg tidak bekerja pada wheezy tetapi jawaban ini bekerja seperti pesona
Onimusha
dir2ogg juga tidak bekerja untuk saya, tetapi saya mengubah m4a -> ogg. <a href=" linuxquestions.org/questions/linux-general-1/... "title= linuxquestions.org"> lq </a> tetapi untuk loop di atas tidak (mengganti ffmpeg dengan avconv). Ketika mengkonversi m4a / mp3 ke ogg dengan proses di atas, ukuran file meningkat 9 kali. Namun, jika Anda pertama kali mengkonversi m4a ke mp3 dan kemudian mp3 ke ogg, ukuran file hanya 4x lebih besar. <pre> <code> avconv -i "ManjusriMantra.m4a" " ManjusriMantra.mp3 "wait avconv -i" ManjusriMantra.mp3 "" ManjusriMantra.ogg "<code> <pre>
afc888ny
ini bekerja untuk saya: ffmpeg -i sound.mp3 -c:a libvorbis -q:a 10 sound.oggPengaturan kualitas tertinggi, masih terasa lebih buruk dari aslinya. Pengaturan default sama sekali tidak bekerja untuk saya (pada Cygwin, jadi tuntut saya :)), tetapi pertanyaan ini memiliki info bagus: superuser.com/questions/273797/convert-mp3-to-ogg-vorbis
Kai Carver
19

Hati-hati dengan konversi dari MP3, M4A, dll ke OGG karena hasilnya mungkin terdengar buruk!

Peringatan : Baik MP3 dan OGG adalah format lossy , tidak seperti WAV atau FLAC. Ini berarti mereka mencapai kompresi sebagian besar dengan membuang sedikit informasi audio yang tidak terlihat oleh telinga manusia (disebut psychoacoustics [wikipedia] )

Ketika Anda menyandikan (transcode) dari satu format lossy ke format lossy lainnya, sebagian besar dari bit-bit redundan psikoacoustically sudah hilang, sehingga kualitas transcoding akan menderita dan bahkan mungkin "terdengar" dalam hasilnya. Karenanya, tidak disarankan untuk melakukan konversi seperti itu kecuali benar-benar diperlukan.


Minimalkan efek jika Anda melakukannya dengan memilih bit-rate tujuan yang lebih tinggi daripada bit-rate sumber

Jika Anda melakukan konversi MP3-ke-OGG ini, Anda dapat meminimalkan kemungkinan artefak (kualitas buruk) dengan menggunakan bitrate tujuan lebih tinggi daripada bitrate sumber , mis. Jika MP3 Anda berada pada 128 kbps, coba gunakan Ogg pada -q7(variabel bitrate level 7), yang biasanya sekitar ~ 200 kbps.

Anda dapat meneruskan -qopsi ke dir2ogg (tersedia dalam repo seperti yang disebutkan @geirha) yang seharusnya melakukan apa yang Anda inginkan.

ish
sumber
10

Anda dapat menggunakan program avconv a gpl, saya melakukan shell untuk contoh (jalankan di folder dengan 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

atau versi yang lebih sederhana, tanpa validasi instalasi avconv:

#!/bin/bash
for file in *.mp3
    do avconv -i "${file}" "`echo ${file%.mp3}.ogg`";
done
ademar111190
sumber
CATATAN: The avconv paket cabang baru / garpu dari ffmpeg , dengan sintaks dan fitur serupa.
david6
CATATAN 2: ffmpeg secara resmi tidak digunakan lagi dan secara eksplisit menyebutkan bahwa Anda harus menggunakannya avconv.
ashes999
3

Penguraian / penggantian mp3 dengan ogg salah. Bentuk yang benar adalah:

for file in *.mp3;

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

done
John Jacq
sumber
2

Ini salah satu yang menggunakan mplayer. Saya pikir ini lebih cepat daripada avconv. Meskipun, firefox harus memutar file mp3 secara asli.

#!/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
mchid
sumber
1

Jika Anda hanya menggunakan audio, gunakan kode di bawah ini [kalau tidak FF tidak memainkan .ogg]

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

Ada juga soundconverter . Ini mendukung kedua GUI dan CLI dan dapat melakukan transformasi massal di kedua mode.

zakkak
sumber
0

Sepertinya ini dapat menyelesaikan masalah Anda http://www.perturb.org/display/entry/687/

Garry Cairns
sumber
Bisakah Anda menguraikan apa itu "itu"? Itu akan menambah lebih banyak konteks untuk jawaban Anda dan meningkatkan kegunaannya jika tautan yang Anda rujuk pada suatu hari menghilang =)
SaultDon
Akan melakukan seperti yang Anda sarankan tetapi kemudian melihat jawaban geirha, yang tampaknya jauh lebih baik daripada milik saya jadi saya telah mengangkatnya.
Garry Cairns