top

POST /stream/<name> or PUT /stream/<name>

Broadcast a WebM video/audio file.

Accepted input: valid WebM split into arbitrarily many requests in absolutely
any way. Multiple files can be concatenated into a single stream as long as they
contain exactly the same tracks (i.e. their number, codecs, and dimensions.
Otherwise any connected decoders will error and have to restart. Changing,
for example, bitrate or tags is fine.)

GET /stream/<name>

Receive a published WebM stream. Note that the server makes no attempt
at buffering; if the stream is being broadcast faster than its native framerate,
the client will have to buffer and/or drop frames.

GET /stream/<name> [Upgrade: websocket]

Connect to a JSON-RPC v2.0 node.

Methods of `Chat`:

   * `SetName(string)`: assign a (unique) name to this client. This is required to...
   * `SendMessage(string)`: broadcast a simple text message to all viewers.
   * `RequestHistory()`: ask the server to emit notifications containing the last
     few broadcasted text messages.

TODO Methods of `Stream`.

Notifications:

   * `Chat.AcquiredName(user string)`: upon a successful `SetName`.
     May be emitted automatically at the start of a connection if already logged in.
   * `Chat.Message(user string, text string)`: a broadcasted text message.

GET /<name>

Open a simple HTML5-based player with a stream-local chat.

GET /rec/<name>

View a list of previously recorded streams.

GET /rec/<name>/<id>

Watch a particular recording in the HTML5 player.

GET /user/ POST /user/

>> password-old string, username, displayname, email, password, about optional[string]

POST /user/new

>> username, password, email string

POST /user/login

>> username, password string

POST /user/restore

>> username string OR email string

POST /user/restore?uid=int64&token=string

>> password string

GET /user/logout

POST /user/new-token

Imports 5 package(s) ΒΆ

  1. github.com/powerman/rpc-codec/jsonrpc2
  2. golang.org/x/crypto/bcrypt
  3. github.com/mattn/go-sqlite3
  4. golang.org/x/net/websocket
  5. github.com/gorilla/securecookie