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 Metadata memuat file AVI dan secara otomatis mengurai strukturnya.
  • Root package accessgetRootPackageGeneric() mengembalikan AviRootPackage yang 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 null untuk suatu bidang, tag tersebut tidak ada di file sumber.

Practical Applications

  1. Media Management Systems – Mengisi otomatis entri katalog dengan penulis, genre, dan tanggal pembuatan.
  2. Digital Asset Management (DAM) – Mengaktifkan pencarian berbasis facet menggunakan tag yang diekstrak.
  3. Content Analytics – Melacak perangkat lunak mana yang menghasilkan video terbanyak atau menganalisis tren produksi seiring waktu.
  4. 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 (-Xmx2g atau 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

IssueCauseSolution
NullPointerException on root.getRiffInfoPackage()File AVI tidak memiliki chunk INFOTambahkan pemeriksaan null (sudah ditunjukkan) atau pastikan file sumber berisi metadata
File not foundJalur tidak tepat atau izin file kurangGunakan jalur absolut atau letakkan file di folder resources proyek
Slow processing on thousands of filesEksekusi satu‑threadImplementasikan ExecutorService untuk menjalankan ekstraksi secara paralel
Unexpected null values for fieldsTag tidak ada di header AVIPerlakukan 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