Universal media processing library for Java

CodecMedia is a Java library for media probing, validation, metadata sidecar persistence, audio extraction, playback workflow simulation, and conversion routing.

Web Converter (powered by CodecMedia jar or npm mode)

Drag & drop a file or choose one from your device, then convert it on the server via CodecMedia.

Drop file here

or click to browse

Converter mode

Example source files:

  • portrait.heic
  • logo.webp
  • music.wav
  • scan.tiff

Probe & Validate

Probe technical media/container details and validate files with strict parser checks and size limits.

Metadata Sidecar

Read and write metadata with sidecar persistence using a .codecmedia.properties file next to the media.

Extract, Convert & Play

In-Java extraction, conversion routing, and dry-run capable playback simulation for workflows.

Supported probing formats

MP3, OGG/Vorbis, WAV, PNG, JPEG, WebP, BMP, TIFF, HEIC/HEIF/AVIF, and MP4 (basic BMFF parsing).

Apache-2.0 licensed and built for reliable Java media pipelines

Use CodecMedia.createDefault() for a practical facade covering probe, metadata, extraction, conversion, playback, and validation workflows.

Install

Java version 1.0.4 and npm version 1.1.3.

Java (Maven / Gradle)

Maven

<dependency>
    <groupId>me.tamkungz.codecmedia</groupId>
    <artifactId>codecmedia</artifactId>
    <version>1.0.4</version>
    <scope>compile</scope>
</dependency>

Gradle

implementation 'me.tamkungz.codecmedia:codecmedia:1.0.4'

Node.js (npm)

Install

npm i codecmedia@1.1.3

FAQ

What is CodecMedia?

A Java library focused on practical media probing, validation, sidecar metadata, extraction, playback simulation, and conversion routing.

How do I start using CodecMedia?

Use the facade entry point CodecMedia.createDefault() to get a default engine and call probe, validate, readMetadata, writeMetadata, extractAudio, convert, and play.

Where can I find the artifact and source?

The library is available on MvnRepository and the source code is hosted on GitHub under the Apache-2.0 license.

Contact

@TamKungZ_