Ffmpeg का उपयोग करके ऑडियो फ़ाइलों को एमपी 3 में बदलें


159

मुझे ffmpeg का उपयोग करके ऑडियो फ़ाइलों को एमपी 3 में बदलना होगा।

जब मैं कमांड लिखता हूं ffmpeg -i audio.ogg -acodec mp3 newfile.mp3, मुझे त्रुटि मिलती है:

FFmpeg version 0.5.2, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: 
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  built on Jun 24 2010 14:56:20, gcc: 4.4.1
Input #0, mp3, from 'ZHRE.mp3':
  Duration: 00:04:12.52, start: 0.000000, bitrate: 208 kb/s
    Stream #0.0: Audio: mp3, 44100 Hz, stereo, s16, 256 kb/s
Output #0, mp3, to 'audio.mp3':
    Stream #0.0: Audio: 0x0000, 44100 Hz, stereo, s16, 64 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
Unsupported codec for output stream #0.0

मैंने यह कमांड भी चलाई:

 ffmpeg -formats | grep mp3

और जवाब में यह मिला:

FFmpeg version 0.5.2, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: 
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  built on Jun 24 2010 14:56:20, gcc: 4.4.1
 DE mp3             MPEG audio layer 3
 D A    mp3             MP3 (MPEG audio layer 3)
 D A    mp3adu          ADU (Application Data Unit) MP3 (MPEG audio layer 3)
 D A    mp3on4          MP3onMP4
 text2movsub remove_extra noise mov2textsub mp3decomp mp3comp mjpegadump imxdump h264_mp4toannexb dump_extra

मुझे लगता है कि एमपी 3 कोडेक स्थापित नहीं है। क्या मैं यहां सही दिशा में चल रहा हूं?

जवाबों:


230

आप इस आदेश का उपयोग कर सकते हैं:

ffmpeg -i input.wav -vn -ar 44100 -ac 2 -b:a 192k output.mp3

इस उदाहरण में प्रयुक्त तर्कों की व्याख्या:

  • -i - इनपुट फ़ाइल

  • -vn - वीडियो अक्षम करें, यह सुनिश्चित करने के लिए कि कोई वीडियो (एल्बम कवर छवि सहित) शामिल है यदि स्रोत वीडियो फ़ाइल होगा

  • -ar- ऑडियो सैंपल फ्रीक्वेंसी सेट करें। आउटपुट स्ट्रीम के लिए यह डिफ़ॉल्ट रूप से संबंधित इनपुट स्ट्रीम की आवृत्ति पर सेट होता है। इनपुट स्ट्रीम के लिए यह विकल्प केवल ऑडियो हथियाने वाले उपकरणों और कच्चे डिमूक्सर के लिए समझ में आता है और इसे संबंधित डीमॉक्सर विकल्पों में मैप किया जाता है।

  • -ac- ऑडियो चैनलों की संख्या निर्धारित करें। आउटपुट स्ट्रीम के लिए यह डिफ़ॉल्ट रूप से इनपुट ऑडियो चैनलों की संख्या द्वारा निर्धारित किया जाता है। इनपुट स्ट्रीम के लिए यह विकल्प केवल ऑडियो हथियाने वाले उपकरणों और कच्चे डिमूक्सर के लिए समझ में आता है और इसे संबंधित डीमॉक्सर विकल्पों में मैप किया जाता है। तो यह सुनिश्चित करने के लिए यहां उपयोग किया जाता है कि यह स्टीरियो है (2 चैनल)

  • -b:a - ऑडियो बिटरेट को सटीक रूप से 192kbit प्रति सेकंड में परिवर्तित करता है


5
यह ffmpeg बिटरेट तर्कों के लिए अंतर को नोट करता है-qscale:aVBR के लिए है और -b:aCBR के लिए है। ABR एन्कोडिंग संभव है लेकिन एक अलग स्थान पर विस्तृत है।
1934286

2
मैं -b को प्रतिस्थापित करूँगा: a -q: a: 2, जो CBR के बजाय VBR ~ 192 देगा
apanloco

@ जापानलोक मेरे लिए, -b -q -q बिल्कुल कसाई ध्वनि करता है। बिना किसी विकल्प का उपयोग किए, या उत्तर में प्रस्तुत किए गए विकल्पों का उपयोग करते हुए, वास्तव में स्रोत के समान ध्वनि।
माइकल टैटर

76

1) एमपी के लिए wav

ffmpeg -i audio.wav -acodec libmp3lame audio.mp3

2) ओग टू एमपी

ffmpeg -i audio.ogg -acodec libmp3lame audio.mp3

3) एसी 3 से एमपी

ffmpeg -i audio.ac3 -acodec libmp3lame audio.mp3

4) एएसी टू एमपी

ffmpeg -i audio.aac -acodec libmp3lame audio.mp3

आप एमपी 3 बिटरेट कैसे निर्दिष्ट करते हैं?
सुरगछ

4
-b:a 128k128 केबीपीएस के लिए जोड़ें ।
ज्ञान

5
या इसके बिना भी छोटा acodec: ffmpeg -i audio.aac audio.mp3
Timo

.mp3 से .ogg में कैसे परिवर्तित करें?
क्रिस्टिया विक्टर

18

कोई बात नहीं,

मैं कमांड का उपयोग करके अपनी ऑडियो फाइलों को mp2 में परिवर्तित कर रहा हूं:

ffmpeg -i input.wav -f mp2 output.mp3

यह कमांड पूरी तरह से काम करती है।

मुझे पता है कि यह वास्तव में फ़ाइलों को mp2 प्रारूप में कनवर्ट करता है, लेकिन फिर परिणामी फ़ाइल आकार समान हैं।


2
एक तरंग फ़ाइल
बनाता है

8
यह एक एमपी 3 फ़ाइल में परिणाम नहीं करता है
m13r

2
जबकि आकार समान हैं, ये MP2 फ़ाइलें वेब ब्राउज़र में खेलने योग्य नहीं हैं , क्योंकि वे एमपी 3 नहीं हैं। फ्लैश प्लेयर के साथ भी नहीं। उनके पास एकमात्र लाभ यह है कि उन्हें एन्कोड करने के लिए कम सीपीयू की आवश्यकता होती है, लेकिन कमियां इसके लायक नहीं हैं।
डेनियल एफ

3
यह स्वीकृत उत्तर नहीं होना चाहिए, क्योंकि यह प्रश्न का सही उत्तर नहीं देता है।
रीइनियरियरपोस्ट

18

190 VBR और फ़ाइल एक्सटेंशन = .mp3 के बजाय .ac3.mp3 के लिए लक्ष्य फ़ोल्डर में फ़ाइलों के साथ बैच प्रोसेसिंग के लिए आप निम्न कोड का उपयोग कर सकते हैं

स्रोत ऑडियो प्रारूप जो भी हो .ac3 को बदलें।

एमपी 3 सेटिंग्स

for f in *.ac3 ; do ffmpeg -i "$f" -acodec libmp3lame -q:a 2 "${f%.*}.mp3"; done

13

फ़ोल्डर में बैच प्रोसेसिंग फ़ाइलों के लिए:

for i in *.wav; do ffmpeg -i "$i" -f mp3 "${i%}.mp3"; done

यह स्क्रिप्ट फ़ोल्डर में सभी "wav" फ़ाइलों को एमपी 3 फ़ाइलों में कनवर्ट करती है और एमपी एक्सटेंशन को जोड़ती है

ffmpeg स्थापित करना होगा। (अन्य उत्तर देखें)


1
-f mp2एमपी 2 के साथ , एमपी 3 उत्पन्न होता है। इसे बदलें-f mp3
ज्ञान

3
उपरोक्त कमांड उन फ़ाइलों को बनाता है जिन्हें नाम दिया गया है wav.mp3। सही फ़ाइल एक्सटेंशन वाली फाइलें प्राप्त करने के लिए, कमांड को इसमें बदलें: for i in *.wav; do ffmpeg -i "$i" -f mp3 "${i%.*}.mp3"; doneयानी .*बाद में जोड़ें i%
सुजाना

11

मुझे अपने ffmpeg को शुद्ध करना था और फिर एक और एक ppa से स्थापित करना था:

sudo apt-get purge ffmpeg
sudo apt-add-repository -y ppa:jon-severinsson/ffmpeg 
sudo apt-get update 
sudo apt-get install ffmpeg

फिर कन्वर्ट करें:

 ffmpeg -i audio.ogg -f mp3 newfile.mp3

4
यह संक्षिप्त तरीका है, लेकिन यदि आप प्रति सेकंड गुणवत्ता केबी निर्दिष्ट करना चाहते हैं, तो -ab 192k का उपयोग करें
13

7

जैसा कि यहां बताया गया है कि इनपुट और आउटपुट एक्सटेंशन का पता लगाया जाएगा, ffmpegइसलिए स्वरूपों के बारे में चिंता करने की आवश्यकता नहीं है, बस इस कमांड को चलाएं:

ffmpeg -i inputFile.ogg outputFile.mp3





0

यदि आपके पास wav का एक फ़ोल्डर और उप-फ़ोल्डर है जिसे आप कनवर्ट करना चाहते हैं, तो एक फ़ाइल में कमांड डालें, इसे उस फ़ोल्डर की जड़ में .bat फ़ाइल में सहेजें, जहाँ आप कनवर्ट करना चाहते हैं, और फिर बैट फ़ाइल चलाएँ।

for /R %%g in (*.wav) do start /b /wait "" "C:\ffmpeg-4.0.1-win64-static\bin\ffmpeg" -threads 16 -i "%%g" -acodec libmp3lame "%%~dpng.mp3" && del "%%g"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.