index.md 6.2 KB

Protocol Documentation

Table of Contents

Top

proto/Channel.proto

ChannelMetadata

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

Top

proto/Video.proto

License

Joystream Specific License type

Field Type Label Description
code int32 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

MediaType

Codec, Container, MIME media-type information

Field Type Label Description
codec_name string optional string name field from FFmpeg libavcodec/codec_desc.c
container string optional Video container format, eg. 'MP4', 'WebM', 'Ogg' https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Video_codecs
mime_media_type string optional MIME Media Type, eg. 'video/mp4' https://www.iana.org/assignments/media-types/media-types.xhtml#video

PublishedBeforeJoystream

Field Type Label Description
is_published bool optional
timestamp uint32 optional

VideoMetadata

Field Type Label Description
title string optional Title Text
description string optional Video Description
duration int32 optional Lengths of video in seconds
media_pixel_height int32 optional Resolution of the video
media_pixel_width int32 optional Resolution of the video
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 of it was published before joystream
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

Scalar Value Types

| .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) |