Overview
Embeds and extracts C2PA manifest references in WebVTT files using NOTE blocks with ASCII armour delimiters. The manifest is placed immediately after the WEBVTT header, where it survives HLS/DASH segmentation.
WEBVTT
NOTE -----BEGIN C2PA MANIFEST----- https://example.com/m.c2pa -----END C2PA MANIFEST-----
00:00:00.000 --> 00:00:05.000
Hello world
Zero dependencies.
Quick Start
[]
= "0.1"
Embed
use embed_manifest;
let vtt = "WEBVTT\n\n00:00:00.000 --> 00:00:05.000\nHello\n";
let signed = embed_manifest.unwrap;
Extract
use extract_manifest;
let result = extract_manifest.unwrap;
assert_eq!;
Remove
use remove_manifest;
let clean = remove_manifest.unwrap;
Related Crates
| Crate | Description |
|---|---|
| c2pa-structured-text | Structured text embedding via ASCII armour delimiters |
| c2pa-text-binding | Soft binding and content fingerprinting for text assets |
| c2pa-warc | WARC web archive embedding |
| c2pa-rs | Official C2PA SDK |
License
Licensed under either of Apache License, Version 2.0 or MIT License at your option.
Built by WritersLogic