C2PA 2.4 extends live video to dynamically packaged content and recommends deterministic signatures for streaming (§19.2.1, §13.2.1, naming ISO/IEC 23009-9); it adds the repository receipt assertion (§18.27). Every manifest identifier is now derived from the stream, a role and the segment's sequence number, so packagers that share a key write identical segments and packagers that do not chain across a failover. The initialization manifest may carry an update manifest with the parent as ingredient and a c2pa.repository-receipt whose proof is an RFC 9942 receipt of inclusion in an RFC 9162 log, verified against the repository's key. Three reasons: manifest_id_mismatch, update_manifest_invalid and repository_receipt_invalid; a failover vector, a registered vector and their negatives; c2pa_live_verify.py reads all of it from the text. The CI step, the registry entry and its export, SPEC §5, the CHANGELOG, the live-conformance README and capture-binding §11 come with it. Co-Authored-By: Claude Opus 5.5 <[email protected]>
3.9 KiB
live-conformance — the wai.live family
Conformance corpora of the live and interactive extensions, one directory per extension, and the independent verifier of each, beside it.
| directory | extension | verifier |
|---|---|---|
events/ |
live-events (wai.live.events) |
live_events_verify.py |
rooms/ |
live-rooms (wai.live.room) |
live_rooms_verify.py |
takes/ |
capture-binding (wai.capture.take) |
capture_take_verify.py |
compose/ |
live-compose (wai.live.compose) |
live_compose_verify.py |
recordings/ |
live-recording (wai.live.recording) |
live_record_verify.py |
captions/ |
timed-text (wai.text.timed) |
timed_text_verify.py |
metering/ |
live-metering (wai.live.metering) |
live_metering_verify.py |
steering/ |
energy-steering (wai.live.steering) |
energy_steering_verify.py |
moderation/ |
live-moderation (wai.live.moderation) |
live_moderation_verify.py |
ads/ |
live-ads (wai.live.ads) |
live_ads_verify.py |
e2ee/ |
confidentiality (wai.live.e2ee) |
e2ee_verify.py |
watermark/ |
forensic-watermark (wai.live.watermark) |
live_watermark_verify.py |
c2pa-live/ |
live-provenance (wai.live.provenance) |
c2pa_live_verify.py |
Provenance. Generated here: wai_live_events_vectors gen writes events/,
wai_live_room_vectors gen writes rooms/, wai_capture_take_vectors gen writes
takes/, wai_live_compose_vectors gen writes compose/, wai_live_record_vectors gen
writes recordings/, wai_timed_text_vectors gen writes captions/ and
wai_live_metering_vectors gen writes metering/, wai_energy_steering_vectors gen writes
steering/, wai_live_moderation_vectors gen writes moderation/,
wai_live_watermark_vectors gen writes watermark/, wai_live_ads_vectors gen writes
ads/ and wai_live_provenance_vectors gen writes c2pa-live/, each from records authored
in code, from fixed seeds (events/README.md,
rooms/README.md, takes/README.md, compose/README.md, recordings/README.md,
captions/README.md, metering/README.md, steering/README.md, moderation/README.md,
watermark/README.md, ads/README.md, c2pa-live/README.md); c2pa-live/ cuts its media
from the packaging corpus's AV1 floor. joule_moq_e2ee_vectors gen (in
joule-code/joule-code-rs/crates/joule-moq-mls) writes e2ee/vectors.json from fixed seeds,
and e2ee/ also holds the test vectors RFC 9605 and draft-ietf-moq-secure-objects-01
publish, as printed (e2ee/README.md). One recorded record: metering/relay-record.wmh and
its ledger, which the reference relay signed in its test.
Each verifier is written from its extension's text, shares no code with the reference
(wai-rs, or for e2ee/, joule-moq and joule-moq-mls), and is run by
.github/workflows/wai-conformance.yml beside the reference's own check:
python3 live_events_verify.py events
python3 live_rooms_verify.py rooms
python3 capture_take_verify.py takes
python3 live_compose_verify.py compose
python3 live_record_verify.py recordings
python3 timed_text_verify.py captions
python3 live_metering_verify.py metering
python3 energy_steering_verify.py steering
python3 live_moderation_verify.py moderation
python3 live_ads_verify.py ads
python3 e2ee_verify.py e2ee
python3 live_watermark_verify.py watermark
python3 c2pa_live_verify.py c2pa-live