2013-10-03 4 views
8

मेरे इमेज प्रोसेसिंग सॉफ़्टवेयर के आसपास मैं क्रि 2, टीआईएफएफ, जेपीजी फाइलों से एक्फिफ़ जानकारी को सफलतापूर्वक शफल करने के लिए एक्सिफेटोल का उपयोग करता हूं। जोड़े गए टैग, जैसे कि "कीवर्ड", ओएसएक्स (पहाड़ शेर) खोजक, पूर्वावलोकन और स्पॉटलाइट द्वारा अच्छी तरह से अनुक्रमित सभी में दिखाई दे रहे हैं।पीएनजी छवियों में ओएसएक्स दृश्यमान एक्सएमपी मेटाडेटा बनाने के लिए एक्सिफेटोल

पीएनजी के लिए मुझे एक्सएमपी में गिरावट की जरूरत है क्योंकि यह पीएनजी के लिए मेटाडेटा कंटेनर है। हालांकि, exiftool- जोड़ा टैग न तो पूर्वावलोकन और न ही SpotLight द्वारा उठाया प्रतीत होता है। इसके विपरीत, यदि मैं पहले पूर्वावलोकन में एक टैग जोड़ता हूं और बाद में एक नया टैग जोड़ने के लिए exiftool का उपयोग करता हूं, तो यह अनुक्रमित है। यहां अंतर यह है कि मैं यहां एक्सएमपी कच्चे डेटा में देखता हूं, जहां एक्स्टिफोल नव हेडर बनाता है, जबकि पूर्वावलोकन नहीं करता है।

उदाहरण के लिए, मेटाडाटा https://upload.wikimedia.org/wikipedia/commons/4/47/PNG_transparency_demonstration_1.png बिना पीएनजी पर विकिपीडिया पृष्ठ से निम्नलिखित पीएनजी को देखो:

Sample PNG without metadata

exiftool का उपयोग कर एक कीवर्ड को जोड़ने का है, और बाद में XMP datablock डंपिंग:

exiftool -xmp-dc:subject=ViaExifSubject ./PNG_transparency_demonstration_1.png 
exiftool -xmp -b ./PNG_transparency_demonstration_1.png 

निम्नलिखित एक्सएमपी डेटा देता है:

<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?> 
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 9.02'> 
    <rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> 
<rdf:Description rdf:about='' 
    xmlns:dc='http://purl.org/dc/elements/1.1/'> 
    <dc:subject> 
    <rdf:Bag> 
    <rdf:li>ViaExifSubject</rdf:li> 
    </rdf:Bag> 
    </dc:subject> 
</rdf:Description> 
</rdf:RDF> 
</x:xmpmeta> 
<?xpacket end='r'?> 

हालांकि, पूर्वावलोकन या खोजक जानकारी पैनल में, "ViaExifSubject" नहीं मिला है।

वैकल्पिक रूप से, टिप्पणियां जोड़ने के लिए ओएसएक्स पूर्वावलोकन का उपयोग करना (पूर्वावलोकन में खोलें, इंस्पेक्टर दिखाएं, कीवर्ड टैब पर जाएं, कीवर्ड जोड़ने के लिए '+' पर क्लिक करें)। XMP exiftool के माध्यम से फिर से फेंक दिया: पूर्वावलोकन कीवर्ड उत्पन्न में

<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 5.1.2"> 
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> 
     <rdf:Description rdf:about="" 
      xmlns:dc="http://purl.org/dc/elements/1.1/"> 
     <dc:subject> 
      <rdf:Bag> 
       <rdf:li>viaPreview</rdf:li> 
      </rdf:Bag> 
     </dc:subject> 
     </rdf:Description> 
    </rdf:RDF> 
</x:xmpmeta> 

xpacket हेडर मौजूद नहीं है, और XMP टूलकिट अलग है। "ThroughPreview" टैग अब दृश्यमान है, उदा। सीएलआई पर mdls का उपयोग करना। हैरानी की बात है, तो मैं पहली बार पूर्वावलोकन उपयोग करके किसी टैग बनाने और उसके बाद उपरोक्त आदेश, नए कर

exiftool "-xmp<=viaexif.xmp" PNG_transparency_demonstration_1.png 

,:

एक स्वच्छ फ़ाइल में कच्चे XMP जानकारी धक्का भी अपेक्षित परिणाम नहीं दे करता है टैग परिलक्षित होते हैं मुझे संदेह है कि मैं एक बाहरी डेटा पार्सर की देखरेख कर रहा हूं जिसे 'सक्रिय' होने की आवश्यकता है, टैग उठाता है और उन्हें एक अलग स्टोर (जैसे .DS_store) में डालता है। मैंने कोई xattr जोड़ा नहीं देखा है।

ये मेरी सवाल कर रहे हैं:

  • XMP/पीएनजी संयोजन के लिए सही उपकरण exiftool है, और मैं एक विशिष्ट सुविधा याद आ रही है
  • OSX एक XMP मानक चुनौती मिल रही है? संपादित करें: apparently XMP प्रति डिफ़ॉल्ट ओएसएक्स द्वारा सम्मानित नहीं किया जाता है
  • क्या मुझे कंटेनर को पट्टी करने के लिए वैकल्पिक टूल में जांच करनी चाहिए?

मैं अपने डिस्क पर मेरी xmp_sdk अप खोदा और प्रदान की नमूनों के साथ प्रयोग:

ModifyXMP लिख सकते हैं "शुद्ध" पीएनजी में XMP जानकारी जो OSX खोजक में दिखाया गया है - यह एक अच्छा है लक्ष्य।

ReadingXMP ExifTool द्वारा पीएनजी में डाली गई एक्सएमपी जानकारी पढ़ सकता है, हालांकि यह जानकारी ओएसएक्स खोजक में नहीं दिखाया गया है।

संशोधित वही एक्सएमपी ब्लॉब डालने पर ModifyXMP के आउटपुट और exiftool को देखते समय फ़ाइल का आकार समान होता है। एक diff से पता चलता है कि exiftool फ़ाइल के अंत में संलग्न होता है जहां एक्सएमपी एसडीके इसे पीएनजी के शीर्षलेख में रखता है। XMP spec बताता है कि "एन्कोडर्स को फ़ाइल की शुरुआत में हिस्से को रखने के लिए प्रोत्साहित किया जाता है, लेकिन इसकी आवश्यकता नहीं है।"

निष्कर्ष: एक्सआईएफटीओएल एक्सएमपी कैसे लिखता है और यह विशेष रूप से ओएसएक्स मेटाडेटा पुनर्प्राप्ति के साथ गड़बड़ में एक मामूली अंतर है।

अभी के लिए: XMP SDK के साथ

  • प्रयोग के बजाय शुरुआत में एक साफ XMP पैकेट डालें, और exiftool यह पहली हिस्सा पुन: उपयोग करने के लिए।
  • मैं reposted on exiftools' forum, और लेखक फिल हार्वे ने जवाब दिया:

    मैंने किया एप्पल पूर्वावलोकन के साथ खेल, और न केवल यह फ़ाइल के अंत में XMP को नहीं पहचानता है, लेकिन यह भी यह जोड़ते समय इस XMP हटाता कुछ छवि के लिए कीवर्ड। मेरा अनुमान है कि अगर आईडीएटी खंड के बाद आता है तो ऐप्पल सॉफ्टवेयर एक्सएमपी को अनदेखा करता है। यह आश्चर्यजनक होगा अगर एक्सएमपी विनिर्देश ने अनिवार्य किया था कि एक्सएमपी खंड आईडीएटी से पहले आया है, लेकिन ऐसा नहीं हुआ, इसलिए इसे ऐप्पल सॉफ्टवेयर में एक बग माना जाना चाहिए। मैंने इसे list of Known problems में जोड़ा है।

    मैं इस पर बहुत काम किया है, और Exiftool 9.40 आप लिखने के लिए अनुमति देने के लिए एक नया विकल्प होगा:

    अंत में, फिल हार्वे Exiftool अपने आप में इस समस्या को ठीक करने का निर्णय लिया पीएनजी आईडीएटी खंड से पहले एक्सएमपी। इसी आदेश इस तरह दिखेगा: exiftool -api PNGEarlyXMP ...

  • पर एप्पल एक बग दायर - दिसम्बर अद्यतन 2014: एप्पल मेरी बग हुए कहा कि वे इस विषय पर कोई कार्रवाई नहीं होगा बंद कर दिया

उत्तर

0
  1. आप एक्सएमपी टूलकिट एसडीके और इसके नमूने आज़माएं और पीएनजी के लिए मेटाडेटा लिखें।
  2. OSX आईपीटीसी का उपयोग करता है (यकीन नहीं, कहीं पढ़ा है) और XMP टूलकिट XMP और आईपीटीसी सामंजस्य होता है, इसलिए कीवर्ड XMP Toolkit का उपयोग कर ओएस एक्स

अपने अवलोकन से यह exiftool नहीं करता है की तरह लग रहा पर नहीं खोजा जा सकेगा जोड़ा आईपीटीसी और एक्सएमपी को मेल नहीं मिला। आप कोशिश कर सकते हैं कि पीएनजी के अंदर आईपीटीसी और एक्सएमपी दोनों को आजमाएं और बदलें और देखें कि यह खोजने योग्य है या नहीं।

+0

मैंने एक्सएमपी एसडीके व्यवहार को शामिल करने के लिए पोस्ट संपादित किया। मुझे नहीं लगता कि आईपीटीसी की आवश्यकता है (सीधे पीएनजी में समर्थित नहीं है)। – gdh

+0

मैं आपको एक्सएमपी एसडीके रूट जाने के लिए क्रेडिट दूंगा जो पीएनजी में एक्सएमपी पैकेट के आदेश की खोज को ट्रिगर करता है - हम देखेंगे कि यह कहां समाप्त होता है – gdh

संबंधित मुद्दे