FFMPEG: सूचना / गुणवत्ता के महत्वपूर्ण नुकसान के बिना एमपी 4 फाइलों को एमपी 3 में बदलें। स्वचालित बिटरेट


44

मेरे पास ऑडियो फ़ाइलों (लगभग 1000) का लोड है जिसे मैं एम 4 ए से एमपी 3 में बदलना चाहता हूं, इसलिए मैं उन्हें सीडी प्लेयर पर खेल सकता हूं जिसमें यूएसबी पोर्ट है।

मैंने कुछ सरल करने की कोशिश की जैसे: ffmpeg -i FILE.m4a FILE.mp3लेकिन यह बिटरेट को बहुत कम मूल्य पर कम करने के लिए लगता है, जो कि मैं नहीं चाहता।

इसी तरह मैं एक निरंतर बिटरेट का उपयोग करके कन्वर्ट नहीं करना चाहता, जैसे कि 320k, क्योंकि कुछ फाइलें जो मैं परिवर्तित कर रहा हूं, वे 320k m4a की हैं और कुछ 96k m4a की तरह कम गुणवत्ता वाली हैं।

ऐसा लगता है कि 320k को मजबूर करने का कोई मतलब नहीं है, क्योंकि कुछ फाइलें ज़रूरत से कई गुना बड़ी हो जाएंगी। इसी तरह मेरी सभी 320k फाइलों को नष्ट करने का कोई मतलब नहीं है, उन्हें 96k से बहुत कम में परिवर्तित करना। (फिलहाल, फ़ाइलों को लगभग 50k में बदला जा रहा है।)

क्या कोई जानता है मैं ऐसा कैसे कर सकता हूँ? जो मैं वास्तव में करना चाहता हूं, वह है एमपी 3 में निर्देशिका में सभी m4a फ़ाइलों को एमपी 3 में परिवर्तित करने के लिए ffmpeg जबकि वर्तमान ऑडियो गुणवत्ता को सर्वश्रेष्ठ के रूप में बनाए रख सकते हैं। (निश्चित रूप से हानिरहित से हानिपूर्ण फ़ाइल स्वरूपों में बदलने से कुछ अतिरिक्त नुकसान होने की संभावना है।)

आपकी सहायता के लिए धन्यवाद। यदि यह संभव नहीं है, तो क्या कुछ प्रकार की स्क्रिप्ट है जो आवश्यक गुणवत्ता का पता लगा सकती है क्योंकि यह व्यक्तिगत रूप से फ़ाइलों को परिवर्तित करती है?

पुनश्च: मैं एक इंटेल मैक पर काम कर रहा हूं, लेकिन एक उबंटू बॉक्स भी है।

जवाबों:


51

VBR

आप चर बिटरेट (VBR) MP3 आउटपुट बनाने के लिए -qscale:aविकल्प का उपयोग कर सकते हैं ffmpeg। से एन्कोडिंग VBR (चर बिट दर) एमपी 3 ऑडियो: FFmpeg विकी :

नियंत्रण गुणवत्ता -qscale:a(या उपनाम -q:a) के साथ। मान एन्कोडर विशिष्ट हैं, इसलिए libmp3lame के लिए रेंज 0-9 है जहां कम मूल्य एक उच्च गुणवत्ता है। 0-3 आम तौर पर पारदर्शी परिणाम देगा, 4 (डिफ़ॉल्ट) अवधारणात्मक पारदर्शिता के करीब होना चाहिए, और 6 आमतौर पर "स्वीकार्य" गुणवत्ता पैदा करता है। विकल्प -qscale:aको -Vस्टैंडअलोन लंग कमांड-लाइन इंटरफ़ेस टूल में विकल्प में मैप किया जाता है ।

आपको यह देखने के लिए प्रयोग करना होगा कि आपके लिए क्या मूल्य स्वीकार्य है। हाइड्रोजन ऑडियो भी देखें : अनुशंसित लंग एनकोडर सेटिंग्स

कई फ़ाइलों को एन्कोडिंग

निर्देशिका में सभी फ़ाइलों को एन्कोड करने के लिए आप "पाश के लिए बैश" का उपयोग कर सकते हैं:

$ mkdir newfiles
$ for f in *.m4a; do ffmpeg -i "$f" -codec:v copy -codec:a libmp3lame -q:a 2 newfiles/"${f%.m4a}.mp3"; done

प्राप्त ffmpeg

ffmpegयदि संभव हो तो हाल के निर्माण का उपयोग करने की सिफारिश की गई है। OS X, Linux और Windows के लिए लिंक के लिए FFmpeg डाउनलोड पेज देखें । आप FFmpeg को संकलित करने के लिए एक गाइड का भी पालन कर सकते हैं ।


1
ठीक है धन्यवाद, कमांड ने काम किया लेकिन मुझे नहीं लगता कि यह वही कर रहा है जो मैं चाहता था। मैंने सेट -q: 0, जो मैं उच्च गुणवत्ता वाले m4a की उम्मीद कर रहा हूं (उच्चतर vbr दरों के साथ बड़ी फ़ाइलों का निर्माण) कर रहा हूं, लेकिन मुझे लगता है कि निम्न गुणवत्ता वाली फाइलें अभी भी बड़ी फ़ाइलों में परिवर्तित हो रही हैं, लगभग 250-260 vbr की केबी / s। मुझे लगता है कि फाइलें जो m4a प्रारूप में 96k के बारे में हैं, वे समान मोड में लंग एनकोडर के साथ समान बिटरेट में परिवर्तित की जाएंगी। मुझे लगता है मैं काफी समझ नहीं आया कि कैसे vbr एन्कोडिंग मोड काम करता है?
user3728501

19

FFmpeg का उपयोग करें (कई जीयूआई संस्करण भी हैं)

  1. एमपी 3 पहले से ही बंद है (2017 में), अप्रचलित कोडेक। इंटरनेट ने पहले ही AAC (अधिक कुशल और गुणवत्ता वाले कोडेक) पर स्विच कर दिया है :

    ffmpeg -i filenameee.m4a -acodec copy output.aac
    
  2. हालाँकि, यदि आप अभी भी एमपी 3 का उपयोग करना चाहते हैं (क्योंकि यह अभी भी अधिक उपकरणों द्वारा समर्थित है):

    ffmpeg -i filenameee.m4a -acodec libmp3lame -ab 256k output.mp3
    

4
के बाद से सवाल गुणवत्ता के बारे में है, शायद यह करता है, तो परिवर्तित 128 के बजाय 256K के लिए फायदेमंद होगा
VessoVit

3

यह मेरे लिए काम किया:

ffmpeg -i testing.m4v -b:a 192K -vn testing.mp3

1

एक आधार के रूप में मौजूदा उत्तरों का उपयोग करते हुए मैंने एक बैश स्क्रिप्ट लिखी जो कि एक उबंटू मशीन (16.04 पर परीक्षण किया गया) पर पूछे गए सवाल को ठीक से करना चाहिए। आपको वह स्थापित करना होगा avprobeजो libav-toolsपैकेज में है। आप avprobeनिम्न आदेश के साथ स्थापित कर सकते हैं

sudo apt-get install libav-tools

नोट: किसी भी फ़ोल्डर का बैकअप बनाना बुद्धिमानी होगी जिसमें आप इस स्क्रिप्ट को चलाने के साथ-साथ पढ़ने और समझने की पूरी कोशिश करते हैं कि दौड़ने से पहले वह क्या कर रहा है।

मैंने बहुत सख्ती से वाईएमएमवी का परीक्षण नहीं किया है।

#!/bin/bash

mkdir "mp3s"
for f in *.m4a;
do
    bitrate=$(avprobe "${f}" 2> >(grep bitrate) | sed 's/^.*bitrate://g' | sed 's/[^0-9]*//g')
    bitrate="${bitrate}K"
    new_filename=$(echo "${f}" | sed 's/.m4a$/.mp3/g')
    ffmpeg -y -i "${f}" -acodec libmp3lame -ab "${bitrate}" "mp3s/${new_filename}"
done

0

यदि आप 48 KhZ पर काम करते हैं और इनपुट फ़ाइल में कम से कम 24-बिट (एक फाइल एडिटर iex से) -q:a 0तो flac के रूप में इतनी बड़ी फ़ाइल पर 20 kHz को पुन: उत्पन्न करेगा ... लेकिन कम गुणवत्ता वाला ऑडियो जब तक आप शोर कम नहीं करते हैं रूपांतरणों में बनाई गई डिटेरिंग या नाक कटौती ऑडियो संपादकों द्वारा उच्च आवृत्तियों (हिस) से, जिसे पुन: प्रस्तुत किया जाएगा, फिर डेटा फ़ाइल का उपयोग एक अक्षम्य एचएफ, लेकिन महंगे शोर के रूप में किया जाएगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.