org.consentvid.videoV2

A video registered for inclusion in a consent-first dataset (version 2 of org.consentvid.video). The record commits to the bytes by content hash and says where they are stored; it does not hold them. Its consent, if any, is the org.consentvid.consentV2 record in the same repo with the same record key (a sidecar record). Records are public: never put personal data or filesystem paths in them.

Details · record, key tid
Kindrecord
Record keytid
Authorityconsentvid.org
Indexed

Showing version bafyreidof3qqkfzdbaadwkn6itqkbckwwcmynz7tt5t3yl3izd33d6xji4. Show the latest

Record

record · key tid

Properties

contentHash

requiredstring · cid

The video bytes' CIDv1 with the raw codec and a sha-256 multihash, in base32 (bafkrei...): the same value a PDS blob ref carries for these bytes. Readers reject any other codec or hash.

createdAt

requiredstring · datetime

Record write time.

  • maxLength: 30000
  • maxGraphemes: 3000

durationMs

integer

Duration in milliseconds.

  • minimum: 0
  • maximum: 9007199254740991

height

integer

Frame height in pixels.

  • minimum: 0
  • maximum: 9007199254740991

labels

union

Self-labels the contributor applies to the video (e.g. 'nudity', 'sexual', 'porn', 'graphic-media'). Dataset tools leave labeled clips out unless asked to include them.

langs

array

Spoken languages, primary first (BCP-47, lowercase primary subtag, e.g. en, cs, pt-BR).

  • maxLength: 3
itemsstring · language

mimeType

string

MIME type of the video bytes. Readers reject values outside knownValues: it becomes the dataset's encodingFormat, which dataset loaders act on.

  • maxLength: 128
  • knownValues: video/3gpp | video/matroska | video/mp2t | video/mp4 | video/mpeg | video/quicktime | video/vnd.avi | video/webm | video/x-matroska | video/x-msvideo

size

integer

Size of the video bytes, in bytes.

  • minimum: 1
  • maximum: 9007199254740991

storage

requiredunion

Where the bytes live. Readers that don't know a storage type treat the bytes as unreachable.

tags

array

Topic tags.

  • maxLength: 8
itemsstring
  • minLength: 1
  • maxLength: 640
  • maxGraphemes: 64

title

requiredstring

Human-readable title.

  • minLength: 1
  • maxLength: 3000
  • maxGraphemes: 300

width

integer

Frame width in pixels.

  • minimum: 0
  • maximum: 9007199254740991

#bskyPostRef

object

The video of one of the contributor's own Bluesky posts: the bytes are the video blob that post embeds (app.bsky.embed.video, directly or as the media of app.bsky.embed.recordWithMedia), served by the contributor's PDS through com.atproto.sync.getBlob. Deliberately not a blob reference: the bytes stay tied to the post, so deleting the post deletes them and readers then treat the clip as unavailable. Readers require post.uri to be an app.bsky.feed.post in the same repo as this record, blob to equal contentHash, and the post (at post.cid) to embed exactly that blob.

Properties

blob

requiredstring · cid

CID of the video blob as the post's embed carries it (raw codec, sha-256): equal to contentHash.

post

requiredref

The app.bsky.feed.post (DID-form at:// URI and CID) that embeds the video.

#ipfsRef

object

Bytes on IPFS.

Properties

cid

requiredstring

The IPFS CID: CIDv1 in lowercase base32 (b...) or CIDv0 (Qm...); IPFS commonly uses codecs other than atproto's, so this is not format 'cid'.

  • maxLength: 128

#localRef

object

Bytes kept by the contributor, not published. Never dereferenced.

Properties

name

requiredstring

An opaque name (no control characters). Never a filesystem path: records are public.

  • minLength: 1
  • maxLength: 256

#peertubeRef

object

A video on a PeerTube instance.

Properties

url

requiredstring · uri

https watch or download URL on a public host and the default port, without credentials.

  • maxLength: 2048

#r2Ref

object

The public https URL of a Cloudflare R2 object.

Properties

url

requiredstring · uri

https URL on a public host and the default port, without credentials.

  • maxLength: 2048

#urlRef

object

Bytes at a public https URL.

Properties

url

requiredstring · uri

https URL on a public host and the default port, without credentials.

  • maxLength: 2048

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • A video registered for inclusion in a consent-first dataset. Storage of the bytes is decoupled: this record only commits to a content hash and a pointer. Its consent, if any, is the org.consentvid.consent record in the same repo with the same record key.

  • Canonical video record. The video blob and durationMs MUST NOT change after creation; replacing the video requires a new record. This record intentionally carries no human-readable metadata: title, description, thumbnail and the announcement post live in a social.skyphone.video.meta record with the same record key in the same repo.

  • Mutable metadata sidecar for a video. Record key MUST match the rkey of the social.skyphone.video.post record in the same repo, so a reader that holds a video record can fetch its metadata with one getRecord. Editing metadata is a put on this record; the canonical video record stays untouched.

  • Some audiovisual content.

  • Bluvy Tube-specific metadata for a published video, written to the creator's own repo alongside the app.bsky.feed.post record that actually carries the video (via app.bsky.embed.video). Not required or validated by the PDS or any other AT Protocol app — Bluvy Tube reads this back itself to render an owner-editable title/description/language overlay on top of the plain post text. Written by App\Service\VideoPublicationProcessor (native uploads) and rewritten by App\Service\PdsMetadataSyncService