Field | Type | Label | Description |
---|---|---|---|
name | string | optional | Category Name |
Field | Type | Label | Description |
---|---|---|---|
title | string | optional | Channel Title |
description | string | optional | Channel Description |
is_public | bool | optional | Wether to display channel to the public |
language | string | optional | ISO_639-1 Language Code |
cover_photo | uint32 | optional | index into external assets array |
avatar_photo | uint32 | optional | index into external assets array |
category | uint64 | optional | Channel Category Id |
Field | Type | Label | Description |
---|---|---|---|
first_name | string | optional | |
middle_name | string | optional | |
last_name | string | optional | |
about | string | optional | |
cover_photo | uint32 | optional | index into external assets array |
avatar_photo | uint32 | optional | index into external assets array |
Field | Type | Label | Description |
---|---|---|---|
title | string | optional | |
videos | uint64 | repeated | Videos in the playlist |
Field | Type | Label | Description |
---|---|---|---|
title | string | optional | |
description | string | optional | |
cover_photo | uint32 | optional | index into external assets array |
persons | uint64 | repeated | Person(s) referenced by PersonId involved in this Season |
Field | Type | Label | Description |
---|---|---|---|
title | string | optional | |
description | string | optional | |
cover_photo | uint32 | optional | index into external assets array |
persons | uint64 | repeated | Person(s) referenced by PersonId involved in this Series |
License types defined by Joystream
Field | Type | Label | Description |
---|---|---|---|
code | uint32 | optional | License code defined by Joystream. reference |
attribution | string | optional | Text for licenses that require an attribution |
custom_text | string | optional | Text for custom license type |
Codec, Container, MIME media-type information
Field | Type | Label | Description |
---|---|---|---|
codec_name | string | optional | Codec corresponding to name field from FFmpeg |
container | string | optional | Video container format, eg. 'MP4', 'WebM', 'Ogg' ref |
mime_media_type | string | optional | MIME Media Type, eg. 'video/mp4' ref |
Publication status before joystream
Field | Type | Label | Description |
---|---|---|---|
is_published | bool | optional | Was video published before joystream platform |
date | string | optional | Date of publication: 'YYYY-MM-DD' ISO-8601 |
Field | Type | Label | Description |
---|---|---|---|
name | string | optional | Category name |
Field | Type | Label | Description |
---|---|---|---|
title | string | optional | Video Title |
description | string | optional | Video Description |
video | uint32 | optional | index into external assets array |
thumbnail_photo | uint32 | optional | index into external assets array |
duration | uint32 | optional | Lengths of video in seconds |
media_pixel_height | uint32 | optional | Resolution of the video (Height) |
media_pixel_width | uint32 | optional | Resolution of the video (Width) |
media_type | MediaType | optional | Encoding and Container format used |
language | string | optional | ISO_639-1 Language Code |
license | License | optional | License type for the media |
published_before_joystream | PublishedBeforeJoystream | optional | Date of publication |
has_marketing | bool | optional | Does video have marketing or advertising in the stream |
is_public | bool | optional | Should video be publicy visible yet |
is_explicit | bool | optional | Does Video have explicit language or scenes |
persons | uint64 | repeated | Person(s) referenced by PersonId involved in this video |
category | uint64 | optional | Video Category Id |
| .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby | | ----------- | ----- | --- | ---- | ------ | -- | -- | --- | ---- | | double | | double | double | float | float64 | double | float | Float | | float | | float | float | float | float32 | float | float | Float | | int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | | int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum | | uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) | | uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) | | sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | | sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum | | fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) | | fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum | | sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | | sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum | | bool | | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | | string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) | | bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |
Applications that process messages that contain a uint32
field that references an asset such as a cover photo or video, should interpret this value as a zero based index into an array/vector that is received external (out of band) to the protobuf message.
Example in context of query-node processing the runtime event VideoCreated
// Runtime event associated with creating a Video
VideoCreated(video_id: VideoId, video: Video, assets: Vec<NewAsset>, params: VideoCreationParameters)
struct VideoCreationParameters {
in_category: VideoCategoryId,
// binary serialized VideoMetadata protobuf message
meta: Vec<u8>,
}
// suppose assets is a vector of two elements. This is the "out of band" array being referenced by the VideoMetadata message
assets = [
NewAsset::Uri("https://mydomain.net/thumbnail.png"),
NewAsset::Upload({
content_id,
ipfs_hash,
size,
...
}),
];
meta = VideoMetadata {
...
// refers to second element: assets[1] which is being uploaded to the storage system
video: 1,
// refers to the first element assets[0] which is being referneced by a url string.
thumbnail_photo: 0,
...
};