-
-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Hardware-accelerated H.264/HEVC/MPEG-2/MPEG-4/VP8/VP9/MJPEG video encode/decode on NVIDIA Jetson, fully integrated into FFmpeg.
Every Jetson module ships dedicated silicon (NVDEC/NVENC/VIC) for video, but a stock FFmpeg build cannot use it. jetson-ffmpeg bridges that gap with two components:
- libnvmpi — a lightweight shared library wrapping NVIDIA's Jetson Multimedia API (V4L2/NvBuffer) behind a simple C interface.
-
FFmpeg patches — register native
*_nvmpidecoders and encoders that drive the hardware through libnvmpi.
ffmpeg -c:v h264_nvmpi -i input.mp4 -c:v hevc_nvmpi -b:v 4M output.mp4graph TD
H["🏠 Home"]
H --> U["📦 Usage & Runtime"]
H --> F["❓ FAQ & Known Limitations"]
H --> D["🛠 Development"]
H --> C["⚙️ CI / Infrastructure"]
H --> P["🔬 Project / Fork Analysis"]
U --> U1["Build and Install"]
U --> U2["Compatibility"]
U --> U3["Scripts and Commands"]
F --> F1["Hardware & Platform Limits"]
F --> F2["Versions & Compatibility"]
F --> F3["Build & Install"]
F --> F4["Performance"]
F --> F5["Features & Fork Differences"]
D --> D1["Development Guide"]
D --> D2["Architecture"]
D --> D3["API Reference"]
D --> D4["Thread Safety"]
D --> D5["Dev Container"]
D --> D6["Testing"]
C --> C1["GitHub Actions / GitLab CI"]
C --> C2["Runner setup (Manual / Kubernetes)"]
C --> C3["Release Process"]
P --> P1["Fork Network Overview"]
P --> P2["Fork Analysis Report"]
P --> P3["Fork Analysis Results"]
| I want to… | Page |
|---|---|
| Build & install libnvmpi and patch FFmpeg | Build and Install |
| Check codec / JetPack / FFmpeg support | Compatibility |
| Look up a script, command, or alias | Scripts and Commands |
| Solve a common problem / limitation | FAQ |
| Contribute code or add an FFmpeg version | Development Guide |
| Understand the C API | API Reference |
| Set up CI runners | GitHub Actions / GitLab CI |
Hardware max-performance mode is enabled by default, lifting the NVDEC/NVENC clock governor for maximum throughput:
| Workload | Without max_perf
|
With max_perf
|
Speedup |
|---|---|---|---|
| 720p H.264 decode | ~46 fps | ~290 fps | ~6× |
| 4K HEVC decode | ~28 fps | ~64 fps | ~2.3× |
Low-latency options: disable_dpb (decoder) skips picture-buffer reordering,
poc_type=2 (encoder) removes reorder latency for H.264. More in the
Performance FAQ.
- 📦 Usage & Runtime — Build and Install · Compatibility · Scripts and Commands
- ❓ FAQ — Overview · Hardware · Versions · Build · Performance · Features
- 🛠 Development — Development Guide · Architecture · API Reference · Thread Safety · Dev Container · Testing
- ⚙️ CI / Infrastructure — GitHub Actions · GitLab CI · GitHub Runner Manual · GitHub Runner Kubernetes · GitLab Runner Manual · GitLab Runner Kubernetes · Release Process
- 🔬 Project / Fork Analysis — Fork Network Overview · Analysis Report · Analysis Results
The README and CHANGELOG live in the repository; everything else is here in the wiki.
🏠 Home · 📦 Repository · 🐞 Issues · 🏷 Releases · 📋 README · 📝 CHANGELOG
Documentation lives in this wiki. To change a doc, edit the relevant wiki page (clone jetson-ffmpeg.wiki.git) — the docs/ folder in the repo has been retired.
📦 Usage & Runtime
❓ FAQ
- Overview
- Hardware & Platform
- Versions & Compatibility
- Build & Install
- Performance
- Features & Fork Differences
🛠 Development
⚙️ CI / Infrastructure
- GitHub Actions
- GitLab CI
- GitHub Runner — Manual
- GitHub Runner — Kubernetes
- GitLab Runner — Manual
- GitLab Runner — Kubernetes
- Release Process
🔬 Project / Fork Analysis