Add duration & bitrate to NIP-71 (#1723)

Co-authored-by: Vitor Pamplona <vitor@vitorpamplona.com>
This commit is contained in:
Kieran
2025-10-15 21:15:27 +01:00
committed by GitHub
parent 7b24bf803f
commit a3c5554e34

12
71.md
View File

@@ -26,6 +26,11 @@ The primary source of video information is the `imeta` tags which is defined in
Each `imeta` tag can be used to specify a variant of the video by the `dim` & `m` properties. Each `imeta` tag can be used to specify a variant of the video by the `dim` & `m` properties.
This NIP defines the following additional `imeta` properties aside form those listen in [NIP-92](92.md) & [NIP-94](94.md):
* `duration` (recommended) the duration of the video/audio in seconds (floating point number)
* `bitrate` (recommended) the average bitrate of the video/audio in bits/sec
Example: Example:
```json ```json
[ [
@@ -39,6 +44,8 @@ Example:
"fallback https://myotherserver.com/1080/12345.mp4", "fallback https://myotherserver.com/1080/12345.mp4",
"fallback https://andanotherserver.com/1080/12345.mp4", "fallback https://andanotherserver.com/1080/12345.mp4",
"service nip96", "service nip96",
"bitrate 3000000",
"duration 29.223"
], ],
["imeta", ["imeta",
"dim 1280x720", "dim 1280x720",
@@ -50,6 +57,8 @@ Example:
"fallback https://myotherserver.com/720/12345.mp4", "fallback https://myotherserver.com/720/12345.mp4",
"fallback https://andanotherserver.com/720/12345.mp4", "fallback https://andanotherserver.com/720/12345.mp4",
"service nip96", "service nip96",
"bitrate 2000000",
"duration 29.24"
], ],
["imeta", ["imeta",
"dim 1280x720", "dim 1280x720",
@@ -61,6 +70,7 @@ Example:
"fallback https://myotherserver.com/720/12345.m3u8", "fallback https://myotherserver.com/720/12345.m3u8",
"fallback https://andanotherserver.com/720/12345.m3u8", "fallback https://andanotherserver.com/720/12345.m3u8",
"service nip96", "service nip96",
"duration 29.21"
], ],
] ]
``` ```
@@ -74,7 +84,6 @@ Additionally `service nip96` may be included to allow clients to search the auth
### Other tags: ### Other tags:
* `title` (required) title of the video * `title` (required) title of the video
* `published_at`, for the timestamp in unix seconds (stringified) of the first time the video was published * `published_at`, for the timestamp in unix seconds (stringified) of the first time the video was published
* `duration` (optional) video duration in seconds
* `text-track` (optional, repeated) link to WebVTT file for video, type of supplementary information (captions/subtitles/chapters/metadata), optional language code * `text-track` (optional, repeated) link to WebVTT file for video, type of supplementary information (captions/subtitles/chapters/metadata), optional language code
* `content-warning` (optional) warning about content of NSFW video * `content-warning` (optional) warning about content of NSFW video
* `alt` (optional) description for accessibility * `alt` (optional) description for accessibility
@@ -108,7 +117,6 @@ Additionally `service nip96` may be included to allow clients to search the auth
"service nip96", "service nip96",
], ],
["duration", "<duration of video in seconds>"],
["text-track", "<encoded `kind 6000` event>", "<recommended relay urls>"], ["text-track", "<encoded `kind 6000` event>", "<recommended relay urls>"],
["content-warning", "<reason>"], ["content-warning", "<reason>"],
["segment", <start>, <end>, "<title>", "<thumbnail URL>"], ["segment", <start>, <end>, "<title>", "<thumbnail URL>"],