मैं कैसे परिवर्तित कर सकते हैं .flac को .mp3 साथ ffmpeg, सभी मेटाडाटा (कि .mp3 की ID3v2 मेटाडाटा को .flac फाइलों में वॉर्बिस टिप्पणी परिवर्तित) रखने?
मैं कैसे परिवर्तित कर सकते हैं .flac को .mp3 साथ ffmpeg, सभी मेटाडाटा (कि .mp3 की ID3v2 मेटाडाटा को .flac फाइलों में वॉर्बिस टिप्पणी परिवर्तित) रखने?
जवाबों:
निम्न आदेश .mp3 (320 kbps) पर उच्च गुणवत्ता रखता है। और .flac फ़ाइल से मेटाडेटा को ID3v2 प्रारूप में परिवर्तित किया जाता है, जिसे .mp3 फ़ाइलों में शामिल किया जा सकता है।
ffmpeg -i input.flac -ab 320k -map_metadata 0 -id3v2_version 3 output.mp3
ffmpeg3.2 स्वचालित रूप से निर्दिष्ट करने की आवश्यकता के बिना FLAC से ID3v2 में मेटाडेटा की प्रतिलिपि बनाता है -map_metadata 0 -id3v2_version 3, हालांकि यह ID3v1 टैग में कॉपी नहीं करता है। मैं उसके लिए एक अलग टूल का उपयोग करता हूं।
ऊपर सही जवाब। मैं इस आदेश के साथ iTunes में एक सबट्री में सभी FLAC फ़ाइलों को जोड़ने के लिए खोज के साथ इसका उपयोग करता हूं
find . -name "*.flac" -exec ffmpeg -i {} -ab 160k -map_metadata 0 -id3v2_version 3 {}.mp3 \;
आइट्यून्स में स्वचालित रूप से परिणामी फाइलें जोड़ने के लिए, आईट्यून्स आयात निर्देशिका प्राप्त करें
find ~/Music/ -name "Automatically Add*"
परिणाम जैसे
/Users/sir/Music//iTunes/iTunes Media/Automatically Add to iTunes.localized
फिर उदा
find . -name "*.mp3" -exec mv {} "/Users/sir/Music//iTunes/iTunes Media/Automatically Add to iTunes.localized/" \;
स्वचालित रूप से सभी परिवर्तित पटरियों को iTunes में जोड़ने के लिए।
यदि आप थोड़ी सी जगह बचाना चाहते हैं, तो hydrogenaud.io की सिफारिश आज़माएँ :
बहुत ही उच्च गुणवत्ता: HiFi, घर, या चुप सुनने, सबसे अच्छा फ़ाइल आकार के साथ
-V0 (~245 kbps),-V1 (~225 kbps),-V2 (~190 kbps)या-V3 (~175 kbps)सिफारिश की है। ये VBR सेटिंग्स सामान्य रूप से पारदर्शी परिणाम प्रस्तुत करेंगी। इन प्रीसेट के बीच श्रव्य अंतर मौजूद हो सकते हैं, लेकिन दुर्लभ हैं।
स्रोत: http://wiki.hydrogenaud.io/index.php?title=LAME
यदि आप ffmpeg में इस विकल्प का उपयोग करना चाहते हैं, तो आपको -q:a 0उपनाम का उपयोग करना चाहिए ।
नियंत्रण गुणवत्ता
-qscale:a(या उपनाम-q:a) के साथ। मान एन्कोडर विशिष्ट हैं, इसलिए libmp3lame के लिए रेंज 0-9 है जहां कम मूल्य एक उच्च गुणवत्ता है। 0-3 आम तौर पर पारदर्शी परिणाम देगा, 4 (डिफ़ॉल्ट) अवधारणात्मक पारदर्शिता के करीब होना चाहिए, और 6 एक "स्वीकार्य" गुणवत्ता पैदा करता है। विकल्प-qscale:aको-Vस्टैंडअलोन लंग कमांड-लाइन इंटरफ़ेस टूल में विकल्प में मैप किया जाता है ।
स्रोत: https://trac.ffmpeg.org/wiki/Encode/MP3
यदि आप ID3v1 मेटाटैग भी चाहते हैं, तो आपको -write_id3v1 1पैरामीटर जोड़ना चाहिए ।
तो मेरा अंतिम आदेश है:
ffmpeg.exe -y -i input.flac -codec:a libmp3lame -q:a 0 -map_metadata 0 -id3v2_version 3 -write_id3v1 1 output.mp3
मैं infile.flacफ़ाइल को परिवर्तित करने के लिए निम्न कमांड का परीक्षण कर रहा था outfile.mp3:
ffmpeg -i infile.flac -q:a 0 outfile.mp3
उबंटू 16.04 के अनुसार, उपर्युक्त कमांड मेटाडेटा को कॉपी (अधिकांश? सभी?) करने लगता है।
-q:a 0ffmpegउच्चतम गुणवत्ता वाले वीबीआर का उपयोग करना बताता है।
हालांकि, ffmpegसे मेरा एल्बम कला ट्रांसकोडिंग गया था jpegकरने के लिए pngहै, जो कवर कला के आकार में वृद्धि हुई।
Stream mapping:
Stream #0:1 -> #0:0 (mjpeg (native) -> png (native))
Stream #0:0 -> #0:1 (flac (native) -> mp3 (libmp3lame))
(मुझे लगता है कि कैसे ffmpegकाम करता है यह समझ में आता है कि उपरोक्त रूपांतरण प्रकार है ।)
कुछ खुदाई के बाद, मुझे -c:v copyविकल्प मिला , जो निर्दिष्ट करता है कि वीडियो स्ट्रीम को कॉपी किया जाना चाहिए, बजाय ट्रांसकोड किए। पूरा आदेश है:
ffmpeg -i infile.flac -c:v copy -q:a 0 outfile.mp3
उपरोक्त आदेश परिणाम:
Stream mapping:
Stream #0:1 -> #0:0 (copy)
Stream #0:0 -> #0:1 (flac (native) -> mp3 (libmp3lame))
नेस्टेड फ़ोल्डरों में एमपी 3 के सभी फ़्लैक फ़ाइलों को पुन: रूपांतरित करने के लिए, मैंने इस कमांड का उपयोग किया:
find '~/Music/' -iname '*.flac' -exec bash -c 'D=$(dirname "{}"); B=$(basename "{}"); mkdir "$D/mp3/"; ffmpeg -i "{}" -ab 320k -map_metadata 0 -id3v2_version 3 -acodec libmp3lame "$D/mp3/${B%.*}.mp3"' \;
यह flac फ़ाइलों के साथ एक के अंदर "mp3" नामक एक फ़ोल्डर बना देगा और, एमपी फ़ोल्डर के अंदर, यह नाम से पुरानी फ़ाइल एक्सटेंशन को रखे बिना, 320kbps की बिटरेट के साथ रिश्तेदार एमपी 3 फ़ाइलों को बचाएगा।
मुझे पता है कि यह नहीं पूछा गया था, लेकिन यह देखते हुए कि ऐसा करने के कारणों में से एक यह है कि (कम से कम यही मैं करना चाहता था) ताकि संगीत को Apple iTunes में आयात किया जा सके जो कि FLAC का समर्थन नहीं करता है। ऐसे मामले में यह FLAC को Apple के अपने दोषरहित प्रारूप, m4a में बदलने के लिए अधिक समझ में आता है। मैंने इस कमांड का उपयोग वर्तमान फ़ोल्डर में सभी फ़ाइलों को परिवर्तित करने के लिए किया, जबकि समान फ़ाइल आकार को बनाए रखा।
find . -name "*.flac" -exec ffmpeg -i {} -map_metadata 0 -acodec alac {}.m4a \;
यह flac2mp3.sh स्क्रिप्ट ffmpegMP3 फाइलों के दूसरे फ़ोल्डर ट्री में FLAC फाइलों के फोल्डर ट्री को बदलने के लिए उपयोग करता है। आवरण कला शामिल है, जब मौजूद है। आप CORESएक बार में कई फ़ाइलों को परिवर्तित करने के लिए पृष्ठभूमि कार्य बनाने के लिए एक चर सेट कर सकते हैं ।
ffmpegपर क्लि उपयोग के प्रश्न पूछने चाहिए । स्टैक ओवरफ्लो केवल प्रोग्रामिंग से जुड़े सवालों के लिए है। इसके अलावा, FLAC आधिकारिक तौर पर वोरबिस टिप्पणी का समर्थन करता है , इसलिए मुझे लगता है कि आप "कीप" के बजाय ID3v2 में परिवर्तित करना चाहते हैं।