From d92c284a6d209b903fa8765379f9b7f0fa56d208 Mon Sep 17 00:00:00 2001 From: Werner Randelshofer Date: Sun, 26 Feb 2023 10:20:37 +0100 Subject: [PATCH] Improve documentation. --- README.md | 103 +++++++++++++++--- .../java/org.monte.media/module-info.java | 6 +- 2 files changed, 91 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index a70ce8d..84098c3 100755 --- a/README.md +++ b/README.md @@ -1,25 +1,96 @@ [![Maven Central](https://maven-badges.herokuapp.com/maven-central/ch.randelshofer/org.monte.media/badge.svg)](https://maven-badges.herokuapp.com/maven-central/ch.randelshofer/org.monte.media) -# MonteMedia 17 +# MonteMedia A Java library for processing still images, video, audio and meta-data. -This version updates the MonteMedia library to Java 17. +## Supported formats: -## MonteMedia for Java 17 +Container formats: -The library is split up into a main module, additional modules and demo modules. +| Container | Description | Operations | +|-----------|--------------------------------------------|-------------| +| RIFF | Microsoft Resource Interchange File Format | Read | +| AVI | Microsoft Audio Video Interchange | Read,Write | +| MOV | Apple QuickTime | Write | +| JFIF | JPEG File Interchange Format | Read, Write | +| MP3 | MP3 Elementary Stream | Read | +| MPO | MultiPicture Object Format | Read | +| TIFF | Tagged Image File Format | Read, Write | +| IFF | Electronic Arts Interchange File Format | Read, Write | -* org.monte.media - This is the main module. It includes the audio/video processing classes, the image processing classes. -* org.monte.media.jmf - This module provides codecs to the Java Media Framework (JMF). The codecs can be used to play back videos, - that were recorded with screen recorder with the JMF library. The codecs must be registered with the JMF Registry - before they can be used. This module depends on the org.monte.media module. -* org.monte.media.javafx - This module provides integration with JavaFX. -* org.monte.demo.* - These are demo modules. +Video encodings: -To launch the screen recorder enter: -java -p modules -m org.monte.media +| Video Encoding | Containers | Description | Operations | +|----------------|------------|-------------------------------------|----------------| +| PNG | AVI, MOV | Portable Networks Graphics | Decode, Encode | +| DIB | AVI | Microsoft Device Independent Bitmap | Encode | +| Run Length | AVI | Run Length Encoding | Encode | +| ZMBV | AVI | DosBox Capture Codec | Decode | +| TSCC | AVI, MOV | TechSmith Screen Capture Codec | Decode, Encode | +| MJPG | AVI, MOV | Motion JPEG | Decode, Encode | +| Animation | MOV | QuickTime Animation | Encode | +| Raw | MOV | QuickTime RAW | Encode | +| Op5 | ANIM | Amiga Animation | Decode, Encode | +| Op7 Short/Long | ANIM | Amiga Animation | Decode | +| Op8 Short/Long | ANIM | Amiga Animation | Decode | +| SEQ | SEQ | Atari Cyber Paint Sequence | Decode | + +Audio encodings: + +| Audio Encoding | Containers | Description | Operations | +|----------------|------------|-----------------------|----------------| +| PCM | AVI, MOV | Pulse Code Modulation | Decode, Encode | +| 8SVX | 8SVX, ANIM | Pulse Code Modulation | Decode | + +Image encodings: + +| Image Encoding | Containers | Description | Operations | +|----------------|-------------|----------------------------|----------------| +| PGM | PGM | Netpbm grayscale image | Decode | +| CMYK | JPEG (JFIF) | JPEG CMYK Image | Decode | +| MPO | MPO (JFIF) | MultiPicture Object Format | Decode | +| ILBM | IFF | Amiga Interleaved Bitmap | Decode, Encode | +| PBM | IFF | Amiga Packed Bitmap | Decode, Encode | +| PGM | PGM | Netpbm grayscaleimage | Decode | + +Meta-data encodings: + +| Meta-data Encoding | Containers | Description | Operations | +|--------------------|----------------|--------------------------------|------------| +| EXIF | AVI, JPEG, MPO | Exchangeable Image File Format | Decode | + +## Modules + +This project consists of the following modules: + +| Module | Description | +|--------------------------------|-------------------------------------------------------------------------------------------| +| org.monte.media | Library for processing still images, video, audio and meta-data. | +| org.monte.media.screenrecorder | Screen recorder in pure Java (AVI and QuickTime) . | +| org.monte.media.swing | Swing components. | +| org.monte.media.javafx | JavaFX components. | +| org.monte.media.jmf | Provides the following codecs to JMF: TSCC, ZMBV. | +| org.monte.media.amigaatari | Additional codecs/container formats for processing Amiga and Atari audio and video files. | +| org.monte.media.animconverter | Converts Amiga IFF ANIM files to QuickTime. | + +The project also provides the following demonstration modules: + +| Module | Description | +|---------------------------------|-------------------------------------------------------------------------------------------| +| org.monte.demo.animmerger | Demonstrates how to merge two Amiga IFF ANIM files. | +| org.monte.demo.audiorecorder | Demonstrates how to record audio into an AVI file. | +| org.monte.demo.aviwriter | Demonstrates how to write a video-only AVI file. | +| org.monte.demo.cleartype | Demonstrates how to draw text with a ClearType antialiasing effect. | +| org.monte.demo.cmykimageviewer | Demonstrates how to read a JPEG image with CMYK color model. | +| org.monte.demo.imageioviewer | Demonstrates how to read images with ImageIO. | +| org.monte.demo.io | Demonstrates how to read/trim/concat AVI video files. | +| org.monte.demo.jmfavi | Demonstrates how write a TSCC encoded AVI file with the JMF library. | +| org.monte.demo.jmftsccdemo | Demonstrates how to play back a TSCC encoded AVI file with the JMF library. | +| org.monte.demo.moviconverter | An utterly incomplete demo for a movie conversion tool. | +| org.monte.demo.moviemaker | Demonstrates how to create a QuickTime movie from a sequence of images and an audio file. | +| org.monte.demo.mpoimagesplitter | Demonstrates how to split up a MPO file into JPEG files. | +| org.monte.demo.quicktimewriter | Demonstrates how to write a video-only QuickTime file. | +| org.monte.demo.rationalnumber | Demonstrates how to work with rational numbers. | +| org.monte.demo.screenrecorder | Demonstrates how to implement a screen recorder. | +| org.monte.demo.sift | Demonstrates how to analyze the structure of an Amiga IFF file. | diff --git a/org.monte.media/src/main/java/org.monte.media/module-info.java b/org.monte.media/src/main/java/org.monte.media/module-info.java index 133147c..22ea803 100755 --- a/org.monte.media/src/main/java/org.monte.media/module-info.java +++ b/org.monte.media/src/main/java/org.monte.media/module-info.java @@ -29,10 +29,12 @@ * EncodingEncode * ZMBVAVIDosBox Capture * CodecDecode + * TSCCAVI, MOVTechSmith Screen Capture + * CodecDecode, Encode * MJPGAVI, MOVMotion JPEGDecode, * Encode - * AnimationMOVQuickTime AnimationWrite - * RawMOVQuickTime RAWWrite + * AnimationMOVQuickTime AnimationEncode + * RawMOVQuickTime RAWEncode * *

* Supports the following audio encodings: