# place.stream.broadcast.origin

> Record indicating a livestream is published and available for replication at a given address. By convention, the record key is streamer::server

- Kind: record
- Record key: any
- Authority: broadcast.stream.place
- Lexicon: 1
- Published by [stream.place](https://lexicon.garden/identity/did:plc:rbvrr34edl5ddpuwcubjiost), not the NSID's authority

## Links

- [Documentation](https://lexicon.garden/lexicon/did:plc:rbvrr34edl5ddpuwcubjiost/place.stream.broadcast.origin)
- [Schema JSON](https://lexicon.garden/lexicon/did:plc:rbvrr34edl5ddpuwcubjiost/place.stream.broadcast.origin/schema.json)
- [Analytics](https://lexicon.garden/lexicon/did:plc:rbvrr34edl5ddpuwcubjiost/place.stream.broadcast.origin/analytics)

## Record (`place.stream.broadcast.origin`)

Type: record · key any

### Properties

- `broadcaster` (string · did): did of the broadcaster that operates the server syndicating the livestream
- `irohTicket` (string): Iroh ticket that can be used to access the livestream from the server
  - Constraints: maxLength: 2048
- `moqURL` (string · uri): moqt:// URL of the Media over QUIC endpoint serving the livestream's MUXL segments; a certhash query parameter pins the server certificate (SHA-256, hex) when it is self-signed
- `server` (string · did, required): did of the server that's currently rebroadcasting the livestream
- `streamer` (string · did, required): DID of the streamer whose livestream is being published
- `updatedAt` (string · datetime, required): Periodically updated timestamp when this origin last saw a livestream
- `websocketURL` (string · uri): URL of the websocket endpoint for the livestream

## Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Record indicating a livestream is published and available for replication at a given address. By convention, the record key is streamer::server",
      "key": "any",
      "record": {
        "properties": {
          "broadcaster": {
            "description": "did of the broadcaster that operates the server syndicating the livestream",
            "format": "did",
            "type": "string"
          },
          "irohTicket": {
            "description": "Iroh ticket that can be used to access the livestream from the server",
            "maxLength": 2048,
            "type": "string"
          },
          "moqURL": {
            "description": "moqt:// URL of the Media over QUIC endpoint serving the livestream's MUXL segments; a certhash query parameter pins the server certificate (SHA-256, hex) when it is self-signed",
            "format": "uri",
            "type": "string"
          },
          "server": {
            "description": "did of the server that's currently rebroadcasting the livestream",
            "format": "did",
            "type": "string"
          },
          "streamer": {
            "description": "DID of the streamer whose livestream is being published",
            "format": "did",
            "type": "string"
          },
          "updatedAt": {
            "description": "Periodically updated timestamp when this origin last saw a livestream",
            "format": "datetime",
            "type": "string"
          },
          "websocketURL": {
            "description": "URL of the websocket endpoint for the livestream",
            "format": "uri",
            "type": "string"
          }
        },
        "required": [
          "streamer",
          "server",
          "updatedAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "place.stream.broadcast.origin",
  "lexicon": 1
}
```
