**pyav1plus** is a Python-based tool for extracting **HDR10+ dynamic metadata** from **AV1** video streams.
The project supports multiple AV1 container formats, including **IVF**, **MP4/fMP4**, and **Matroska (MKV)**, with direct parsing of AV1 OBUs and HDR10+ ITU-T T.35 metadata.
---
## Features
* Support for **AV1 IVF**
* Support for **AV1 MP4**
* Support for **AV1 fragmented MP4 (fMP4)**
* Support for **AV1 Matroska (MKV)**
* Direct parsing of **AV1 OBU metadata**
* Extraction of **HDR10+ ITU-T T.35 metadata**
* Automatic generation of classic HDR10+ JSON
* Stream-oriented parsing for large files
* Automatic input format detection
---
## Requirements
* Python 3.9 or higher
No external binaries or dependencies are required.
---
## Usage
Basic:
```bash
python pyav1plus.py input.ivf
```
```bash
python pyav1plus.py input.mp4
```
```bash
python pyav1plus.py input.mkv
```
Custom output path:
```bash
python pyav1plus.py input.mp4 -o metadata.json
```
---
## Supported Formats
| Format | Supported |
| --- | --- |
| AV1 IVF | Yes |
| AV1 MP4 | Yes |
| AV1 Fragmented MP4 | Yes |
| AV1 MKV | Yes |
---
## Output
The tool generates a classic HDR10+ JSON structure containing: