मेरे पास कुछ सौ। Wav फाइलें हैं, जिन्हें मुझे ogg और MP3 फॉर्मेट दोनों में कन्वर्ट करने की आवश्यकता है। वहाँ एक रास्ता है कि मैं या तो दुस्साहस से या कुछ अन्य कमांड लाइन उपकरण से बैच में यह कर सकता है?
मेरे पास कुछ सौ। Wav फाइलें हैं, जिन्हें मुझे ogg और MP3 फॉर्मेट दोनों में कन्वर्ट करने की आवश्यकता है। वहाँ एक रास्ता है कि मैं या तो दुस्साहस से या कुछ अन्य कमांड लाइन उपकरण से बैच में यह कर सकता है?
जवाबों:
यूनिक्स-जैसे (लिनक्स, 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
: एमपी 3 के लिए, गुणवत्ता रेंज 0-9 है, जहां 0 सबसे अच्छी गुणवत्ता है, और 2 सीडी ऑडियो में परिवर्तित करने के लिए ज्यादातर लोगों के लिए पर्याप्त है; ओजीजी के लिए, यह 1-10 है, जहां 10 सबसे अच्छा है और 5 अधिकांश लोगों के लिए सीडी की गुणवत्ता के बराबर है।
find . -type f -name '*.wav' -exec bash -c 'ffmpeg -i "$0" -c:a libmp3lame -q:a 2 "${0/%wav/mp3}"' '{}' \;
'
।
$ for f in *.wav; do ffmpeg -i "$f" -c:a libmp3lame -b:a 320k "${f/%wav/mp3}"; done
केवल 320 केबीपीएस एमपी 3 के लिए
आप ogg और mp3 के लिए एन्कोडर के साथ foobar2000 का उपयोग कर सकते हैं । मेरा मानना है कि आप दुर्लभतम स्थानों पर एनकोडर पा सकते हैं ।
नीचे दिए गए लिंक से 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 निर्देशिका में कॉपी की जाएंगी।
मैंने SO पर पाई जाने वाली एक बैट फाइल में कुछ बदलाव किया, यह अब फाइलों के नामों में रिक्त स्थान से संबंधित है, जैसा कि अक्सर गाने के नाम में होता है। VLC कमांड लाइन टूल का उपयोग करके यह बैट फ़ाइल .wav to .mp3 में परिवर्तित होती है। लेकिन आप प्रारूपों को बदल सकते हैं -> एमपी 3 और इतने पर ...
@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 है