लिनक्स के तहत ID3 टैग सूचीबद्ध करने के लिए कमांड लाइन टूल


24

मैं एक स्क्रिप्ट लिखना चाहता हूं जो एमपी 3 फाइलों के आईडी 3 टैग में हेरफेर करता है। मुझे एक उपकरण की आवश्यकता है जो टैग को पढ़ता है और इसे मशीन-पठनीय प्रारूप में एक प्रारूप में आउटपुट करता है। उदाहरण के लिए, यदि मैं चाहता हूं कि यह केवल शीर्षक का उत्पादन करे, तो यह शीर्षक का उत्पादन करता है, और कुछ नहीं। मैंने विभिन्न उपकरणों की कोशिश की जैसे id3या eyeD3, लेकिन उनका उपयोग केवल टैग लिखने या उन्हें मानव-पठनीय प्रारूप में आउटपुट करने के लिए किया जा सकता है। बेशक, मैं उस आउटपुट को केवल फ़िल्टर कर सकता था sed, लेकिन यह मुझे अनावश्यक रूप से जटिल लगता है।

जवाबों:


30

आप exiftoolउस libimage-exiftool-perlपैकेज से कमांड का उपयोग कर सकते हैं जो आपको एमपी 3 सहित मल्टीमीडिया फ़ाइलों से मेटाडेटा पढ़ने (और लिखने) की सुविधा देता है। यह कुंजी-मूल्य, json, xml और उपयोगकर्ता-परिभाषित स्वरूपों सहित विभिन्न स्वरूपों में आउटपुट कर सकता है। आप केवल निर्दिष्ट टैग की सूची चुन सकते हैं।

% exiftool -json 09\ -\ \(Tom\ Waits\)\ -\ Walk\ Away.mp3
[{
  "SourceFile": "09 - (Tom Waits) - Walk Away.mp3",
  "ExifToolVersion": 7.82,
  "FileName": "09 - (Tom Waits) - Walk Away.mp3",
  "Directory": ".",
  "FileSize": "2.5 MB",
  "FileModifyDate": "2008:07:12 13:58:52+01:00",
  "FileType": "MP3",
  "MIMEType": "audio/mpeg",
  "MPEGAudioVersion": 1,
  "AudioLayer": 3,
  "AudioBitrate": 128000,
  "SampleRate": 44100,
  "ChannelMode": "Stereo",
  "MSStereo": "Off",
  "IntensityStereo": "Off",
  "Emphasis": "None",
  "ID3Size": 1678,
  "Title": "Walk Away",
  "Album": "Dead Man Walking",
  "Genre": "OST",
  "Track": 9,
  "Artist": "Tom Waits",
  "Year": "",
  "Comment": "",
  "Duration": "02:42 (approx)"
}]

+1 "sudo port इंस्टॉल p5.16-image-exiftool" - क्या आप MacPorts के साथ किसी मैक में जा रहे हैं ... Just "exiftool-5.16 / Volumes / MMED / Music / Esperanza \ Spalding / Esperanza / 02। I I \ Know \ You \ Know.mp3 "और आप सभी मेटाडेटा थूक बाहर निकालते हैं! धन्यवाद!
मिमोरेलिया

+1 मुझे बस एक ही ज़रूरत है लेकिन FLAC ऑडियो के लिए। एक जादू की तरह काम किया। बहुत बुरा कार्यक्रम का नाम अपनी संभावनाओं की पूरी सीमा के लिए कोई संकेत नहीं देता है ...


5

मैं पायथन के लिए म्यूटेन टैगिंग लाइब्रेरी को देखूंगा , जिसमें एक मूल स्क्रिप्ट योग्य कमांड-लाइन टूल, मिड 3 वी 2 शामिल है । हालांकि मिड 3 वी 2 का आउटपुट मुख्य रूप से मानव-पठनीय है, --list-rawविकल्प स्वयं द्वारा उपयुक्त हो सकता है:

$ mid3v2 --list-raw 09_Walk\ Away.mp3
Raw IDv2 tag info for 09_Walk Away.mp3:
TDRC(encoding=3, text=[u'1996'])
TIT2(encoding=3, text=[u'Walk Away'])
TRCK(encoding=3, text=[u'9'])
TPE1(encoding=3, text=[u'Tom Waits'])
TALB(encoding=3, text=[u'Dead Man Walking'])
TCON(encoding=3, text=[u'Soundtrack'])

ध्यान दें कि यह उपकरण केवल ID3 टैग को सूचीबद्ध करता है , एक्सफ़िल्टूल की तरह एमपी 3 फ़ाइल के अतिरिक्त गुण नहीं । लेकिन अगर आप केवल एक विशेष टैग चाहते हैं, तो तनिगम के लिए एक सरल grep आपके लिए इसे ले जाएगा:

$ mid3v2 --list-raw 09_Walk\ Away.mp3 | grep TIT2
TIT2(encoding=3, text=[u'Walk Away'])

यदि आपके द्वारा mid3v2 आपके लिए पर्याप्त नहीं है, और आप पायथन के साथ सहज हैं, तो आप Mutagen पुस्तकालय के साथ इंटरफेस करने के लिए अपने स्वयं के उपकरण को स्क्रिप्ट कर सकते हैं और सीधे टैग्स को पढ़ या उनमें हेरफेर कर सकते हैं।

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