ATProto Browser

ATProto Browser

Experimental browser for the Atmosphere

{
  "id": "place.stream.segment",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "id",
          "signingKey",
          "startTime",
          "creator"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the segment"
          },
          "audio": {
            "type": "array",
            "items": {
              "ref": "#audio",
              "type": "ref"
            }
          },
          "video": {
            "type": "array",
            "items": {
              "ref": "#video",
              "type": "ref"
            }
          },
          "creator": {
            "type": "string",
            "format": "did"
          },
          "duration": {
            "type": "integer",
            "description": "The duration of the segment in nanoseconds"
          },
          "startTime": {
            "type": "string",
            "format": "datetime",
            "description": "When this segment started"
          },
          "signingKey": {
            "type": "string",
            "description": "The DID of the signing key used for this segment"
          }
        }
      },
      "description": "Media file representing a segment of a livestream"
    },
    "audio": {
      "type": "object",
      "required": [
        "codec",
        "rate",
        "channels"
      ],
      "properties": {
        "rate": {
          "type": "integer"
        },
        "codec": {
          "enum": [
            "opus"
          ],
          "type": "string"
        },
        "channels": {
          "type": "integer"
        }
      }
    },
    "video": {
      "type": "object",
      "required": [
        "codec",
        "width",
        "height"
      ],
      "properties": {
        "codec": {
          "enum": [
            "h264"
          ],
          "type": "string"
        },
        "width": {
          "type": "integer"
        },
        "height": {
          "type": "integer"
        },
        "framerate": {
          "ref": "#framerate",
          "type": "ref"
        }
      }
    },
    "framerate": {
      "type": "object",
      "required": [
        "num",
        "den"
      ],
      "properties": {
        "den": {
          "type": "integer"
        },
        "num": {
          "type": "integer"
        }
      }
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}