-
Notifications
You must be signed in to change notification settings - Fork 0
API Reference and How to Use
The CodecMediaEngine contract exposes these methods:
Alias of probe(input).
Use when you prefer shorter naming.
Detects format and returns technical stream/container info.
Returns ProbeResult fields:
inputmimeTypeextensionmediaTypedurationMillisstreamstags
Example:
var result = engine.probe(Path.of("src/test/resources/mp4_test.mp4"));
System.out.println(result.mimeType());
System.out.println(result.mediaType());
for (var s : result.streams()) {
System.out.println("stream=" + s.index() + " kind=" + s.kind() + " codec=" + s.codec());
}Reads metadata from sidecar + derived probe context.
Important: current implementation is sidecar-oriented, not full embedded metadata extraction across all formats.
Example:
var metadata = engine.readMetadata(Path.of("target/example-output.jpg"));
System.out.println(metadata.entries());Writes metadata to sidecar properties next to media file.
Example:
import java.util.Map;
import me.tamkungz.codecmedia.model.Metadata;
engine.writeMetadata(
Path.of("target/example-output.jpg"),
new Metadata(Map.of("title", "Demo", "author", "CodecMedia"))
);Extracts audio stream according to options.
Default options:
var defaults = AudioExtractOptions.defaults();
// targetFormat=m4a, bitrateKbps=192, streamIndex=0Example:
import me.tamkungz.codecmedia.options.AudioExtractOptions;
var out = engine.extractAudio(
Path.of("src/test/resources/mp4_test.mp4"),
Path.of("target"),
new AudioExtractOptions("m4a", 192, 0)
);
System.out.println(out.outputFile());
System.out.println(out.format());Runs conversion routing and converter execution.
Default helper:
var defaults = ConversionOptions.defaults("jpg");
// preset="balanced", overwrite=falseExample (image to image):
import me.tamkungz.codecmedia.options.ConversionOptions;
var converted = engine.convert(
Path.of("src/test/resources/png_test.png"),
Path.of("target/converted.jpg"),
new ConversionOptions("jpg", "balanced", true)
);
System.out.println(converted.outputFile());
System.out.println(converted.format());
System.out.println(converted.reencoded());Starts playback/view action based on options.
PlaybackOptions.defaults() is:
dryRun=falseallowExternalApp=true
Example (safe dry-run):
import me.tamkungz.codecmedia.options.PlaybackOptions;
var play = engine.play(
Path.of("src/test/resources/c-major-scale_test_audacity.mp3"),
new PlaybackOptions(true, false)
);
System.out.println(play.started());
System.out.println(play.backend());
System.out.println(play.message());Validates file presence/size and optional strict parser-level checks.
ValidationOptions.defaults() is:
strict=falsemaxBytes=500MB
Example:
import me.tamkungz.codecmedia.options.ValidationOptions;
var v = engine.validate(
Path.of("target/converted.jpg"),
new ValidationOptions(true, 64L * 1024L * 1024L)
);
System.out.println(v.valid());
System.out.println(v.warnings());
System.out.println(v.errors());