JavaCPP Presets Platform for FFmpeg - Cross-platform native libraries bundle for FFmpeg multimedia framework supporting audio/video processing, codecs, and streaming
npx @tessl/cli install tessl/maven-org-bytedeco--ffmpeg-platform@7.1.00
# FFmpeg Platform
1
2
A platform-specific dependency aggregator package that provides native library bundles for FFmpeg across multiple platforms. This package simplifies cross-platform deployment by automatically including the appropriate native FFmpeg libraries for Android, Linux, macOS, and Windows without requiring separate platform-specific dependencies.
3
4
## Package Information
5
6
- **Package Name**: ffmpeg-platform
7
- **Package Type**: maven
8
- **Language**: Java
9
- **Installation**:
10
```xml
11
<dependency>
12
<groupId>org.bytedeco</groupId>
13
<artifactId>ffmpeg-platform</artifactId>
14
<version>7.1.1-1.5.12</version>
15
</dependency>
16
```
17
18
## Core Imports
19
20
This package provides no direct API imports. To use FFmpeg functionality, you need the core ffmpeg package:
21
22
```xml
23
<!-- For FFmpeg API functionality -->
24
<dependency>
25
<groupId>org.bytedeco</groupId>
26
<artifactId>ffmpeg</artifactId>
27
<version>7.1.1-1.5.12</version>
28
</dependency>
29
```
30
31
## Basic Usage
32
33
The platform package is a dependency-only bundle that automatically provides native libraries. No code changes are needed - simply include it as a dependency:
34
35
```java
36
// The platform package automatically loads native libraries
37
// Use the main ffmpeg package for API access:
38
import org.bytedeco.ffmpeg.global.avformat.*;
39
import org.bytedeco.ffmpeg.avformat.*;
40
41
// Native libraries are loaded automatically via JavaCPP Loader
42
AVFormatContext formatCtx = new AVFormatContext(null);
43
// ... FFmpeg operations work seamlessly across platforms
44
```
45
46
## Platform Support
47
48
The platform package automatically includes native FFmpeg 7.1.1 libraries for:
49
50
- **Android**: ARM64, x86_64
51
- **Linux**: ARM64, x86_64
52
- **macOS**: ARM64 (Apple Silicon), x86_64 (Intel)
53
- **Windows**: x86_64
54
55
Native libraries are loaded automatically by JavaCPP's Loader mechanism when the main ffmpeg package classes are used.
56
57
## Architecture
58
59
This is a dependency aggregator package that:
60
61
1. **Bundles Native Libraries**: Includes platform-specific native FFmpeg binaries
62
2. **Provides Cross-Platform Support**: Eliminates need for separate platform dependencies
63
3. **Enables Automatic Loading**: Works with JavaCPP Loader for seamless native library access
64
4. **Simplifies Deployment**: Single dependency covers all supported platforms
65
66
## Capabilities
67
68
### Platform-Specific Native Library Aggregation
69
70
Automatically provides the correct native FFmpeg libraries based on the runtime platform.
71
72
```java { .api }
73
// No direct API - this package provides dependencies only
74
// Native libraries are automatically available when using:
75
// org.bytedeco.ffmpeg.* classes from the main ffmpeg package
76
```
77
78
### Dependency Management
79
80
Simplifies FFmpeg deployment by bundling all platform-specific native libraries into a single Maven dependency.
81
82
**Dependency Structure:**
83
- `org.bytedeco:ffmpeg` - Core Java API and base native library
84
- `org.bytedeco:ffmpeg:android-arm64` - Android ARM64 native library
85
- `org.bytedeco:ffmpeg:android-x86_64` - Android x86_64 native library
86
- `org.bytedeco:ffmpeg:linux-x86_64` - Linux x86_64 native library
87
- `org.bytedeco:ffmpeg:linux-arm64` - Linux ARM64 native library
88
- `org.bytedeco:ffmpeg:macosx-arm64` - macOS ARM64 native library
89
- `org.bytedeco:ffmpeg:macosx-x86_64` - macOS x86_64 native library
90
- `org.bytedeco:ffmpeg:windows-x86_64` - Windows x86_64 native library
91
92
## API Reference
93
94
For complete FFmpeg API documentation, refer to the main `org.bytedeco:ffmpeg` package which provides:
95
96
- **avutil**: Core utilities, memory management, pixel formats
97
- **avcodec**: Video/audio encoding and decoding
98
- **avformat**: Container format handling and I/O operations
99
- **avfilter**: Audio/video processing pipelines
100
- **swscale**: Image scaling and color space conversion
101
- **swresample**: Audio format conversion
102
- **avdevice**: Hardware device input/output
103
- **postproc**: Video enhancement filters
104
105
## Deployment Benefits
106
107
- **Simplified Dependencies**: Single platform package instead of multiple platform-specific ones
108
- **Automatic Platform Detection**: JavaCPP automatically loads the correct native library
109
- **Reduced Configuration**: No need to manage platform-specific library paths
110
- **Cross-Platform Compatibility**: Single codebase works across all supported platforms
111
- **Build Simplification**: No platform-specific build configurations required