|
@@ -0,0 +1,967 @@
|
|
|
+<!DOCTYPE html>
|
|
|
+
|
|
|
+<html>
|
|
|
+ <head>
|
|
|
+ <title>Protocol Documentation</title>
|
|
|
+ <meta charset="UTF-8">
|
|
|
+ <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/>
|
|
|
+ <style>
|
|
|
+ body {
|
|
|
+ width: 60em;
|
|
|
+ margin: 1em auto;
|
|
|
+ color: #222;
|
|
|
+ font-family: "Ubuntu", sans-serif;
|
|
|
+ padding-bottom: 4em;
|
|
|
+ }
|
|
|
+
|
|
|
+ h1 {
|
|
|
+ font-weight: normal;
|
|
|
+ border-bottom: 1px solid #aaa;
|
|
|
+ padding-bottom: 0.5ex;
|
|
|
+ }
|
|
|
+
|
|
|
+ h2 {
|
|
|
+ border-bottom: 1px solid #aaa;
|
|
|
+ padding-bottom: 0.5ex;
|
|
|
+ margin: 1.5em 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ h3 {
|
|
|
+ font-weight: normal;
|
|
|
+ border-bottom: 1px solid #aaa;
|
|
|
+ padding-bottom: 0.5ex;
|
|
|
+ }
|
|
|
+
|
|
|
+ a {
|
|
|
+ text-decoration: none;
|
|
|
+ color: #567e25;
|
|
|
+ }
|
|
|
+
|
|
|
+ table {
|
|
|
+ width: 100%;
|
|
|
+ font-size: 80%;
|
|
|
+ border-collapse: collapse;
|
|
|
+ }
|
|
|
+
|
|
|
+ thead {
|
|
|
+ font-weight: 700;
|
|
|
+ background-color: #dcdcdc;
|
|
|
+ }
|
|
|
+
|
|
|
+ tbody tr:nth-child(even) {
|
|
|
+ background-color: #fbfbfb;
|
|
|
+ }
|
|
|
+
|
|
|
+ td {
|
|
|
+ border: 1px solid #ccc;
|
|
|
+ padding: 0.5ex 2ex;
|
|
|
+ }
|
|
|
+
|
|
|
+ td p {
|
|
|
+ text-indent: 1em;
|
|
|
+ margin: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ td p:nth-child(1) {
|
|
|
+ text-indent: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ .field-table td:nth-child(1) {
|
|
|
+ width: 10em;
|
|
|
+ }
|
|
|
+ .field-table td:nth-child(2) {
|
|
|
+ width: 10em;
|
|
|
+ }
|
|
|
+ .field-table td:nth-child(3) {
|
|
|
+ width: 6em;
|
|
|
+ }
|
|
|
+ .field-table td:nth-child(4) {
|
|
|
+ width: auto;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ .extension-table td:nth-child(1) {
|
|
|
+ width: 10em;
|
|
|
+ }
|
|
|
+ .extension-table td:nth-child(2) {
|
|
|
+ width: 10em;
|
|
|
+ }
|
|
|
+ .extension-table td:nth-child(3) {
|
|
|
+ width: 10em;
|
|
|
+ }
|
|
|
+ .extension-table td:nth-child(4) {
|
|
|
+ width: 5em;
|
|
|
+ }
|
|
|
+ .extension-table td:nth-child(5) {
|
|
|
+ width: auto;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ .enum-table td:nth-child(1) {
|
|
|
+ width: 10em;
|
|
|
+ }
|
|
|
+ .enum-table td:nth-child(2) {
|
|
|
+ width: 10em;
|
|
|
+ }
|
|
|
+ .enum-table td:nth-child(3) {
|
|
|
+ width: auto;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ .scalar-value-types-table tr {
|
|
|
+ height: 3em;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ #toc-container ul {
|
|
|
+ list-style-type: none;
|
|
|
+ padding-left: 1em;
|
|
|
+ line-height: 180%;
|
|
|
+ margin: 0;
|
|
|
+ }
|
|
|
+ #toc > li > a {
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ .file-heading {
|
|
|
+ width: 100%;
|
|
|
+ display: table;
|
|
|
+ border-bottom: 1px solid #aaa;
|
|
|
+ margin: 4em 0 1.5em 0;
|
|
|
+ }
|
|
|
+ .file-heading h2 {
|
|
|
+ border: none;
|
|
|
+ display: table-cell;
|
|
|
+ }
|
|
|
+ .file-heading a {
|
|
|
+ text-align: right;
|
|
|
+ display: table-cell;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ .badge {
|
|
|
+ width: 1.6em;
|
|
|
+ height: 1.6em;
|
|
|
+ display: inline-block;
|
|
|
+
|
|
|
+ line-height: 1.6em;
|
|
|
+ text-align: center;
|
|
|
+ font-weight: bold;
|
|
|
+ font-size: 60%;
|
|
|
+
|
|
|
+ color: #89ba48;
|
|
|
+ background-color: #dff0c8;
|
|
|
+
|
|
|
+ margin: 0.5ex 1em 0.5ex -1em;
|
|
|
+ border: 1px solid #fbfbfb;
|
|
|
+ border-radius: 1ex;
|
|
|
+ }
|
|
|
+ </style>
|
|
|
+
|
|
|
+
|
|
|
+ <link rel="stylesheet" type="text/css" href="stylesheet.css"/>
|
|
|
+ </head>
|
|
|
+
|
|
|
+ <body>
|
|
|
+
|
|
|
+ <h1 id="title">Protocol Documentation</h1>
|
|
|
+
|
|
|
+ <h2>Table of Contents</h2>
|
|
|
+
|
|
|
+ <div id="toc-container">
|
|
|
+ <ul id="toc">
|
|
|
+
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <a href="#proto%2fChannel.proto">proto/Channel.proto</a>
|
|
|
+ <ul>
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <a href="#.ChannelMetadata"><span class="badge">M</span>ChannelMetadata</a>
|
|
|
+ </li>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ </ul>
|
|
|
+ </li>
|
|
|
+
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <a href="#proto%2fPerson.proto">proto/Person.proto</a>
|
|
|
+ <ul>
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <a href="#.PersonMetadata"><span class="badge">M</span>PersonMetadata</a>
|
|
|
+ </li>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ </ul>
|
|
|
+ </li>
|
|
|
+
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <a href="#proto%2fPlaylist.proto">proto/Playlist.proto</a>
|
|
|
+ <ul>
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <a href="#.PlaylistMetadata"><span class="badge">M</span>PlaylistMetadata</a>
|
|
|
+ </li>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ </ul>
|
|
|
+ </li>
|
|
|
+
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <a href="#proto%2fSeries.proto">proto/Series.proto</a>
|
|
|
+ <ul>
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <a href="#.SeasonMetadata"><span class="badge">M</span>SeasonMetadata</a>
|
|
|
+ </li>
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <a href="#.SeriesMetadata"><span class="badge">M</span>SeriesMetadata</a>
|
|
|
+ </li>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ </ul>
|
|
|
+ </li>
|
|
|
+
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <a href="#proto%2fVideo.proto">proto/Video.proto</a>
|
|
|
+ <ul>
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <a href="#.License"><span class="badge">M</span>License</a>
|
|
|
+ </li>
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <a href="#.MediaType"><span class="badge">M</span>MediaType</a>
|
|
|
+ </li>
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <a href="#.PublishedBeforeJoystream"><span class="badge">M</span>PublishedBeforeJoystream</a>
|
|
|
+ </li>
|
|
|
+
|
|
|
+ <li>
|
|
|
+ <a href="#.VideoMetadata"><span class="badge">M</span>VideoMetadata</a>
|
|
|
+ </li>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ </ul>
|
|
|
+ </li>
|
|
|
+
|
|
|
+ <li><a href="#scalar-value-types">Scalar Value Types</a></li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <div class="file-heading">
|
|
|
+ <h2 id="proto/Channel.proto">proto/Channel.proto</h2><a href="#title">Top</a>
|
|
|
+ </div>
|
|
|
+ <p></p>
|
|
|
+
|
|
|
+
|
|
|
+ <h3 id=".ChannelMetadata">ChannelMetadata</h3>
|
|
|
+ <p></p>
|
|
|
+
|
|
|
+
|
|
|
+ <table class="field-table">
|
|
|
+ <thead>
|
|
|
+ <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>title</td>
|
|
|
+ <td><a href="#string">string</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>Channel Title </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>description</td>
|
|
|
+ <td><a href="#string">string</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>Channel Description </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>is_public</td>
|
|
|
+ <td><a href="#bool">bool</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>Wether to display channel to the public </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>language</td>
|
|
|
+ <td><a href="#string">string</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>ISO_639-1 Language [Code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>cover_photo</td>
|
|
|
+ <td><a href="#uint32">uint32</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>index into OOB array </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>avatar_photo</td>
|
|
|
+ <td><a href="#uint32">uint32</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>index into OOB array </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <div class="file-heading">
|
|
|
+ <h2 id="proto/Person.proto">proto/Person.proto</h2><a href="#title">Top</a>
|
|
|
+ </div>
|
|
|
+ <p></p>
|
|
|
+
|
|
|
+
|
|
|
+ <h3 id=".PersonMetadata">PersonMetadata</h3>
|
|
|
+ <p></p>
|
|
|
+
|
|
|
+
|
|
|
+ <table class="field-table">
|
|
|
+ <thead>
|
|
|
+ <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>first_name</td>
|
|
|
+ <td><a href="#string">string</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p> </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>middle_name</td>
|
|
|
+ <td><a href="#string">string</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p> </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>last_name</td>
|
|
|
+ <td><a href="#string">string</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p> </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>about</td>
|
|
|
+ <td><a href="#string">string</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p> </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>cover_photo</td>
|
|
|
+ <td><a href="#uint32">uint32</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>index into OOB array </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>avatar_photo</td>
|
|
|
+ <td><a href="#uint32">uint32</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>index into OOB array </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <div class="file-heading">
|
|
|
+ <h2 id="proto/Playlist.proto">proto/Playlist.proto</h2><a href="#title">Top</a>
|
|
|
+ </div>
|
|
|
+ <p></p>
|
|
|
+
|
|
|
+
|
|
|
+ <h3 id=".PlaylistMetadata">PlaylistMetadata</h3>
|
|
|
+ <p></p>
|
|
|
+
|
|
|
+
|
|
|
+ <table class="field-table">
|
|
|
+ <thead>
|
|
|
+ <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>title</td>
|
|
|
+ <td><a href="#string">string</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p> </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <div class="file-heading">
|
|
|
+ <h2 id="proto/Series.proto">proto/Series.proto</h2><a href="#title">Top</a>
|
|
|
+ </div>
|
|
|
+ <p></p>
|
|
|
+
|
|
|
+
|
|
|
+ <h3 id=".SeasonMetadata">SeasonMetadata</h3>
|
|
|
+ <p></p>
|
|
|
+
|
|
|
+
|
|
|
+ <table class="field-table">
|
|
|
+ <thead>
|
|
|
+ <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>title</td>
|
|
|
+ <td><a href="#string">string</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p> </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>description</td>
|
|
|
+ <td><a href="#string">string</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p> </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <h3 id=".SeriesMetadata">SeriesMetadata</h3>
|
|
|
+ <p></p>
|
|
|
+
|
|
|
+
|
|
|
+ <table class="field-table">
|
|
|
+ <thead>
|
|
|
+ <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>title</td>
|
|
|
+ <td><a href="#string">string</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p> </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>description</td>
|
|
|
+ <td><a href="#string">string</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p> </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>cover_photo</td>
|
|
|
+ <td><a href="#uint32">uint32</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>index into OOB array </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <div class="file-heading">
|
|
|
+ <h2 id="proto/Video.proto">proto/Video.proto</h2><a href="#title">Top</a>
|
|
|
+ </div>
|
|
|
+ <p></p>
|
|
|
+
|
|
|
+
|
|
|
+ <h3 id=".License">License</h3>
|
|
|
+ <p>License types defined by Joystream</p>
|
|
|
+
|
|
|
+
|
|
|
+ <table class="field-table">
|
|
|
+ <thead>
|
|
|
+ <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>code</td>
|
|
|
+ <td><a href="#uint32">uint32</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>License code defined by Joystream. [reference](../src/KnownLicenses.json) </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>attribution</td>
|
|
|
+ <td><a href="#string">string</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>Text for licenses that require an attribution </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>custom_text</td>
|
|
|
+ <td><a href="#string">string</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>Text for custom license type </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <h3 id=".MediaType">MediaType</h3>
|
|
|
+ <p>Codec, Container, MIME media-type information</p>
|
|
|
+
|
|
|
+
|
|
|
+ <table class="field-table">
|
|
|
+ <thead>
|
|
|
+ <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>codec_name</td>
|
|
|
+ <td><a href="#string">string</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>Codec corresponding to `name` field from [FFmpeg](https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/codec_desc.c) </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>container</td>
|
|
|
+ <td><a href="#string">string</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>Video container format, eg. 'MP4', 'WebM', 'Ogg' [ref](https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Video_codecs) </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>mime_media_type</td>
|
|
|
+ <td><a href="#string">string</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>MIME Media Type, eg. 'video/mp4' [ref](https://www.iana.org/assignments/media-types/media-types.xhtml#video) </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <h3 id=".PublishedBeforeJoystream">PublishedBeforeJoystream</h3>
|
|
|
+ <p>Publication status before joystream</p>
|
|
|
+
|
|
|
+
|
|
|
+ <table class="field-table">
|
|
|
+ <thead>
|
|
|
+ <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>is_published</td>
|
|
|
+ <td><a href="#bool">bool</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>Was video published before joystream platform </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>timestamp</td>
|
|
|
+ <td><a href="#uint32">uint32</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>Unix timestamp in milli-seconds </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <h3 id=".VideoMetadata">VideoMetadata</h3>
|
|
|
+ <p></p>
|
|
|
+
|
|
|
+
|
|
|
+ <table class="field-table">
|
|
|
+ <thead>
|
|
|
+ <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>title</td>
|
|
|
+ <td><a href="#string">string</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>Video Title </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>description</td>
|
|
|
+ <td><a href="#string">string</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>Video Description </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>video</td>
|
|
|
+ <td><a href="#uint32">uint32</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>Index into OOB array </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>thumbnail_photo</td>
|
|
|
+ <td><a href="#uint32">uint32</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>Index into OOB array </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>duration</td>
|
|
|
+ <td><a href="#uint32">uint32</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>Lengths of video in seconds </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>media_pixel_height</td>
|
|
|
+ <td><a href="#uint32">uint32</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>Resolution of the video (Height) </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>media_pixel_width</td>
|
|
|
+ <td><a href="#uint32">uint32</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>Resolution of the video (Width) </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>media_type</td>
|
|
|
+ <td><a href="#MediaType">MediaType</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>Encoding and Container format used </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>language</td>
|
|
|
+ <td><a href="#string">string</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>ISO_639-1 Language [Code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>license</td>
|
|
|
+ <td><a href="#License">License</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>License type for the media </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>published_before_joystream</td>
|
|
|
+ <td><a href="#PublishedBeforeJoystream">PublishedBeforeJoystream</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>Date of publication </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>has_marketing</td>
|
|
|
+ <td><a href="#bool">bool</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>Does video have marketing or advertising in the stream </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>is_public</td>
|
|
|
+ <td><a href="#bool">bool</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>Should video be publicy visible yet </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr>
|
|
|
+ <td>is_explicit</td>
|
|
|
+ <td><a href="#bool">bool</a></td>
|
|
|
+ <td>optional</td>
|
|
|
+ <td><p>Does Video have explicit language or scenes </p></td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <h2 id="scalar-value-types">Scalar Value Types</h2>
|
|
|
+ <table class="scalar-value-types-table">
|
|
|
+ <thead>
|
|
|
+ <tr><td>.proto Type</td><td>Notes</td><td>C++</td><td>Java</td><td>Python</td><td>Go</td><td>C#</td><td>PHP</td><td>Ruby</td></tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+
|
|
|
+ <tr id="double">
|
|
|
+ <td>double</td>
|
|
|
+ <td></td>
|
|
|
+ <td>double</td>
|
|
|
+ <td>double</td>
|
|
|
+ <td>float</td>
|
|
|
+ <td>float64</td>
|
|
|
+ <td>double</td>
|
|
|
+ <td>float</td>
|
|
|
+ <td>Float</td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr id="float">
|
|
|
+ <td>float</td>
|
|
|
+ <td></td>
|
|
|
+ <td>float</td>
|
|
|
+ <td>float</td>
|
|
|
+ <td>float</td>
|
|
|
+ <td>float32</td>
|
|
|
+ <td>float</td>
|
|
|
+ <td>float</td>
|
|
|
+ <td>Float</td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr id="int32">
|
|
|
+ <td>int32</td>
|
|
|
+ <td>Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.</td>
|
|
|
+ <td>int32</td>
|
|
|
+ <td>int</td>
|
|
|
+ <td>int</td>
|
|
|
+ <td>int32</td>
|
|
|
+ <td>int</td>
|
|
|
+ <td>integer</td>
|
|
|
+ <td>Bignum or Fixnum (as required)</td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr id="int64">
|
|
|
+ <td>int64</td>
|
|
|
+ <td>Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.</td>
|
|
|
+ <td>int64</td>
|
|
|
+ <td>long</td>
|
|
|
+ <td>int/long</td>
|
|
|
+ <td>int64</td>
|
|
|
+ <td>long</td>
|
|
|
+ <td>integer/string</td>
|
|
|
+ <td>Bignum</td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr id="uint32">
|
|
|
+ <td>uint32</td>
|
|
|
+ <td>Uses variable-length encoding.</td>
|
|
|
+ <td>uint32</td>
|
|
|
+ <td>int</td>
|
|
|
+ <td>int/long</td>
|
|
|
+ <td>uint32</td>
|
|
|
+ <td>uint</td>
|
|
|
+ <td>integer</td>
|
|
|
+ <td>Bignum or Fixnum (as required)</td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr id="uint64">
|
|
|
+ <td>uint64</td>
|
|
|
+ <td>Uses variable-length encoding.</td>
|
|
|
+ <td>uint64</td>
|
|
|
+ <td>long</td>
|
|
|
+ <td>int/long</td>
|
|
|
+ <td>uint64</td>
|
|
|
+ <td>ulong</td>
|
|
|
+ <td>integer/string</td>
|
|
|
+ <td>Bignum or Fixnum (as required)</td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr id="sint32">
|
|
|
+ <td>sint32</td>
|
|
|
+ <td>Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.</td>
|
|
|
+ <td>int32</td>
|
|
|
+ <td>int</td>
|
|
|
+ <td>int</td>
|
|
|
+ <td>int32</td>
|
|
|
+ <td>int</td>
|
|
|
+ <td>integer</td>
|
|
|
+ <td>Bignum or Fixnum (as required)</td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr id="sint64">
|
|
|
+ <td>sint64</td>
|
|
|
+ <td>Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.</td>
|
|
|
+ <td>int64</td>
|
|
|
+ <td>long</td>
|
|
|
+ <td>int/long</td>
|
|
|
+ <td>int64</td>
|
|
|
+ <td>long</td>
|
|
|
+ <td>integer/string</td>
|
|
|
+ <td>Bignum</td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr id="fixed32">
|
|
|
+ <td>fixed32</td>
|
|
|
+ <td>Always four bytes. More efficient than uint32 if values are often greater than 2^28.</td>
|
|
|
+ <td>uint32</td>
|
|
|
+ <td>int</td>
|
|
|
+ <td>int</td>
|
|
|
+ <td>uint32</td>
|
|
|
+ <td>uint</td>
|
|
|
+ <td>integer</td>
|
|
|
+ <td>Bignum or Fixnum (as required)</td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr id="fixed64">
|
|
|
+ <td>fixed64</td>
|
|
|
+ <td>Always eight bytes. More efficient than uint64 if values are often greater than 2^56.</td>
|
|
|
+ <td>uint64</td>
|
|
|
+ <td>long</td>
|
|
|
+ <td>int/long</td>
|
|
|
+ <td>uint64</td>
|
|
|
+ <td>ulong</td>
|
|
|
+ <td>integer/string</td>
|
|
|
+ <td>Bignum</td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr id="sfixed32">
|
|
|
+ <td>sfixed32</td>
|
|
|
+ <td>Always four bytes.</td>
|
|
|
+ <td>int32</td>
|
|
|
+ <td>int</td>
|
|
|
+ <td>int</td>
|
|
|
+ <td>int32</td>
|
|
|
+ <td>int</td>
|
|
|
+ <td>integer</td>
|
|
|
+ <td>Bignum or Fixnum (as required)</td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr id="sfixed64">
|
|
|
+ <td>sfixed64</td>
|
|
|
+ <td>Always eight bytes.</td>
|
|
|
+ <td>int64</td>
|
|
|
+ <td>long</td>
|
|
|
+ <td>int/long</td>
|
|
|
+ <td>int64</td>
|
|
|
+ <td>long</td>
|
|
|
+ <td>integer/string</td>
|
|
|
+ <td>Bignum</td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr id="bool">
|
|
|
+ <td>bool</td>
|
|
|
+ <td></td>
|
|
|
+ <td>bool</td>
|
|
|
+ <td>boolean</td>
|
|
|
+ <td>boolean</td>
|
|
|
+ <td>bool</td>
|
|
|
+ <td>bool</td>
|
|
|
+ <td>boolean</td>
|
|
|
+ <td>TrueClass/FalseClass</td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr id="string">
|
|
|
+ <td>string</td>
|
|
|
+ <td>A string must always contain UTF-8 encoded or 7-bit ASCII text.</td>
|
|
|
+ <td>string</td>
|
|
|
+ <td>String</td>
|
|
|
+ <td>str/unicode</td>
|
|
|
+ <td>string</td>
|
|
|
+ <td>string</td>
|
|
|
+ <td>string</td>
|
|
|
+ <td>String (UTF-8)</td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ <tr id="bytes">
|
|
|
+ <td>bytes</td>
|
|
|
+ <td>May contain any arbitrary sequence of bytes.</td>
|
|
|
+ <td>string</td>
|
|
|
+ <td>ByteString</td>
|
|
|
+ <td>str</td>
|
|
|
+ <td>[]byte</td>
|
|
|
+ <td>ByteString</td>
|
|
|
+ <td>string</td>
|
|
|
+ <td>String (ASCII-8BIT)</td>
|
|
|
+ </tr>
|
|
|
+
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </body>
|
|
|
+</html>
|
|
|
+
|