oximedia-cli
Command-line interface for the OxiMedia multimedia framework.
Overview
oximedia-cli provides a command-line tool for working with media files using only royalty-free codecs.
Installation
Or build from source:
Commands
Probe
Analyze media files and display format information:
# Basic probe
# Verbose output with technical details
# Show stream information
Info
Display supported formats and codecs:
Output:
Supported Containers:
✓ Matroska (.mkv)
✓ WebM (.webm)
✓ Ogg (.ogg, .opus, .oga)
✓ FLAC (.flac)
✓ WAV (.wav)
Supported Video Codecs (Green List):
✓ AV1 (Primary codec, best compression)
✓ VP9 (Excellent quality/size ratio)
✓ VP8 (Legacy support)
✓ Theora (Legacy support)
Supported Audio Codecs (Green List):
✓ Opus (Primary codec, versatile)
✓ Vorbis (High quality)
✓ FLAC (Lossless)
✓ PCM (Uncompressed)
Rejected Codecs (Patent-Encumbered):
✗ H.264/AVC
✗ H.265/HEVC
✗ AAC
✗ AC-3/E-AC-3
✗ DTS
Transcode
Convert media files between formats:
# Basic transcode to VP9
# With bitrate control
# With quality control (CRF)
# With scaling
# Two-pass encoding
# Seek and duration
Extract
Extract frames from video:
# Extract all frames as PNG
# Extract first 100 frames
# Extract every 30th frame (1 fps from 30fps video)
# Extract as JPEG with quality
# Start from specific time
Batch
Process multiple files:
# Batch transcode with config file
# Parallel processing with 4 jobs
# Dry run (show what would be done)
# Continue on errors
FFmpeg-Compatible Options
The CLI supports FFmpeg-style options for familiarity:
| OxiMedia | FFmpeg | Description |
|---|---|---|
-i |
-i |
Input file |
-o |
(positional) | Output file |
--codec |
-c:v |
Video codec |
--audio-codec |
-c:a |
Audio codec |
--bitrate |
-b:v |
Video bitrate |
--audio-bitrate |
-b:a |
Audio bitrate |
--video-filter |
-vf |
Video filter chain |
--ss |
-ss |
Start time (seek) |
-t |
-t |
Duration |
-r |
-r |
Frame rate |
-y |
-y |
Overwrite output |
Global Options
| Option | Description |
|---|---|
-v, --verbose |
Increase verbosity (can stack: -v, -vv, -vvv) |
-q, --quiet |
Suppress all output except errors |
--no-color |
Disable colored output |
Examples
# Probe a file
# Convert MP4 to WebM (VP9 + Opus)
# High quality AV1 encoding
# Extract thumbnails (1 per minute)
# Batch convert all MKV files to WebM
Config File Format (TOML)
For batch processing:
[]
= "webm"
= "vp9"
= "opus"
[]
= "2M"
= 30
= "medium"
[]
= "128k"
[]
= "1920:-1"
Exit Codes
| Code | Description |
|---|---|
| 0 | Success |
| 1 | General error |
| 2 | Invalid arguments |
| 3 | File not found |
| 4 | Unsupported format |
| 5 | Patent-encumbered codec detected |
Policy
- Only supports patent-free codecs (Green List)
- Rejects patent-encumbered codecs with clear error messages
- Apache 2.0 license
License
Apache-2.0