Extract Video Metadata Java: How to Read AVI Files with GroupDocs.Metadata
Mengekstrak metadata video dari file AVI adalah kebutuhan umum saat membangun perpustakaan media, pipeline analitik, atau solusi manajemen aset digital. Dalam tutorial ini Anda akan belajar cara mengekstrak metadata video java dengan cepat menggunakan pustaka GroupDocs.Metadata untuk Java. Kami akan memandu Anda melalui proses penyiapan, menunjukkan kode tepat yang Anda perlukan, dan berbagi tips praktis untuk integrasi di dunia nyata.
Quick Answers
- Library apa yang dapat saya gunakan? GroupDocs.Metadata untuk Java
- Tugas utama apa yang diselesaikannya? Mengekstrak metadata video dari kontainer AVI
- Apakah saya memerlukan lisensi? Versi percobaan gratis tersedia; lisensi diperlukan untuk produksi
- Versi Java apa yang dibutuhkan? JDK 8 atau lebih tinggi
- Bisakah saya memproses banyak file sekaligus? Ya – gunakan multi‑threading atau pemrosesan batch
What is video metadata extraction?
Ekstraksi metadata video berarti membaca informasi tersemat seperti penulis, tanggal pembuatan, perangkat lunak yang digunakan, dan tag khusus yang disimpan di dalam header file. Data ini membantu Anda mengatur, mencari, dan menganalisis aset video tanpa harus membuka media itu sendiri.
Why extract AVI metadata with GroupDocs.Metadata?
- Dukungan format yang komprehensif – Menangani AVI, MP4, MOV, dan banyak kontainer lainnya.
- API sederhana – Panggilan satu baris memberi Anda akses ke semua bidang INFO standar.
- Berfokus pada kinerja – Jejak memori rendah, ideal untuk pekerjaan batch.
- Java‑friendly – Bekerja mulus dengan Maven, Gradle, dan IDE apa pun.
Prerequisites
- GroupDocs.Metadata untuk Java (versi 24.12 atau lebih baru).
- JDK 8 atau lebih baru dan IDE seperti IntelliJ IDEA atau Eclipse.
- Familiaritas dasar dengan Maven dan pemrograman Java.
Setting Up GroupDocs.Metadata for Java
Maven Configuration
Tambahkan repositori GroupDocs dan dependensi ke pom.xml Anda:
<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
Anda juga dapat mengunduh JAR secara langsung dari halaman rilis resmi: GroupDocs.Metadata for Java releases.
License Acquisition
- Free trial – Dapatkan kunci sementara untuk bereksperimen.
- Full license – Beli ketika Anda siap untuk penggunaan produksi.
Initialization and Setup
Berikut adalah kode minimal yang diperlukan untuk membuka file AVI dengan GroupDocs.Metadata:
import com.groupdocs.metadata.Metadata;
public class MetadataSetup {
public static void main(String[] args) {
// Initialize metadata object for your AVI file path
try (Metadata metadata = new Metadata("your_file.avi")) {
System.out.println("Initialization successful!");
}
}
}
How to extract video metadata java from AVI files?
Sekarang kita akan menyelami langkah‑langkah konkret untuk membaca chunk INFO dari file AVI.
Step‑by‑step implementation
1. Import necessary packages
import com.groupdocs.metadata.Metadata;
import com.groupdocs.metadata.core.AviRootPackage;
2. Create a metadata extraction class
public class ExtractAviInfoMetadata {
public static void main(String[] args) {
// Replace with the actual path to your AVI file
String aviFilePath = "YOUR_DOCUMENT_DIRECTORY/your_file.avi";
try (Metadata metadata = new Metadata(aviFilePath)) {
// Obtain the root package of the AVI file
AviRootPackage root = metadata.getRootPackageGeneric();
// Check if RiffInfoPackage is available
if (root.getRiffInfoPackage() != null) {
// Extract and print various pieces of metadata information
String artist = root.getRiffInfoPackage().getArtist();
String comment = root.getRiffInfoPackage().getComment();
String copyright = root.getRiffInfoPackage().getCopyright();
String creationDate = root.getRiffInfoPackage().getCreationDate();
String software = root.getRiffInfoPackage().getSoftware();
String engineer = root.getRiffInfoPackage().getEngineer();
String genre = root.getRiffInfoPackage().getGenre();
// Output the extracted metadata
System.out.println("Artist: " + artist);
System.out.println("Comment: " + comment);
System.out.println("Copyright: " + copyright);
System.out.println("Creation Date: " + creationDate);
System.out.println("Software: " + software);
System.out.println("Engineer: " + engineer);
System.out.println("Genre: " + genre);
// These variables now contain the extracted metadata fields.
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Explanation of the code
- Metadata initialization – Objek
Metadatamemuat file AVI dan secara otomatis mengurai strukturnya. - Root package access –
getRootPackageGeneric()mengembalikanAviRootPackageyang mewakili hierarki tingkat atas kontainer. - RIFF INFO check – Tidak semua file AVI memiliki chunk INFO; pemeriksaan null mencegah
NullPointerException. - Field extraction – Setiap getter (
getArtist(),getComment(), dll.) mengambil potongan metadata video tertentu.
Troubleshooting tips
- Pastikan file AVI tidak rusak; header yang rusak akan menyebabkan kesalahan parsing.
- Pastikan jalur file bersifat absolut atau relatif dengan benar terhadap direktori kerja proyek Anda.
- Jika Anda menerima
nulluntuk suatu bidang, tag tersebut tidak ada di file sumber.
Practical Applications
- Media Management Systems – Mengisi otomatis entri katalog dengan penulis, genre, dan tanggal pembuatan.
- Digital Asset Management (DAM) – Mengaktifkan pencarian berbasis facet menggunakan tag yang diekstrak.
- Content Analytics – Melacak perangkat lunak mana yang menghasilkan video terbanyak atau menganalisis tren produksi seiring waktu.
- Database Integration – Menyimpan nilai yang diambil ke dalam tabel relasional untuk pelaporan dan audit.
Performance Considerations
- Batch processing – Bungkus logika ekstraksi dalam thread pool untuk menangani koleksi besar secara efisien.
- Memory tuning – Tingkatkan heap JVM (
-Xmx2gatau lebih tinggi) saat memproses file AVI yang sangat besar. - Resource cleanup – Blok try‑with‑resources secara otomatis membuang handle native; selalu gunakan cara ini.
Common Issues and Solutions
| Issue | Cause | Solution |
|---|---|---|
NullPointerException on root.getRiffInfoPackage() | File AVI tidak memiliki chunk INFO | Tambahkan pemeriksaan null (sudah ditunjukkan) atau pastikan file sumber berisi metadata |
| File not found | Jalur tidak tepat atau izin file kurang | Gunakan jalur absolut atau letakkan file di folder resources proyek |
| Slow processing on thousands of files | Eksekusi satu‑thread | Implementasikan ExecutorService untuk menjalankan ekstraksi secara paralel |
Unexpected null values for fields | Tag tidak ada di header AVI | Perlakukan null sebagai “tidak tersedia” dan tangani secara elegan di UI atau log Anda |
Frequently Asked Questions
Q: Can GroupDocs.Metadata read custom tags that aren’t part of the standard INFO chunk?
A: Yes, the library exposes a generic dictionary for any non‑standard key/value pairs stored in the RIFF INFO block.
Q: Do I need a separate license for each deployment environment?
A: A single license covers all environments (development, staging, production) as long as you comply with the licensing terms.
Q: Is it possible to modify AVI metadata, not just read it?
A: Absolutely. The same AviRootPackage provides setter methods such as setArtist(String) to update fields and then save the file.
Q: How does this approach compare to using FFmpeg for metadata extraction?
A: FFmpeg is a powerful command‑line tool, but GroupDocs.Metadata offers a pure‑Java API, tighter integration, and no external process overhead.
Q: What if my AVI files are stored in a cloud bucket (e.g., AWS S3)?
A: Download the file to a temporary local path or use a stream‑based overload of the Metadata constructor that accepts an InputStream.
Last Updated: 2026-02-21
Tested With: GroupDocs.Metadata 24.12 for Java
Author: GroupDocs