GroupDocs.Metadata के साथ Java में MKV मेटाडाटा निकालें
Multimedia फ़ाइलें हर जगह हैं, और उनके अंदरूनी विवरण पढ़ने में सक्षम होना मीडिया प्रबंधन, कैटलॉगिंग और विश्लेषण के लिए अत्यंत महत्वपूर्ण है। इस ट्यूटोरियल में आप शक्तिशाली GroupDocs.Metadata लाइब्रेरी का उपयोग करके how to extract mkv metadata java सीखेंगे। हम लाइब्रेरी को सेटअप करने, EBML हेडर, सेगमेंट जानकारी, टैग और MKV फ़ाइल से ट्रैक डेटा निकालने की प्रक्रिया को चरण‑दर‑चरण दिखाएंगे, और वास्तविक दुनिया के परिदृश्यों को प्रस्तुत करेंगे जहाँ यह ज्ञान उपयोगी सिद्ध होता है।
त्वरित उत्तर
- What does “extract mkv metadata java” mean? यह प्रक्रिया है जिसमें Java का उपयोग करके प्रोग्रामेटिक रूप से MKV फ़ाइलों से मेटाडाटा पढ़ा जाता है।
- Which library should I use? GroupDocs.Metadata for Java Matroska फ़ाइलों के लिए एक व्यापक API प्रदान करता है।
- Do I need a license? मूल्यांकन के लिए एक फ्री ट्रायल काम करता है; लाइसेंस उपयोग सीमाओं को हटा देता है।
- Can I read other formats? हाँ, वही लाइब्रेरी MP4, AVI, MP3 और कई अन्य फ़ॉर्मेट्स को सपोर्ट करती है।
- Is internet access required at runtime? नहीं, लाइब्रेरी को आपके प्रोजेक्ट में जोड़ने के बाद सभी एक्सट्रैक्शन स्थानीय रूप से होते हैं।
Matroska (MKV) मेटाडाटा क्या है?
Matroska एक ओपन, लचीला कंटेनर फ़ॉर्मेट है। इसका मेटाडाटा EBML हेडर (फ़ाइल संस्करण, दस्तावेज़ प्रकार), सेगमेंट विवरण (अवधि, मक्सिंग एप्लिकेशन), टैग (शीर्षक, विवरण), और ट्रैक विशिष्टताएँ (ऑडियो/वीडियो कोडेक्स, भाषा) शामिल करता है। इस डेटा तक पहुँचने से आप मीडिया कैटलॉग बना सकते हैं, फ़ाइल की अखंडता सत्यापित कर सकते हैं, या थंबनेल स्वचालित रूप से जेनरेट कर सकते हैं।
Java के लिए GroupDocs.Metadata क्यों उपयोग करें?
- Full‑featured API – EBML, सेगमेंट, टैग और ट्रैक को लो‑लेवल पार्सिंग के बिना संभालता है।
- Performance‑optimized – बड़े फ़ाइलों के साथ भी कुशलता से काम करता है।
- Cross‑format support – समान कोड बेस को अन्य ऑडियो/वीडियो कंटेनरों के लिए पुन: उपयोग किया जा सकता है।
- Simple Maven integration – एक ही डिपेंडेंसी जोड़ें और एक्सट्रैक्शन शुरू करें।
पूर्वापेक्षाएँ
- GroupDocs.Metadata for Java संस्करण 24.12 या बाद का।
- Java Development Kit (JDK) स्थापित हो।
- Maven (या मैनुअल JAR हैंडलिंग)।
- प्रयोग के लिए एक MKV फ़ाइल (इसे
YOUR_DOCUMENT_DIRECTORYमें रखें)।
Java के लिए GroupDocs.Metadata सेटअप करना
Maven का उपयोग करके या JAR को सीधे डाउनलोड करके लाइब्रेरी को अपने प्रोजेक्ट में जोड़ें।
Maven:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/metadata/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-metadata</artifactId>
<version>24.12</version>
</dependency>
</dependencies>
Direct Download:
यदि आप Maven का उपयोग नहीं करना चाहते हैं, तो नवीनतम संस्करण GroupDocs.Metadata for Java releases से डाउनलोड करें।
लाइसेंस प्राप्त करना
फ़ीचर का पता लगाने के लिए फ्री ट्रायल से शुरू करें। प्रोडक्शन उपयोग के लिए, लाइसेंस खरीदें या ट्रायल सीमाओं को हटाने के लिए GroupDocs से एक टेम्पररी लाइसेंस प्राप्त करें।
बुनियादी इनिशियलाइज़ेशन और सेटअप
नीचे GroupDocs.Metadata के साथ MKV फ़ाइल खोलने के लिए आवश्यक न्यूनतम कोड दिया गया है।
import com.groupdocs.metadata.Metadata;
import com.groupdocs.metadata.core.MatroskaRootPackage;
public class MetadataExtraction {
public static void main(String[] args) {
try (Metadata metadata = new Metadata("YOUR_DOCUMENT_DIRECTORY/input.mkv")) {
MatroskaRootPackage root = metadata.getRootPackageGeneric();
// Access and manipulate metadata here
}
}
}
GroupDocs.Metadata के साथ extract mkv metadata java कैसे करें
अब हम प्रत्येक मेटाडाटा क्षेत्र में डुबकी लगाएंगे जिसे आप पढ़ सकते हैं।
Matroska EBML हेडर पढ़ना
EBML हेडर फ़ाइल की मूल जानकारी जैसे संस्करण और दस्तावेज़ प्रकार संग्रहीत करता है।
import com.groupdocs.metadata.Metadata;
import com.groupdocs.metadata.core.MatroskaRootPackage;
public class ReadMatroskaEBMLHeader {
public static void run() {
try (Metadata metadata = new Metadata("YOUR_DOCUMENT_DIRECTORY/input.mkv")) {
MatroskaRootPackage root = metadata.getRootPackageGeneric();
String docType = root.getMatroskaPackage().getEbmlHeader().getDocType();
String docTypeReadVersion = root.getMatroskaPackage().getEbmlHeader().getDocTypeReadVersion();
String docTypeVersion = root.getMatroskaPackage().getEbmlHeader().getDocTypeVersion();
String readVersion = root.getMatroskaPackage().getEbmlHeader().getReadVersion();
String version = root.getMatroskaPackage().getEbmlHeader().getVersion();
// Use the extracted header details as needed
}
}
}
Key Points
getRootPackageGeneric()आपको Matroska पैकेज एंट्री पॉइंट देता है।- EBML प्रॉपर्टीज़ (
docType,version, आदि) आपको फ़ाइल संगतता सत्यापित करने में मदद करती हैं।
Matroska सेगमेंट जानकारी पढ़ना
सेगमेंट समग्र मीडिया टाइमलाइन और निर्माण टूल्स का वर्णन करते हैं।
import com.groupdocs.metadata.Metadata;
import com.groupdocs.metadata.core.MatroskaRootPackage;
public class ReadMatroskaSegmentInformation {
public static void run() {
try (Metadata metadata = new Metadata("YOUR_DOCUMENT_DIRECTORY/input.mkv")) {
MatroskaRootPackage root = metadata.getRootPackageGeneric();
for (var segment : root.getMatroskaPackage().getSegments()) {
String dateUtc = segment.getDateUtc();
long duration = segment.getDuration();
String muxingApp = segment.getMuxingApp();
String segmentFilename = segment.getSegmentFilename();
String segmentUid = segment.getSegmentUid();
long timecodeScale = segment.getTimecodeScale();
String title = segment.getTitle();
String writingApp = segment.getWritingApp();
// Process the extracted segment information as needed
}
}
}
}
Key Points
getSegments()एक कलेक्शन लौटाता है; प्रत्येक सेगमेंट अपना शीर्षक, अवधि, और निर्माण एप्लिकेशन विवरण रख सकता है।- प्लेलिस्ट बनाने या एन्कोडिंग पैरामीटर वैधता के लिए उपयोगी।
Matroska टैग मेटाडाटा पढ़ना
टैग मानव‑पठनीय जानकारी जैसे शीर्षक, कलाकार, या कस्टम नोट्स संग्रहीत करते हैं।
import com.groupdocs.metadata.Metadata;
import com.groupdocs.metadata.core.MatroskaRootPackage;
import com.groupdocs.metadata.core.MetadataProperty;
public class ReadMatroskaTagMetadata {
public static void run() {
try (Metadata metadata = new Metadata("YOUR_DOCUMENT_DIRECTORY/input.mkv")) {
MatroskaRootPackage root = metadata.getRootPackageGeneric();
for (var tag : root.getMatroskaPackage().getTags()) {
String targetType = tag.getTargetType();
String targetTypeValue = tag.getTargetTypeValue();
String tagTrackUid = tag.getTagTrackUid();
for (MetadataProperty simpleTag : tag.getSimpleTags()) {
String name = simpleTag.getName();
String value = simpleTag.getValue();
// Utilize the extracted tag information as needed
}
}
}
}
}
Key Points
- टैग
targetTypeद्वारा व्यवस्थित होते हैं (जैसे,movie,track)। simpleTagएंट्रीज़TITLE=My Videoजैसे कुंजी/मान जोड़े रखती हैं।
Matroska ट्रैक मेटाडाटा पढ़ना
ट्रैक व्यक्तिगत ऑडियो, वीडियो, या सबटाइटल स्ट्रीम का प्रतिनिधित्व करते हैं।
import com.groupdocs.metadata.Metadata;
import com.groupdocs.metadata.core.MatroskaRootPackage;
public class ReadMatroskaTrackMetadata {
public static void run() {
try (Metadata metadata = new Metadata("YOUR_DOCUMENT_DIRECTORY/input.mkv")) {
MatroskaRootPackage root = metadata.getRootPackageGeneric();
for (var track : root.getMatroskaPackage().getTracks()) {
String trackType = track.getType();
String codecId = track.getCodecId();
String language = track.getLanguage();
long duration = track.getDuration();
// Process the extracted track information as needed
}
}
}
}
Key Points
track.getType()बताता है कि यह वीडियो, ऑडियो या सबटाइटल है।codecIdआपको कोडेक पहचानने देता है (जैसे,V_MPEG4/ISO/AVC)।- यह डेटा ट्रांसकोडिंग पाइपलाइन या क्वालिटी चेक्स के लिए आवश्यक है।
सामान्य समस्याएँ और ट्रबलशूटिंग
| लक्षण | संभावित कारण | समाधान |
|---|---|---|
NullPointerException when accessing getEbmlHeader() | फ़ाइल पथ गलत या फ़ाइल नहीं मिली | new Metadata("...") में पथ सत्यापित करें और सुनिश्चित करें कि फ़ाइल मौजूद है। |
| No tags returned | MKV फ़ाइल में टैग तत्व नहीं हैं | ऐसा मीडिया फ़ाइल उपयोग करें जिसमें मेटाडाटा टैग हों (जैसे, MKVToolNix से जोड़े गए)। |
| Slow processing on large files | अपर्याप्त हीप मेमोरी | JVM हीप बढ़ाएँ (-Xmx2g या अधिक) या संभव हो तो फ़ाइल को भागों में प्रोसेस करें। |
अक्सर पूछे जाने वाले प्रश्न
Q: क्या मैं उसी लाइब्रेरी से अन्य वीडियो फ़ॉर्मेट्स का मेटाडाटा निकाल सकता हूँ?
A: हाँ, GroupDocs.Metadata MP4, AVI, MOV और कई अन्य को सपोर्ट करता है। API पैटर्न समान है—सिर्फ उपयुक्त रूट पैकेज क्लास का उपयोग करें।
Q: प्रोडक्शन उपयोग के लिए लाइसेंस आवश्यक है क्या?
A: लाइसेंस ट्रायल सीमाओं को हटाता है और पूर्ण कार्यक्षमता प्रदान करता है। लाइब्रेरी मूल्यांकन के लिए ट्रायल मोड में काम करती है।
Q: क्या एक्सट्रैक्शन ऑफ़लाइन होता है?
A: बिल्कुल। एक बार JAR आपके क्लासपाथ में होने पर, सभी मेटाडाटा रीड्स स्थानीय रूप से किए जाते हैं बिना नेटवर्क कॉल के।
Q: बहुत बड़े MKV फ़ाइलों (कई GB) पर यह कैसे प्रदर्शन करता है?
A: लाइब्रेरी कंटेनर स्ट्रक्चर को स्ट्रीम करती है, इसलिए मेमोरी उपयोग सीमित रहता है, लेकिन सुनिश्चित करें कि आपका JVM बड़े टैग कलेक्शन के लिए पर्याप्त हीप रखता है।
Q: क्या मैं मेटाडाटा को संशोधित करके फ़ाइल में वापस लिख सकता हूँ?
A: GroupDocs.Metadata मुख्यतः पढ़ने पर केंद्रित है। लिखने की क्षमताएँ सीमित हैं; किसी भी लिखने के समर्थन के लिए नवीनतम API डॉक्यूमेंटेशन देखें।
निष्कर्ष
अब आपके पास GroupDocs.Metadata का उपयोग करके extracting mkv metadata java के लिए एक पूर्ण, प्रोडक्शन‑रेडी गाइड है। EBML हेडर, सेगमेंट जानकारी, टैग और ट्रैक विवरण को उपयोग करके आप मीडिया कैटलॉग को सशक्त बना सकते हैं, क्वालिटी चेक्स को ऑटोमेट कर सकते हैं, या वीडियो स्ट्रीमिंग सेवाओं को समृद्ध कर सकते हैं। कोड स्निपेट्स के साथ प्रयोग करें, उन्हें अपने वर्कफ़्लो में अनुकूलित करें, और लाइब्रेरी की विस्तृत फ़ॉर्मेट सपोर्ट को और अधिक संभावनाओं के लिए एक्सप्लोर करें।
अंतिम अपडेट: 2025-12-22
परीक्षित संस्करण: GroupDocs.Metadata 24.12 for Java
लेखक: GroupDocs