ชุดแปลง. wav เป็น MP3 และ OGG?


20

ฉันมีไฟล์. wav สองสามร้อยไฟล์ที่ฉันต้องแปลงเป็นรูปแบบ ogg และ mp3 มีวิธีที่ฉันสามารถทำได้ในชุดจากความกล้าหรือจากเครื่องมือบรรทัดคำสั่งอื่น ๆ ?

audio  batch  mp3  audacity  ogg 

คำตอบ:


25

จากบรรทัดคำสั่ง Unix-like (Linux, OSX, ฯลฯ ) สามารถใช้ ffmpeg ดังนี้:

for f in *.wav; do ffmpeg -i "$f" -c:a libmp3lame -q:a 2 "${f/%wav/mp3}" -c:a libvorbis -q:a 4 "${f/%wav/ogg}"; done

สิ่งนี้จะแปลงทุก WAV ในไดเรกทอรีเป็น MP3 และ OGG หนึ่งรายการ โปรดทราบว่ามันต้องตรงตามตัวพิมพ์ใหญ่ - เล็ก (คำสั่งด้านบนจะแปลงทุกไฟล์ที่ลงท้ายด้วย. wav แต่ไม่ใช่. WAV) หากคุณต้องการรุ่นที่ไม่ตรงตามตัวพิมพ์ใหญ่ - เล็ก:

for f in *.{wav,WAV}; do ffmpeg -i "$f" -c:a libmp3lame -q:a 2 "${f%.*}.mp3" -c:a libvorbis -q:a 4 "${f%.*}.ogg"; done

ในการแปลงทุก WAV ในไดเรกทอรีซ้ำ (นั่นคือ: ทุก WAV ในไดเรกทอรีปัจจุบันและไดเรกทอรีทั้งหมดในไดเรกทอรีปัจจุบัน) คุณสามารถใช้find:

find . -type f -name '*.wav' -exec bash -c 'ffmpeg -i "$0" -c:a libmp3lame -q:a 2 "${0/%wav/mp3}" -c:a libvorbis -q:a 4 "${f/%wav/ogg}' '{}' \;

(ความเคารพสูงสุดกับเดนนิสสำหรับการตอบสนองของเขาที่นี่เพื่อหาฉันการใช้งานการค้นหาด้วย ffmpeg)

สำหรับการค้นหากรณีตายด้วยหาใช้แทน-iname-name

หมายเหตุเกี่ยวกับ-q:a: สำหรับ MP3 ช่วงคุณภาพคือ 0-9 โดยที่ 0 มีคุณภาพดีที่สุดและ 2 ดีพอสำหรับคนส่วนใหญ่ในการแปลงเสียงซีดี สำหรับ OGG มันคือ 1-10 โดยที่ 10 ที่ดีที่สุดและ 5 เท่ากับคุณภาพซีดีสำหรับคนส่วนใหญ่


4
มีประโยชน์มาก. ฉันแก้ไขสิ่งนี้เป็นชุดการแปลง. wav เป็น mp3 แบบเรียกซ้ำเนื่องจากฉันไม่ต้องการ ogg:find . -type f -name '*.wav' -exec bash -c 'ffmpeg -i "$0" -c:a libmp3lame -q:a 2 "${0/%wav/mp3}"' '{}' \;
smg

ตัวอย่างที่สามสำหรับการแปลง recursive 'ได้ไม่ตรงกัน
Anaphory

$ for f in *.wav; do ffmpeg -i "$f" -c:a libmp3lame -b:a 320k "${f/%wav/mp3}"; doneสำหรับ 320 kbps mp3 เท่านั้น
qwr

3

คุณสามารถใช้foobar2000พร้อมโปรแกรมเปลี่ยนไฟล์สำหรับ ogg และ mp3 ผมเชื่อว่าคุณสามารถหาเข้ารหัสที่rarewares



2

ดาวน์โหลด ffmpeg จากลิงค์ด้านล่างและติดตั้ง: http://ffmpeg.zeranoe.com/builds/

สร้างและเรียกใช้ไฟล์แบตช์ด้วยคำสั่งด้านล่าง:

echo converting *.wav to *.ogg 
mkdir ..\Ogg
for /r %%i in (*) do ffmpeg -i %%i -acodec libvorbis ..\Ogg\%%~ni.ogg

ไฟล์ * .ogg ที่ถูกแปลงทั้งหมดจะถูกคัดลอกไปยังไดเรกทอรี .. \ Ogg


0

ฉันเปลี่ยนเป็นไฟล์ bat ที่ฉันพบใน SO ตอนนี้เกี่ยวข้องกับช่องว่างในชื่อไฟล์เพราะมักจะเป็นกรณีในชื่อเพลง ไฟล์ bat นี้แปลง. wav เป็น. mp3 โดยใช้เครื่องมือบรรทัดคำสั่ง VLC แต่คุณสามารถเปลี่ยนเป็นรูปแบบ wma -> mp3 และอื่น ๆ ...

@echo off
chcp 65001
SETLOCAL ENABLEDELAYEDEXPANSION

for /f "delims=" %%f IN ('dir /b /s "YOUR_DISK:\Path\To\Your Music\That May contain Spaces\*.wav"') do (
set file1=%%~nf.mp3
echo "file :" !file1!
set fic1=%%f
echo "file : " !fic1!

CALL "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe"  "!fic1!" --sout="#transcode{vcodec=none,acodec=mp3,ab=320,channels=2,samplerate=48000}:std{access=file{no-overwrite},mux=mp3,dst="""!file1!"""}" vlc://quit
)

echo .
echo conversion finished
pause

chcp เปลี่ยนการเข้ารหัส (เพื่อจัดการกับอักขระที่เน้นเสียง) ab เป็นอัตราบิตที่นี่ 320

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