diff options
| author | fiatjaf <fiatjaf@gmail.com> | 2025-01-20 16:24:31 -0300 |
|---|---|---|
| committer | fiatjaf <fiatjaf@gmail.com> | 2025-01-20 16:24:31 -0300 |
| commit | b0ab83f04d83c74c29b389c70d795a3b566c7811 (patch) | |
| tree | c1f5aa3b389b770dd1b482c75e32583d4b83559a | |
| parent | cc3fbab1533d72b9a6f3fbaaac6f33bf8c0d5901 (diff) | |
nip71: make video events regular.
| -rw-r--r-- | 71.md | 28 |
1 files changed, 13 insertions, 15 deletions
| @@ -6,9 +6,9 @@ Video Events | |||
| 6 | 6 | ||
| 7 | `draft` `optional` | 7 | `draft` `optional` |
| 8 | 8 | ||
| 9 | This specification defines video events representing a dedicated post of externally hosted content. These video events are _addressable_ and delete-requestable per [NIP-09](09.md). | 9 | This specification defines _video_ events representing a dedicated post of externally hosted content. |
| 10 | 10 | ||
| 11 | Unlike 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. | 11 | Unlike 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 | ||
| 13 | ## Video Events | 13 | ## Video Events |
| 14 | 14 | ||
| @@ -16,7 +16,7 @@ There are two types of video events represented by different kinds: horizontal a | |||
| 16 | 16 | ||
| 17 | #### Format | 17 | #### Format |
| 18 | 18 | ||
| 19 | The format uses an _addressable event_ kind `34235` for horizontal videos and `34236` for vertical videos. | 19 | The format uses a _regular event_ kind `21` for horizontal videos and `22` for vertical videos. |
| 20 | 20 | ||
| 21 | The `.content` of these events is a summary or description on the video content. | 21 | The `.content` of these events is a summary or description on the video content. |
| 22 | 22 | ||
| @@ -27,7 +27,7 @@ Each `imeta` tag can be used to specify a variant of the video by the `dim` & `m | |||
| 27 | Example: | 27 | Example: |
| 28 | ```json | 28 | ```json |
| 29 | [ | 29 | [ |
| 30 | ["imeta", | 30 | ["imeta", |
| 31 | "dim 1920x1080", | 31 | "dim 1920x1080", |
| 32 | "url https://myvideo.com/1080/12345.mp4", | 32 | "url https://myvideo.com/1080/12345.mp4", |
| 33 | "x 3093509d1e0bc604ff60cb9286f4cd7c781553bc8991937befaacfdc28ec5cdc", | 33 | "x 3093509d1e0bc604ff60cb9286f4cd7c781553bc8991937befaacfdc28ec5cdc", |
| @@ -38,7 +38,7 @@ Example: | |||
| 38 | "fallback https://andanotherserver.com/1080/12345.mp4", | 38 | "fallback https://andanotherserver.com/1080/12345.mp4", |
| 39 | "service nip96", | 39 | "service nip96", |
| 40 | ], | 40 | ], |
| 41 | ["imeta", | 41 | ["imeta", |
| 42 | "dim 1280x720", | 42 | "dim 1280x720", |
| 43 | "url https://myvideo.com/720/12345.mp4", | 43 | "url https://myvideo.com/720/12345.mp4", |
| 44 | "x e1d4f808dae475ed32fb23ce52ef8ac82e3cc760702fca10d62d382d2da3697d", | 44 | "x e1d4f808dae475ed32fb23ce52ef8ac82e3cc760702fca10d62d382d2da3697d", |
| @@ -49,7 +49,7 @@ Example: | |||
| 49 | "fallback https://andanotherserver.com/720/12345.mp4", | 49 | "fallback https://andanotherserver.com/720/12345.mp4", |
| 50 | "service nip96", | 50 | "service nip96", |
| 51 | ], | 51 | ], |
| 52 | ["imeta", | 52 | ["imeta", |
| 53 | "dim 1280x720", | 53 | "dim 1280x720", |
| 54 | "url https://myvideo.com/720/12345.m3u8", | 54 | "url https://myvideo.com/720/12345.m3u8", |
| 55 | "x 704e720af2697f5d6a198ad377789d462054b6e8d790f8a3903afbc1e044014f", | 55 | "x 704e720af2697f5d6a198ad377789d462054b6e8d790f8a3903afbc1e044014f", |
| @@ -86,17 +86,15 @@ Additionally `service nip96` may be included to allow clients to search the auth | |||
| 86 | "id": <32-bytes lowercase hex-encoded SHA-256 of the the serialized event data>, | 86 | "id": <32-bytes lowercase hex-encoded SHA-256 of the the serialized event data>, |
| 87 | "pubkey": <32-bytes lowercase hex-encoded public key of the event creator>, | 87 | "pubkey": <32-bytes lowercase hex-encoded public key of the event creator>, |
| 88 | "created_at": <Unix timestamp in seconds>, | 88 | "created_at": <Unix timestamp in seconds>, |
| 89 | "kind": 34235 | 34236, | 89 | "kind": 21 | 22, |
| 90 | "content": "<summary / description of video>", | 90 | "content": "<summary / description of video>", |
| 91 | "tags": [ | 91 | "tags": [ |
| 92 | ["d", "<UUID>"], | ||
| 93 | |||
| 94 | ["title", "<title of video>"], | 92 | ["title", "<title of video>"], |
| 95 | ["published_at", "<unix timestamp>"], | 93 | ["published_at", "<unix timestamp>"], |
| 96 | ["alt", <description>], | 94 | ["alt", <description>], |
| 97 | 95 | ||
| 98 | // Video Data | 96 | // video Data |
| 99 | ["imeta", | 97 | ["imeta", |
| 100 | "dim 1920x1080", | 98 | "dim 1920x1080", |
| 101 | "url https://myvideo.com/1080/12345.mp4", | 99 | "url https://myvideo.com/1080/12345.mp4", |
| 102 | "x 3093509d1e0bc604ff60cb9286f4cd7c781553bc8991937befaacfdc28ec5cdc", | 100 | "x 3093509d1e0bc604ff60cb9286f4cd7c781553bc8991937befaacfdc28ec5cdc", |
| @@ -113,17 +111,17 @@ Additionally `service nip96` may be included to allow clients to search the auth | |||
| 113 | ["content-warning", "<reason>"], | 111 | ["content-warning", "<reason>"], |
| 114 | ["segment", <start>, <end>, "<title>", "<thumbnail URL>"], | 112 | ["segment", <start>, <end>, "<title>", "<thumbnail URL>"], |
| 115 | 113 | ||
| 116 | // Participants | 114 | // participants |
| 117 | ["p", "<32-bytes hex of a pubkey>", "<optional recommended relay URL>"], | 115 | ["p", "<32-bytes hex of a pubkey>", "<optional recommended relay URL>"], |
| 118 | ["p", "<32-bytes hex of a pubkey>", "<optional recommended relay URL>"], | 116 | ["p", "<32-bytes hex of a pubkey>", "<optional recommended relay URL>"], |
| 119 | 117 | ||
| 120 | // Hashtags | 118 | // hashtags |
| 121 | ["t", "<tag>"], | 119 | ["t", "<tag>"], |
| 122 | ["t", "<tag>"], | 120 | ["t", "<tag>"], |
| 123 | 121 | ||
| 124 | // Reference links | 122 | // reference links |
| 125 | ["r", "<url>"], | 123 | ["r", "<url>"], |
| 126 | ["r", "<url>"] | 124 | ["r", "<url>"] |
| 127 | ] | 125 | ] |
| 128 | } | 126 | } |
| 129 | ``` \ No newline at end of file | 127 | ``` |