เป็นกลุ่ม / ชุดแปลงไฟล์ mp3 เป็น ogg ผ่านทางบรรทัดคำสั่ง?


44

เป็นไปได้หรือไม่ที่จะแปลง mp3 เป็น ogg ผ่านทางบรรทัดคำสั่ง?

ฉันต้องการแปลงไฟล์ mp3 เป็น ogg เป็นกลุ่มเพื่อให้ฉันสามารถเล่นใน firefox ได้โดยไม่มีปัญหาใด ๆ


Firefox ควรจะเล่นไฟล์ MP3 ได้ดี
mchid

คำตอบ:


37

ค้นหาแพ็คเกจที่ตรงกับ ogg ฉันพบdir2oggซึ่งน่าจะเป็นสิ่งที่คุณต้องการ เพียงแค่

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

และมันจะค้นหาและแปลงไฟล์ mp3 ทั้งหมดซ้ำ/path/to/mp3s/ไปเป็น ogg (สมมติว่าฉันอ่านคู่มืออย่างถูกต้อง)


30

ใช้การรวมกันของFFMPEGและString จัดการ

เปลี่ยนเป็นโฟลเดอร์ที่มีไฟล์ MP3 ของคุณอยู่:

cd mp3folder

ตัวอย่างหนึ่งคือการใช้ลูป "for" แบบง่าย:

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

เครื่องหมายคำพูดคู่ป้องกันช่องว่างในชื่อไฟล์ที่ถือว่าเป็น 'บรรทัดใหม่'

ffmpeg มีหลายตัวเลือกที่จะรวมไว้ในการแปลงเช่นตัวแปลงสัญญาณบิตเรตขนาดตัวอย่างสเตอริโอ / โมโน ฯลฯ ... ข้างต้นคือการแปลงทั่วไปที่สุดด้วยการตั้งค่าเริ่มต้น


ยอดเยี่ยม dir2ogg ไม่ได้ทำงานกับเสียงดังเสียงฮืด ๆ แต่คำตอบนี้ได้ผลเหมือนเสน่ห์
Onimusha

dir2ogg ไม่ได้ผลสำหรับฉันเช่นกัน แต่ฉันกำลังแปลง m4a -> ogg <a href=" linuxquestions.org/questions/linux-general-1/… "title= linuxquestions.org"> lq </a> แต่สำหรับลูปด้านบนทำ (แทนที่ ffmpeg ด้วย avconv) เมื่อแปลง m4a / mp3 เป็น ogg ด้วยกระบวนการข้างต้นขนาดไฟล์จะเพิ่มขึ้น 9 เท่าอย่างไรก็ตามหากคุณแปลง m4a เป็น mp3 ก่อนแล้วจึงเปลี่ยนเป็น mp3 เป็น ogg ขนาดไฟล์ใหญ่ขึ้น 4x เท่านั้น <pre> <code> avconv -i "ManjusriMantra.m4a" " ManjusriMantra.mp3 "wait avconv -i" ManjusriMantra.mp3 "" ManjusriMantra.ogg "<code> <pre>
afc888ny

สิ่งนี้ใช้ได้กับฉัน: ffmpeg -i sound.mp3 -c:a libvorbis -q:a 10 sound.oggการตั้งค่าคุณภาพสูงสุดยังแย่กว่าเดิมอย่างเห็นได้ชัด การตั้งค่าเริ่มต้นไม่ได้ผลสำหรับฉันเลย (บน Cygwin, ดังนั้นฉันฟ้อง :)) แต่คำถามนี้มีข้อมูลที่ดี: superuser.com/questions/273797/convert-mp3-to-ogg-vorbis
Kai Carver

19

ระวังการแปลงจาก MP3, M4A และอื่น ๆ เป็น OGG เพราะผลลัพธ์อาจฟังดูแย่!

คำเตือน : ทั้ง MP3 และ OGG เป็นรูปแบบที่สูญเสียซึ่งต่างจากคำว่า WAV หรือ FLAC ซึ่งหมายความว่าพวกเขาประสบความสำเร็จในการบีบอัดส่วนใหญ่โดยการทิ้งบิตของข้อมูลเสียงที่มองไม่เห็นหูมนุษย์ (เรียกว่าpsychoacoustics [วิกิพีเดีย] )

เมื่อคุณเข้ารหัส (transcode) จากรูปแบบสูญเสียรูปแบบหนึ่งไปยังอีกรูปแบบส่วนใหญ่ของบิตที่ซ้ำซ้อนทางจิตจะหายไปแล้วดังนั้นคุณภาพการแปลงรหัสจะได้รับผลกระทบและอาจเป็น "ได้ยิน" ในผลลัพธ์ ดังนั้นจึงไม่แนะนำให้ทำการแปลงดังกล่าวเว้นแต่จะจำเป็นจริงๆ


ลดผลกระทบหากคุณทำเช่นนั้นโดยเลือกอัตราบิตปลายทางที่สูงกว่าอัตราบิตต้นทาง

หากคุณทำการแปลง MP3 เป็น OGG คุณสามารถลดโอกาสในการประดิษฐ์ (คุณภาพต่ำ) โดยใช้บิตเรตปลายทางที่สูงกว่าบิตเรตต้นทางเช่นหาก MP3 ของคุณอยู่ที่ 128 kbps ลองใช้ Ogg ที่-q7(ระดับบิตเรตผันแปร) 7) ซึ่งมักจะประมาณ ~ 200 kbps

คุณสามารถผ่าน-qตัวเลือกเพื่อ dir2ogg (มีให้ใน repos ตามที่ @geirha พูดถึง) ซึ่งควรทำสิ่งที่คุณต้องการ


10

คุณสามารถใช้โปรแกรมavconv a gpl ฉันทำเชลล์เพื่อเป็นตัวอย่าง (เรียกใช้บนโฟลเดอร์ด้วยไฟล์. 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

หรือรุ่นที่ง่ายขึ้นโดยไม่มีการตรวจสอบความถูกต้องของการติดตั้ง avconv:

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

หมายเหตุ: avconvแพคเกจเป็นสาขาล่าสุด / แยกของffmpegมีไวยากรณ์ที่คล้ายกันและคุณสมบัติ
david6

หมายเหตุ 2: ffmpegเลิกใช้อย่างเป็นทางการและกล่าวถึงอย่างชัดเจนว่าคุณควรใช้avconvแทน
ashes999

3

การแยก / เปลี่ยน mp3 โดย ogg ไม่ถูกต้อง แบบฟอร์มที่ถูกต้องควรเป็น:

for file in *.mp3;

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

done

2

นี่คือสิ่งที่ใช้ mplayer ฉันคิดว่านี่เร็วกว่า avconv แม้ว่า firefox ควรเล่นไฟล์ mp3 โดยกำเนิด

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

ในกรณีที่คุณทำเพียงเสียงใช้รหัสด้านล่าง [อื่น FF ไม่เล่น. OGG]

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

1

นอกจากนี้ยังมีsoundconverter รองรับทั้ง GUI และ CLI และสามารถทำการแปลงจำนวนมากในทั้งสองโหมด


0

ดูเหมือนว่าอาจช่วยแก้ปัญหาของคุณได้ที่http://www.perturb.org/display/entry/687/


คุณอธิบายรายละเอียดเกี่ยวกับสิ่งที่ "มัน" คืออะไร? มันจะเพิ่มบริบทเพิ่มเติมให้กับคำตอบของคุณและเพิ่มความสะดวกในการใช้งานถ้าลิงก์ที่คุณอ้างถึงหายไปหนึ่งวัน =)
SaultDon

กำลังจะทำตามที่คุณแนะนำ แต่ก็เห็นคำตอบของ geirha ซึ่งดูเหมือนจะดีกว่าของฉันดังนั้นฉันจึง upvoted
แกร์รีแคนส์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.