upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--71.md37
1 files changed, 28 insertions, 9 deletions
diff --git a/71.md b/71.md
index a18f277..6d6775a 100644
--- a/71.md
+++ b/71.md
@@ -6,7 +6,7 @@ Video Events
6 6
7`draft` `optional` 7`draft` `optional`
8 8
9This specification defines video events representing a dedicated post of externally hosted content. These video events are _parameterized replaceable_ and deletable per [NIP-09](09.md). The content of a video event is the stringified JSON of a `kind 1063` File metadata event as described in [NIP-94](94.md). 9This specification defines video events representing a dedicated post of externally hosted content. These video events are _parameterized replaceable_ and deletable per [NIP-09](09.md).
10 10
11Unlike a `kind 1` event with a video attached, Video Events are meant to contain all additional metadata concerning the subject media and to be surfaced in video-specific clients rather than general micro-blogging clients. The thought is for events of this kind to be referenced in a Netflix, YouTube, or TikTok like nostr client where the video itself is at the center of the experience. 11Unlike a `kind 1` event with a video attached, Video Events are meant to contain all additional metadata concerning the subject media and to be surfaced in video-specific clients rather than general micro-blogging clients. The thought is for events of this kind to be referenced in a Netflix, YouTube, or TikTok like nostr client where the video itself is at the center of the experience.
12 12
@@ -18,17 +18,27 @@ There are two types of video events represented by different kinds: horizontal a
18 18
19The format uses a parameterized replaceable event kind `34235` for horizontal videos and `34236` for vertical videos. 19The format uses a parameterized replaceable event kind `34235` for horizontal videos and `34236` for vertical videos.
20 20
21The `.content` of these events is the stringified JSON of a `kind 1063` file metadata event. 21The `.content` of these events is a summary or description on the video content.
22 22
23The list of tags are as follows: 23The list of tags are as follows:
24* `d` (required) universally unique identifier (UUID). Generated by the client creating the video event. 24* `d` (required) universally unique identifier (UUID). Generated by the client creating the video event.
25* `e` (required, repeated) reference tag to kind 1063 file metadata event being posted, optional relay information for the file metadata event, optional quality value (low|medium|high) 25* `url` (required) the url to the video file
26* `m` a string indicating the data type of the file. The [MIME types](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types) format must be used, and they should be lowercase.
26* `title` (required) title of the video 27* `title` (required) title of the video
27* `summary` (optional) summary/description of the video 28* `"published_at"`, for the timestamp in unix seconds (stringified) of the first time the video was published
28* `url` (optional) a default link to the video data 29* `summary` (optional) summary/description of the video (same as `.content`)
30* `"aes-256-gcm"` (optional) key and nonce for AES-GCM encryption with tagSize always 128bits
31* `x` containing the SHA-256 hexencoded string of the file.
32* `size` (optional) size of file in bytes
33* `dim` (optional) size of file in pixels in the form `<width>x<height>`
34* `duration` (optional) video duration in seconds
35* `magnet` (optional) URI to magnet file
36* `i` (optional) torrent infohash
29* `text-track` (optional, repeated) link to WebVTT file for video, type of supplementary information (captions/subtitles/chapters/metadata), optional language code 37* `text-track` (optional, repeated) link to WebVTT file for video, type of supplementary information (captions/subtitles/chapters/metadata), optional language code
30* `thumb` (optional) url of thumbnail with same aspect ratio 38* `thumb` (optional) url of thumbnail with same aspect ratio
39* `image` (optional) url of preview image with same dimensions
31* `content-warning` (optional) warning about content of NSFW video 40* `content-warning` (optional) warning about content of NSFW video
41* `alt` (optional) description for accessibility
32* `t` (optional, repeated) hashtag to categorize video 42* `t` (optional, repeated) hashtag to categorize video
33* `p` (optional, repeated) 32-bytes hex pubkey of a participant in the video, optional recommended relay URL 43* `p` (optional, repeated) 32-bytes hex pubkey of a participant in the video, optional recommended relay URL
34* `r` (optional, repeated) references / links to web pages 44* `r` (optional, repeated) references / links to web pages
@@ -39,18 +49,27 @@ The list of tags are as follows:
39 "pubkey": <32-bytes lowercase hex-encoded public key of the event creator>, 49 "pubkey": <32-bytes lowercase hex-encoded public key of the event creator>,
40 "created_at": <Unix timestamp in seconds>, 50 "created_at": <Unix timestamp in seconds>,
41 "kind": 34235 | 34236, 51 "kind": 34235 | 34236,
42 "content": "<stringified JSON of kind 1063 event>", 52 "content": "<summary / description of video>",
43 "tags": [ 53 "tags": [
44 ["d", "<UUID>"], 54 ["d", "<UUID>"],
45 ["e", "<hex-id>", "<relay-url>", "<optional quality value>"],
46 55
47 ["title", "<title of video>"], 56 ["title", "<title of video>"],
48 ["summary", "<summary of video>"], 57 ["summary", "<summary of video>"],
49 ["thumb", "<thumbnail image for video>"], 58 ["thumb", "<thumbnail image for video>"],
59 ["published_at", "<unix timestamp>"],
60 ["alt", <description>],
50 61
51 // Video Data 62 // Video Data
52 ["url", "<optional recommended url>"] 63 ["url",<string with URI of file>],
53 ["text-track", "<url>", "<text track type>", "<optional language>"], 64 ["m", <MIME type>],
65 ["x",<Hash SHA-256>],
66 ["aes-256-gcm",<key>, <iv>],
67 ["size", <size of file in bytes>],
68 ["duration", <duration of video in seconds>],
69 ["dim", <size of file in pixels>],
70 ["magnet",<magnet URI> ],
71 ["i",<torrent infohash>],
72 ["text-track", "<encoded `kind 6000` event>", "<recommended relay urls>"],
54 ["content-warning", "<reason>"], 73 ["content-warning", "<reason>"],
55 74
56 // Participants 75 // Participants