English | 中文
Provide Android MediaCodec hardware video decoding and encoding to Linux containers through Mesa's VA-API bridge.
- Termux:VA runs without root and supports PRoot, Chroot, LXC, and Droidspaces containers.
- It provides the standard Mesa VA driver ABI, so applications such as FFmpeg, Chromium, and Firefox can use it without modification.
- Hardware decoding and encoding can reduce CPU usage compared with software processing.
- Hardware decoding of 4K 60 fps and higher-specification video may be possible, depending on the device.
- Supports Android 10 and later.
When supported by the processor, Termux:VA currently supports the following SDR video formats:
| AVC | HEVC | VP9 | AV1 | |
|---|---|---|---|---|
| Decode | ✔️ | ✔️ | ✔️ | ✔️ |
| Encode | ✔️ | ✔️ | ✔️ | ❌ |
Note
The table describes Termux:VA's theoretical capabilities. Actual support depends on the processor, application, video specifications, and other factors. See the detailed compatibility guide before using Termux:VA.
See the user guide for installation and usage instructions.
- Developer guide: architecture, endpoint configuration, building, installation, deployment, validation, and troubleshooting.
- Wire protocol: socket messages, codec IDs, inline and SHM transport, and protocol compatibility.
- DroidSpaces Media Decode Daemon: this project is ported and extended from it.
- FFmpeg: a widely used multimedia framework and an important reference for this project.
This project is licensed under GPL-3.0 (see LICENSE). It is based on DroidSpaces Media Decode Daemon, which is licensed under the Apache License 2.0; every file derived from it carries a prominent modification notice as required by GPL-3.0 section 5.