syntax = "proto2"; // Publication status before joystream message PublishedBeforeJoystream { // Was video published before joystream platform optional bool is_published = 1; // Unix timestamp in milli-seconds optional uint32 timestamp = 2; } // License types defined by Joystream message License { // License code defined by Joystream. [reference](../src/KnownLicenses.json) optional int32 code = 1; // Text for licenses that require an attribution optional string attribution = 2; // Text for custom license type optional string custom_text = 3; } // Codec, Container, MIME media-type information message MediaType { // Codec corresponding to `name` field from [FFmpeg](https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/codec_desc.c) optional string codec_name = 1; // Video container format, eg. 'MP4', 'WebM', 'Ogg' [ref](https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Video_codecs) optional string container = 2; // MIME Media Type, eg. 'video/mp4' [ref](https://www.iana.org/assignments/media-types/media-types.xhtml#video) optional string mime_media_type = 3; } message VideoMetadata { // Video Title optional string title = 1; // Video Description optional string description = 2; // Lengths of video in seconds optional int32 duration = 3; // Resolution of the video (Height) optional int32 media_pixel_height = 4; // Resolution of the video (Width) optional int32 media_pixel_width = 5; // Encoding and Container format used optional MediaType media_type = 6; // ISO_639-1 Language [Code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) optional string language = 7; // License type for the media optional License license = 8; // Date of publication optional PublishedBeforeJoystream published_before_joystream = 9; // Does video have marketing or advertising in the stream optional bool has_marketing = 10; // Should video be publicy visible yet optional bool is_public = 11; // Does Video have explicit language or scenes optional bool is_explicit = 12; }